Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}
\n
We suggest trying baseUrl =
\n
\n`}(e)).replace(/{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Y=n(6921);const Z=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!Z.has(e))(e))return!1;Z.add(e);const t=(0,d.u)(c.A,e).flatMap((e=>{return t=e.route.path,Object.entries(Q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?K(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),O(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(i.vd,{children:(0,p.jsx)(o.Kd,{children:(0,p.jsx)(W,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{a.hydrateRoot(e,t,{onRecoverableError:n})}));else{const o=a.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{o.render(t)}))}};O(window.location.pathname).then(l)}},6988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>p});var r=n(6540),a=n(4784);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"gettingstarted","docs":[{"id":"analytics/add-your-own-analytics-account","path":"/docs/analytics/add-your-own-analytics-account","sidebar":"tutorialSidebar"},{"id":"domains/domain-setup","path":"/docs/domains/domain-setup","sidebar":"tutorialSidebar"},{"id":"domains/FAQ/configure-dns-records","path":"/docs/domains/FAQ/configure-dns-records","sidebar":"tutorialSidebar"},{"id":"domains/FAQ/connect-cloud-flare-domain","path":"/docs/domains/FAQ/connect-cloud-flare-domain","sidebar":"tutorialSidebar"},{"id":"domains/FAQ/connect-custom-domain","path":"/docs/domains/FAQ/connect-custom-domain","sidebar":"tutorialSidebar"},{"id":"domains/FAQ/dns-changes-not-instant","path":"/docs/domains/FAQ/dns-changes-not-instant","sidebar":"tutorialSidebar"},{"id":"domains/FAQ/existing-godaddy-domain","path":"/docs/domains/FAQ/existing-godaddy-domain","sidebar":"tutorialSidebar"},{"id":"domains/FAQ/google-cloud-armor","path":"/docs/domains/FAQ/google-cloud-armor","sidebar":"tutorialSidebar"},{"id":"domains/FAQ/new-godaddy-domain","path":"/docs/domains/FAQ/new-godaddy-domain","sidebar":"tutorialSidebar"},{"id":"domains/FAQ/what-are-dns-records","path":"/docs/domains/FAQ/what-are-dns-records","sidebar":"tutorialSidebar"},{"id":"gettingstarted","path":"/docs/gettingstarted","sidebar":"tutorialSidebar"},{"id":"plugins/blacklisted-and-redundant","path":"/docs/plugins/blacklisted-and-redundant","sidebar":"tutorialSidebar"},{"id":"plugins/divi-builder/edit-your-site-with-divi-builder","path":"/docs/plugins/divi-builder/edit-your-site-with-divi-builder","sidebar":"tutorialSidebar"},{"id":"plugins/divi-builder/troubleshooting","path":"/docs/plugins/divi-builder/troubleshooting","sidebar":"tutorialSidebar"},{"id":"plugins/woocommerce/setup-your-woocommerce-store","path":"/docs/plugins/woocommerce/setup-your-woocommerce-store","sidebar":"tutorialSidebar"},{"id":"user-management/admin-dashboard","path":"/docs/user-management/admin-dashboard","sidebar":"tutorialSidebar"},{"id":"user-management/change-user-roles","path":"/docs/user-management/change-user-roles","sidebar":"tutorialSidebar"},{"id":"user-management/create-new-users","path":"/docs/user-management/create-new-users","sidebar":"tutorialSidebar"},{"id":"user-management/existing-users","path":"/docs/user-management/existing-users","sidebar":"tutorialSidebar"},{"id":"web-chat-widget/web-chat-widget-installation-and-troubleshooting","path":"/docs/web-chat-widget/web-chat-widget-installation-and-troubleshooting","sidebar":"tutorialSidebar"},{"id":"/category/analytics","path":"/docs/category/analytics","sidebar":"tutorialSidebar"},{"id":"/category/domains","path":"/docs/category/domains","sidebar":"tutorialSidebar"},{"id":"/category/user-management","path":"/docs/category/user-management","sidebar":"tutorialSidebar"},{"id":"/category/plugins","path":"/docs/category/plugins","sidebar":"tutorialSidebar"},{"id":"/category/divi-builder","path":"/docs/category/divi-builder","sidebar":"tutorialSidebar"},{"id":"/category/woocommerce","path":"/docs/category/woocommerce","sidebar":"tutorialSidebar"},{"id":"/category/web-chat-widget","path":"/docs/category/web-chat-widget","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/docs/gettingstarted","label":"gettingstarted"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(2654);const s=JSON.parse('{"docusaurusVersion":"3.2.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.2.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.2.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.2.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.2.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.2.1"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"3.2.1"}}}');var c=n(4848);const u={siteConfig:a.default,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},d=r.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},7489:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(6540),a=n(8193),o=n(5260),i=n(440),l=n(9201),s=n(3102),c=n(4848);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,c.jsx)(s.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(p,{children:(0,c.jsxs)(h,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(o.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(l.A,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const m=e=>(0,c.jsx)(f,{...e});class h extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},8193:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(545),a=n(4848);function o(e){return(0,a.jsx)(r.mg,{...e})}},8774:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(6540),a=n(4625),o=n(440),i=n(4586),l=n(6654),s=n(8193),c=n(3427),u=n(6025),d=n(4848);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.A)(),{withBaseUrl:k}=(0,u.h)(),x=(0,c.A)(),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const E=p||f;const C=(0,l.A)(E),A=E?.replace("pathname://","");let T=void 0!==A?(_=A,y&&(e=>e.startsWith("/"))(_)?k(_):_):void 0;var _;T&&C&&(T=(0,o.applyTrailingSlash)(T,{trailingSlash:v,baseUrl:w}));const j=(0,r.useRef)(!1),R=n?a.k2:a.N_,L=s.A.canUseIntersectionObserver,N=(0,r.useRef)(),P=()=>{j.current||null==T||(window.docusaurus.preload(T),j.current=!0)};(0,r.useEffect)((()=>(!L&&C&&null!=T&&window.docusaurus.prefetch(T),()=>{L&&N.current&&N.current.disconnect()})),[N,T,L,C]);const O=T?.startsWith("#")??!1,D=!b.target||"_self"===b.target,F=!T||!C||!D||O;return g||!O&&F||x.collectLink(T),b.id&&x.collectAnchor(b.id),F?(0,d.jsx)("a",{ref:S,href:T,...E&&!C&&{target:"_blank",rel:"noopener noreferrer"},...b}):(0,d.jsx)(R,{...b,onMouseEnter:P,onTouchStart:P,innerRef:e=>{S.current=e,L&&e&&C&&(N.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(N.current.unobserve(e),N.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),N.current.observe(e))},to:T,...n&&{isActive:h,activeClassName:m}})}const f=r.forwardRef(p)},1312:(e,t,n)=>{"use strict";n.d(t,{A:()=>c,T:()=>s});var r=n(6540),a=n(4848);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return o(l({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},7065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},6654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},6025:(e,t,n)=>{"use strict";n.d(t,{A:()=>l,h:()=>i});var r=n(6540),a=n(4586),o=n(6654);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.A)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.z)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},3427:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);n(4848);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},4586:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(6988);function o(){return(0,r.useContext)(a.o)}},2303:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(6125);function o(){return(0,r.useContext)(a.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540);const a=n(8193).A.canUseDOM?r.useLayoutEffect:r.useEffect},6921:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const l=a?`${a}.${o}`:o;r(i)?e(i,l):t[l]=i}))}(e),t}},3102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(6540),a=n(4848);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:l,children:t})}},4070:(e,t,n)=>{"use strict";n.d(t,{zK:()=>y,vT:()=>f,gk:()=>m,Gy:()=>d,HW:()=>b,ht:()=>p,r7:()=>g,jh:()=>h});var r=n(6347),a=n(4586),o=n(7065);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}function c(e,t){const n=s(e,t),a=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},d=()=>i("docusaurus-plugin-content-docs")??u,p=e=>{try{return function(e,t,n){void 0===t&&(t=o.W),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function f(e){void 0===e&&(e={});const t=d(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function m(e){void 0===e&&(e={});const t=f(e),{pathname:n}=(0,r.zy)();if(!t)return;return{activePlugin:t,activeVersion:s(t.pluginData,n)}}function h(e){return p(e).versions}function g(e){const t=p(e);return l(t)}function y(e){const t=p(e),{pathname:n}=(0,r.zy)();return c(t,n)}function b(e){const t=p(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=l(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},6294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(5947),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},6134:(e,t,n)=>{"use strict";n.r(t);var r=n(1765),a=n(4784);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(9700),n(8692)(`./prism-${e}`)})),delete globalThis.Prism}(r.My)},1107:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(6540);var r=n(4164),a=n(1312),o=n(6342),i=n(8774),l=n(3427);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(4848);function u(e){let{as:t,id:n,...u}=e;const d=(0,l.A)(),{navbar:{hideOnScroll:p}}=(0,o.p)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const f=(0,a.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.A)("anchor",p?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},3186:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(4848);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},9201:(e,t,n)=>{"use strict";n.d(t,{A:()=>Pt});var r=n(6540),a=n(4164),o=n(7489),i=n(9024),l=n(6347),s=n(1312),c=n(5062),u=n(4848);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var g=n(7559),y=n(4090);const b={skipToContent:"skipToContent_fXgn"};function v(){return(0,u.jsx)(h,{className:b.skipToContent})}var w=n(6342),k=n(5041);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:a,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.A)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const C={content:"content_knG7"};function A(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,a.A)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function _(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.Mj)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,u.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,u.jsx)("div",{className:T.announcementBarPlaceholder}),(0,u.jsx)(A,{className:T.announcementBarContent}),o&&(0,u.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var j=n(2069),R=n(3104);var L=n(9532),N=n(5600);const P=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,j.M)(),t=(0,N.YL)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,L.ZC)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,u.jsx)(P.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function F(){const e=(0,r.useContext)(P);if(!e)throw new L.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,N.YL)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:D(o)})),[a,o,t])}function I(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=F();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,a.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(5293),z=n(2303);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.A)(),l=(0,s.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,a.A)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,a.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,u.jsx)(B,{className:(0,a.A)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,a.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(q),G={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.G)();return r?null:(0,u.jsx)(H,{className:t,buttonClassName:"dark"===n?G.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var W=n(3465);function Q(){return(0,u.jsx)(W.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,j.M)();return(0,u.jsx)("button",{type:"button","aria-label":(0,s.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(Q,{}),(0,u.jsx)(V,{className:"margin-right--md"}),(0,u.jsx)(K,{})]})}var Z=n(8774),X=n(6025),J=n(6654),ee=n(1252),te=n(3186);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...c}=e;const d=(0,X.A)(r),p=(0,X.A)(t),f=(0,X.A)(a,{forcePrependBaseUrl:!0}),m=o&&a&&!(0,J.A)(a),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[o,m&&(0,u.jsx)(te.A,{...l&&{width:12,height:12}})]})};return a?(0,u.jsx)(Z.A,{href:s?f:a,...c,...h}):(0,u.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,ee.G)(n,t.pathname):t.pathname.startsWith(p)},...c,...h})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,u.jsx)(ne,{className:(0,a.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,a.A)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,u.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(1422),le=n(9169),se=n(4586);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ue(e,t){return e.some((e=>function(e,t){return!!(0,le.ys)(e.to,t)||!!(0,ee.G)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const s=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,u.jsxs)("div",{ref:s,className:(0,a.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:l.to?void 0:"#",className:(0,a.A)("navbar__link",o),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:l.children??l.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ge,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:o,onClick:i,...s}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,se.A)(),{pathname:t}=(0,l.zy)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[c,d,m]),(0,u.jsxs)("li",{className:(0,a.A)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,a.A)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,u.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ge,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,u.jsx)(r,{...n})}var me=n(2131);function he(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ge="iconLanguage_nlXk";var ye=n(961);function be(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var ve=n(9188),we=["translations"];function ke(){return ke=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var Ce="Ctrl";var Ae=r.forwardRef((function(e,t){var n=e.translations,a=void 0===n?{}:n,o=Ee(e,we),i=a.buttonText,l=void 0===i?"Search":i,s=a.buttonAriaLabel,c=void 0===s?"Search":s,u=xe((0,r.useState)(null),2),d=u[0],p=u[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?p("\u2318"):p(Ce))}),[]),r.createElement("button",ke({type:"button",className:"DocSearch DocSearch-Button","aria-label":c},o,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(ve.W,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},l)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==d&&r.createElement(r.Fragment,null,r.createElement(Te,{reactsToKey:d===Ce?Ce:"Meta"},d===Ce?r.createElement(be,null):d),r.createElement(Te,{reactsToKey:"k"},"K"))))}));function Te(e){var t=e.reactsToKey,n=e.children,a=xe((0,r.useState)(!1),2),o=a[0],i=a[1];return(0,r.useEffect)((function(){if(t)return window.addEventListener("keydown",e),window.addEventListener("keyup",n),function(){window.removeEventListener("keydown",e),window.removeEventListener("keyup",n)};function e(e){e.key===t&&i(!0)}function n(e){e.key!==t&&"Meta"!==e.key||i(!1)}}),[t]),r.createElement("kbd",{className:o?"DocSearch-Button-Key DocSearch-Button-Key--pressed":"DocSearch-Button-Key"},n)}var _e=n(5260),je=n(4255),Re=n(1062),Le=n(2967);const Ne={button:{buttonText:(0,s.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,s.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,s.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,s.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,s.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,s.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,s.T)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,s.T)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,s.T)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,s.T)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,s.T)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,s.T)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,s.T)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,s.T)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,s.T)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,s.T)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,s.T)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,s.T)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,s.T)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,s.T)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,s.T)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,s.T)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,s.T)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,s.T)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,s.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,s.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,s.T)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Pe=null;function Oe(e){let{hit:t,children:n}=e;return(0,u.jsx)(Z.A,{to:t.url,children:n})}function De(e){let{state:t,onClose:n}=e;const r=(0,je.w)();return(0,u.jsx)(Z.A,{to:r(t.query),onClick:n,children:(0,u.jsx)(s.A,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function Fe(e){let{contextualSearch:t,externalUrlRegex:a,...o}=e;const{siteMetadata:i}=(0,se.A)(),s=(0,Re.C)(),c=function(){const{locale:e,tags:t}=(0,Le.af)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}(),d=o.searchParameters?.facetFilters??[],p=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(c,d):d,f={...o.searchParameters,facetFilters:p},m=(0,l.W6)(),h=(0,r.useRef)(null),g=(0,r.useRef)(null),[y,b]=(0,r.useState)(!1),[v,w]=(0,r.useState)(void 0),k=(0,r.useCallback)((()=>Pe?Promise.resolve():Promise.all([n.e(462).then(n.bind(n,9462)),Promise.all([n.e(869),n.e(913)]).then(n.bind(n,8913)),Promise.all([n.e(869),n.e(416)]).then(n.bind(n,416))]).then((e=>{let[{DocSearchModal:t}]=e;Pe=t}))),[]),x=(0,r.useCallback)((()=>{k().then((()=>{h.current=document.createElement("div"),document.body.insertBefore(h.current,document.body.firstChild),b(!0)}))}),[k,b]),S=(0,r.useCallback)((()=>{b(!1),h.current?.remove(),g.current?.focus()}),[b]),E=(0,r.useCallback)((e=>{k().then((()=>{b(!0),w(e.key)}))}),[k,b,w]),C=(0,r.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.G)(a,t)?window.location.href=t:m.push(t)}}).current,A=(0,r.useRef)((e=>o.transformItems?o.transformItems(e):e.map((e=>({...e,url:s(e.url)}))))).current,T=(0,r.useMemo)((()=>e=>(0,u.jsx)(De,{...e,onClose:S})),[S]),_=(0,r.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",i.docusaurusVersion),e)),[i.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,a=e.onClose,o=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){var r;(27===e.keyCode&&t||"k"===(null===(r=e.key)||void 0===r?void 0:r.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?a():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&o&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&o(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,a,o,i])}({isOpen:y,onOpen:x,onClose:S,onInput:E,searchButtonRef:g}),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(_e.A,{children:(0,u.jsx)("link",{rel:"preconnect",href:`https://${o.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})}),(0,u.jsx)(Ae,{onTouchStart:k,onFocus:k,onMouseOver:k,onClick:x,ref:g,translations:Ne.button}),y&&Pe&&h.current&&(0,ye.createPortal)((0,u.jsx)(Pe,{onClose:S,initialScrollY:window.scrollY,initialQuery:v,navigator:C,transformItems:A,hitComponent:Oe,transformSearchClient:_,...o.searchPagePath&&{resultsFooterComponent:T},...o,searchParameters:f,placeholder:Ne.placeholder,translations:Ne.modal}),h.current)]})}function Ie(){const{siteConfig:e}=(0,se.A)();return(0,u.jsx)(Fe,{...e.themeConfig.algolia})}const Me={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ze(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,a.A)(n,Me.navbarSearchContainer),children:t})}var Be=n(4070),$e=n(1754);var Ue=n(5597);const qe=e=>e.docs.find((t=>t.id===e.mainDocId));const He={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,se.A)(),p=(0,me.o)(),{search:f,hash:m}=(0,l.zy)(),h=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],g=t?(0,s.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(fe,{...o,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(he,{className:ge}),g]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(ze,{className:n,children:(0,u.jsx)(Ie,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,u.jsx)(i,{className:(0,a.A)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,Be.zK)(r),i=(0,$e.QB)(t,r),l=o?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,u.jsx)(oe,{exact:!0,...a,isActive:()=>l||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,Be.zK)(r),i=(0,$e.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,$e.Vd)(r)[0],i=t??o.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,u.jsx)(oe,{...a,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:c,hash:d}=(0,l.zy)(),p=(0,Be.zK)(n),f=(0,Be.jh)(n),{savePreferredVersionName:m}=(0,Ue.g1)(n),h=[...a,...f.map((e=>{const t=p.alternateDocVersions[e.name]??qe(e);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...o],g=(0,$e.Vd)(n)[0],y=t&&h.length>1?(0,s.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,b=t&&h.length>1?void 0:qe(g).path;return h.length<=1?(0,u.jsx)(oe,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,u.jsx)(fe,{...i,mobile:t,label:y,to:b,items:h,isActive:r?()=>!1:void 0})}};function Ge(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=He[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(a,{...n})}function Ve(){const e=(0,j.M)(),t=(0,w.p)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ge,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function We(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(s.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Qe(){const e=0===(0,w.p)().navbar.items.length,t=F();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(We,{onClick:()=>t.hide()}),t.content]})}function Ke(){const e=(0,j.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(I,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(Ve,{}),secondaryMenu:(0,u.jsx)(Qe,{})}):null}const Ye={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ze(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,a.A)("navbar-sidebar__backdrop",e.className)})}function Xe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.p)(),i=(0,j.M)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,R.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+c{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:l,"aria-label":(0,s.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.A)("navbar","navbar--fixed-top",n&&[Ye.navbarHideable,!d&&Ye.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Ze,{onClick:i.toggle}),(0,u.jsx)(Ke,{})]})}var Je=n(440);const et={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function tt(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(s.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function nt(e){let{error:t}=e;const n=(0,Je.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:et.errorBoundaryError,children:n})}class rt extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const at="right";function ot(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function it(){const{toggle:e,shown:t}=(0,j.M)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,s.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(ot,{})})}const lt={colorModeToggle:"colorModeToggle_DEke"};function st(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(rt,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(Ge,{...e})},t)))})}function ct(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function ut(){const e=(0,j.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??at)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,u.jsx)(ct,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(it,{}),(0,u.jsx)(Q,{}),(0,u.jsx)(st,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(st,{items:r}),(0,u.jsx)(V,{className:lt.colorModeToggle}),!a&&(0,u.jsx)(ze,{children:(0,u.jsx)(Ie,{})})]})})}function dt(){return(0,u.jsx)(Xe,{children:(0,u.jsx)(ut,{})})}function pt(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,l=(0,X.A)(n),s=(0,X.A)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(Z.A,{className:"footer__link-item",...r?{href:o?s:r}:{to:l},...i,children:[a,r&&!(0,J.A)(r)&&(0,u.jsx)(te.A,{})]})}function ft(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(pt,{item:t})},t.href??t.to)}function mt(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(ft,{item:e},t)))})]})}function ht(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(mt,{column:e},t)))})}function gt(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function yt(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(pt,{item:t})}function bt(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(yt,{item:e}),t.length!==n+1&&(0,u.jsx)(gt,{})]},n)))})})}function vt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(ht,{columns:t}):(0,u.jsx)(bt,{links:t})}var wt=n(1122);const kt={footerLogoLink:"footerLogoLink_BH7S"};function xt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.h)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(wt.A,{className:(0,a.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function St(e){let{logo:t}=e;return t.href?(0,u.jsx)(Z.A,{href:t.href,className:kt.footerLogoLink,target:t.target,children:(0,u.jsx)(xt,{logo:t})}):(0,u.jsx)(xt,{logo:t})}function Et(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Ct(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,u.jsx)("footer",{className:(0,a.A)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function At(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,u.jsx)(Ct,{style:a,links:n&&n.length>0&&(0,u.jsx)(vt,{links:n}),logo:r&&(0,u.jsx)(St,{logo:r}),copyright:t&&(0,u.jsx)(Et,{copyright:t})})}const Tt=r.memo(At),_t=(0,L.fM)([M.a,k.oq,R.Tv,Ue.VQ,i.Jx,function(e){let{children:t}=e;return(0,u.jsx)(N.y_,{children:(0,u.jsx)(j.e,{children:(0,u.jsx)(O,{children:t})})})}]);function jt(e){let{children:t}=e;return(0,u.jsx)(_t,{children:t})}var Rt=n(1107);function Lt(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(Rt.A,{as:"h1",className:"hero__title",children:(0,u.jsx)(s.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(tt,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(nt,{error:t})})]})})})}const Nt={mainWrapper:"mainWrapper_z2l0"};function Pt(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.J)(),(0,u.jsxs)(jt,{children:[(0,u.jsx)(i.be,{title:l,description:s}),(0,u.jsx)(v,{}),(0,u.jsx)(_,{}),(0,u.jsx)(dt,{}),(0,u.jsx)("div",{id:d,className:(0,a.A)(g.G.wrapper.main,Nt.mainWrapper,r),children:(0,u.jsx)(o.A,{fallback:e=>(0,u.jsx)(Lt,{...e}),children:t})}),!n&&(0,u.jsx)(Tt,{})]})}},3465:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(6540);var r=n(8774),a=n(6025),o=n(4586),i=n(6342),l=n(1122),s=n(4848);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.A)(t.src),dark:(0,a.A)(t.srcDark||t.src)},i=(0,s.jsx)(l.A,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,o.A)(),{navbar:{title:n,logo:l}}=(0,i.p)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,a.A)(l?.href||"/"),m=n?"":t,h=l?.alt??m;return(0,s.jsxs)(r.A,{to:f,...p,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(c,{logo:l,alt:h,imageClassName:u}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},1463:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(5260),a=n(4848);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.A,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},1122:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(6540),a=n(4164),o=n(2303),i=n(5293);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(4848);function c(e){let{className:t,children:n}=e;const c=(0,o.A)(),{colorMode:u}=(0,i.G)();return(0,s.jsx)(s.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.A)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:o},e)}))})}function u(e){const{sources:t,className:n,alt:r,...a}=e;return(0,s.jsx)(c,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},1422:(e,t,n)=>{"use strict";n.d(t,{N:()=>y,u:()=>c});var r=n(6540),a=n(8193),o=n(205),i=n(3109),l=n(4848);const s="ease-in-out";function c(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return p(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function m(e){if(!a.A.canUseDOM)return e?u:d}function h(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:o}),(0,l.jsx)(t,{ref:u,style:c?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:s,children:a})}function g(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[s,c]=(0,r.useState)(t);return(0,o.A)((()=>{t||i(!0)}),[t]),(0,o.A)((()=>{a&&c(t)}),[a,t]),a?(0,l.jsx)(h,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?g:h;return(0,l.jsx)(r,{...n})}},5041:(e,t,n)=>{"use strict";n.d(t,{Mj:()=>h,oq:()=>m});var r=n(6540),a=n(2303),o=n(9466),i=n(9532),l=n(6342),s=n(4848);const c=(0,o.Wf)("docusaurus.announcement.dismiss"),u=(0,o.Wf)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.p)(),t=(0,a.A)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&p(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},5293:(e,t,n)=>{"use strict";n.d(t,{G:()=>y,a:()=>g});var r=n(6540),a=n(8193),o=n(9532),i=n(9466),l=n(6342),s=n(4848);const c=r.createContext(void 0),u="theme",d=(0,i.Wf)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>a.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{d.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),[a,o]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&h(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[a,i])}();return(0,s.jsx)(c.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(c);if(null==e)throw new o.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},5597:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>y,XK:()=>w,g1:()=>v});var r=n(6540),a=n(4070),o=n(7065),i=n(6342),l=n(1754),s=n(9532),c=n(9466),u=n(4848);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,c.Wf)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.Wf)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.Wf)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function h(){const e=(0,a.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=h();return(0,u.jsx)(m.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.C5?(0,u.jsx)(g,{children:t}):(0,u.jsx)(u.Fragment,{children:t})}function b(){const e=(0,r.useContext)(m);if(!e)throw new s.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.W);const t=(0,a.ht)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function w(){const e=(0,a.Gy)(),[t]=b();function n(n){const r=e[n],{preferredVersionName:a}=t[n];return r.versions.find((e=>e.name===a))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},6588:(e,t,n)=>{"use strict";n.d(t,{V:()=>s,t:()=>c});var r=n(6540),a=n(9532),o=n(4848);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(l.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(l);if(e===i)throw new a.dV("DocsSidebarProvider");return e}},2252:(e,t,n)=>{"use strict";n.d(t,{n:()=>l,r:()=>s});var r=n(6540),a=n(9532),o=n(4848);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new a.dV("DocsVersionProvider");return e}},2069:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var r=n(6540),a=n(5600),o=n(4581),i=n(7485),l=n(6342),s=n(9532),c=n(4848);const u=r.createContext(void 0);function d(){const e=function(){const e=(0,a.YL)(),{items:t}=(0,l.p)().navbar;return 0===t.length&&!e.component}(),t=(0,o.l)(),n=!e&&"mobile"===t,[s,c]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(s)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:s})),[e,n,u,s])}function p(e){let{children:t}=e;const n=d();return(0,c.jsx)(u.Provider,{value:n,children:t})}function f(){const e=r.useContext(u);if(void 0===e)throw new s.dV("NavbarMobileSidebarProvider");return e}},5600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>c,YL:()=>s,y_:()=>l});var r=n(6540),a=n(9532),o=n(4848);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new a.dV("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.dV("NavbarSecondaryMenuContentProvider");const[,l]=o,s=(0,a.Be)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},4090:(e,t,n)=>{"use strict";n.d(t,{w:()=>a,J:()=>o});var r=n(6540);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},4255:(e,t,n)=>{"use strict";n.d(t,{b:()=>l,w:()=>s});var r=n(6540),a=n(4586),o=n(7485);const i="q";function l(){return(0,o.l)(i)}function s(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,a.A)(),{algolia:{searchPagePath:n}}=t;return(0,r.useCallback)((t=>`${e}${n}?${i}=${encodeURIComponent(t)}`),[e,n])}},4581:(e,t,n)=>{"use strict";n.d(t,{l:()=>l});var r=n(6540),a=n(8193);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!a.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},7559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"}}},3109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},1754:(e,t,n)=>{"use strict";n.d(t,{d1:()=>T,Nr:()=>m,w8:()=>b,C5:()=>p,$S:()=>h,cC:()=>f,B5:()=>A,Vd:()=>S,QB:()=>C,fW:()=>E,OF:()=>x,Y:()=>w});var r=n(6540),a=n(6347),o=n(2831),i=n(4070),l=n(5597),s=n(2252),c=n(6588);function u(e){return Array.from(new Set(e))}var d=n(9169);const p=!!i.Gy;function f(e){const t=(0,s.r)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function m(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=m(t);if(e)return e}}(e):void 0:e.href}function h(){const{pathname:e}=(0,a.zy)(),t=(0,c.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=k({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const g=(e,t)=>void 0!==e&&(0,d.ys)(e,t),y=(e,t)=>e.some((e=>b(e,t)));function b(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||y(e.items,t))}function v(e,t){switch(e.type){case"category":return b(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||b(e,t);default:return!0}}function w(e,t){return(0,r.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function k(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.ys)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.ys)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function x(){const e=(0,c.t)(),{pathname:t}=(0,a.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?k({sidebarItems:e.items,pathname:t}):null}function S(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,l.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)((()=>u([t,n,a].filter(Boolean))),[t,n,a])}function E(e,t){const n=S(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function C(e,t){const n=S(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function A(e){let{route:t}=e;const n=(0,a.zy)(),r=(0,s.r)(),i=t.routes,l=i.find((e=>(0,a.B6)(n.pathname,e)));if(!l)return null;const c=l.sidebar,u=c?r.docsSidebars[c]:void 0;return{docElement:(0,o.v)(i),sidebarName:c,sidebarItems:u}}function T(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!m(e)))}},481:(e,t,n)=>{"use strict";n.d(t,{s:()=>a});var r=n(4586);function a(e){const{siteConfig:t}=(0,r.A)(),{title:n,titleDelimiter:a}=t;return e?.trim().length?`${e.trim()} ${a} ${n}`:n}},7485:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>i,l:()=>s});var r=n(6540),a=n(6347),o=n(9532);function i(e){!function(e){const t=(0,a.W6)(),n=(0,o._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function l(e){return function(e){const t=(0,a.W6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function s(e){const t=l(e)??"",n=function(){const e=(0,a.W6)();return(0,r.useCallback)(((t,n,r)=>{const a=new URLSearchParams(e.location.search);n?a.set(t,n):a.delete(t),(r?.push?e.push:e.replace)({search:a.toString()})}),[e])}();return[t,(0,r.useCallback)(((t,r)=>{n(e,t,r)}),[n,e])]}},9024:(e,t,n)=>{"use strict";n.d(t,{e3:()=>f,be:()=>d,Jx:()=>m});var r=n(6540),a=n(4164),o=n(5260),i=n(3102);function l(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(6025),c=n(481),u=n(4848);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const l=(0,c.s)(t),{withBaseUrl:d}=(0,s.h)(),p=a?d(a,{absolute:!0}):void 0;return(0,u.jsxs)(o.A,{children:[t&&(0,u.jsx)("title",{children:l}),t&&(0,u.jsx)("meta",{property:"og:title",content:l}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,u.jsx)("meta",{property:"og:image",content:p}),p&&(0,u.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),l=(0,a.A)(i,t);return(0,u.jsxs)(p.Provider,{value:l,children:[(0,u.jsx)(o.A,{children:(0,u.jsx)("html",{className:l})}),n]})}function m(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,a.A)(r,o),children:t})}},9532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>c,ZC:()=>l,_q:()=>i,dV:()=>s,fM:()=>u});var r=n(6540),a=n(205),o=n(4848);function i(e){const t=(0,r.useRef)(e);return(0,a.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,a.A)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},1252:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{G:()=>r})},9169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>l,ys:()=>i});var r=n(6540),a=n(8328),o=n(4586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.A,baseUrl:e})),[e])}},3104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>c,gk:()=>f});var r=n(6540),a=n(8193),o=n(2303),i=(n(205),n(9532)),l=n(4848);const s=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(s);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>a.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(d()),o=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>i,af:()=>s,tU:()=>l});var r=n(4070),a=n(4586),o=n(5597);const i="default";function l(e,t){return`docs-${e}-${t}`}function s(){const{i18n:e}=(0,a.A)(),t=(0,r.Gy)(),n=(0,r.gk)(),s=(0,o.XK)();const c=[i,...Object.keys(t).map((function(e){const r=n?.activePlugin.pluginId===e?n.activeVersion:void 0,a=s[e],o=t[e].versions.find((e=>e.isLast));return l(e,(r??a??o).name)}))];return{locale:e.currentLocale,tags:c}}},9466:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>s});n(6540);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},2131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(4586),a=n(6347),o=n(440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.A)(),{pathname:s}=(0,a.zy)(),c=(0,o.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),u=l===i?e:e.replace(`/${l}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),a=n(6347),o=n(9532);function i(e){const t=(0,a.zy)(),n=(0,o.ZC)(t),i=(0,o._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(4586);function a(){return(0,r.A)().siteConfig.themeConfig}},8126:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});var r=n(4586);function a(){const{siteConfig:{themeConfig:e}}=(0,r.A)();return e}},1062:(e,t,n)=>{"use strict";n.d(t,{C:()=>l});var r=n(6540),a=n(1252),o=n(6025),i=n(8126);function l(){const{withBaseUrl:e}=(0,o.h)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,i.c)();return(0,r.useCallback)((r=>{const o=new URL(r);if((0,a.G)(t,o.href))return r;const i=`${o.pathname+o.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(i,n))}),[e,t,n])}},2983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=void 0;const r=n(2566);function a(e){return e.endsWith("/")?e:`${e}/`}function o(e){return(0,r.removeSuffix)(e,"/")}t.addTrailingSlash=a,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),l="/"===i||i===r?i:(s=i,n?a(s):o(s));var s;return e.replace(i,l)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=o},253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},440:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(2983);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}}),Object.defineProperty(t,"addTrailingSlash",{enumerable:!0,get:function(){return a.addTrailingSlash}}),Object.defineProperty(t,"addLeadingSlash",{enumerable:!0,get:function(){return a.addLeadingSlash}}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return a.removeTrailingSlash}});var o=n(2566);Object.defineProperty(t,"addPrefix",{enumerable:!0,get:function(){return o.addPrefix}}),Object.defineProperty(t,"removeSuffix",{enumerable:!0,get:function(){return o.removeSuffix}}),Object.defineProperty(t,"addSuffix",{enumerable:!0,get:function(){return o.addSuffix}}),Object.defineProperty(t,"removePrefix",{enumerable:!0,get:function(){return o.removePrefix}});var i=n(253);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},2566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=void 0,t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},1513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>A,yJ:()=>f,sC:()=>_,AO:()=>p});var r=n(8168);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),d++):d&&(o(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(1561);function s(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function f(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.A)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,h(),w.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(4363),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=f(n);a&&a!==m&&e(t,a,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),g=0;g{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,o,i,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},4634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},119:(e,t,n)=>{"use strict";n.r(t)},1043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
Website Pro has a built-in dashboard that displays highlights of your site’s visitor information using Google Analytics. However, we understand that you may want to dig deeper using your own account. That’s why Website Pro provides an easy way to do just that.
+
Note: Plugins meant to support Google Analytics are available, but these often fail to track gather data in the Website Pro environment.
+
+
Sign up for Google Analytics and configure it for your site, or just log in if you’ve already completed that step.
+
+
\ No newline at end of file
diff --git a/docs/domains/FAQ/configure-dns-records/index.html b/docs/domains/FAQ/configure-dns-records/index.html
new file mode 100644
index 0000000..9b914e4
--- /dev/null
+++ b/docs/domains/FAQ/configure-dns-records/index.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+How should I configure my DNS records to connect to Website Pro | Website Pro Help
+
+
+
+
+
How should I configure my DNS records to connect to Website Pro
+
DNS Records are an important and necessary part of of the web. You can learn more about them from the article What are DNS records?
+
To connect your domain to Website Pro, it must have either an A Record, or a CNAME:
+
+
A Records
+
+
If an A Record is required then it should point to 104.154.100.138
+
+
+
CNAME Records
+
+
It is recommended that sites use a CNAME Record pointing to host.websitepro.hosting
+
+
+
+
You should also be aware that CAA Records (if present) can prevent Website Pro from obtaining an SSL/TLS certificate and securely serving traffic:
+
+
You don’t need one at all. If there is no CAA Record then any issuer can provide valid SSL/TLS certificates
+
If you do want to a CAA Record (which is more secure) then you must allow letsencrypt.org to be a certificate authority. Let’s Encrypt is the certificate authority Website Pro uses to generate and renew SSL certificates.
+
+
+
\ No newline at end of file
diff --git a/docs/domains/FAQ/connect-cloud-flare-domain/index.html b/docs/domains/FAQ/connect-cloud-flare-domain/index.html
new file mode 100644
index 0000000..2b4c28e
--- /dev/null
+++ b/docs/domains/FAQ/connect-cloud-flare-domain/index.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+How to connect a CloudFlare Managed Domain | Website Pro Help
+
+
+
+
+
Cloudflare is a very popular and useful service at both paid and free subscription levels. Some businesses or agencies use it as a Content Delivery Network (CDN) to cache static files and get their site loading faster, others just prefer to have a single nameserver to manage their Domain Name System (DNS) configurations.
+
Because of some of it’s features there are some steps you’ll have to follow to add any Cloudflare managed domain to your site in Website Pro:
+
+
Ensure your DNS Records (relevant A and CNAME records) are configured as explained here.
+
In the “Crypto” tab of Cloudflare change the “SSL” to Full
+
In the “Crypto” tab of Cloudflare change “Always use HTTPS” to Off
+
In Website Pro, add the domain(s) in the Domains tab. Note: There might be some propagation delay for those records. See the DNS Record Caching article for more information about that.
+
In the “Crypto” tab of Cloudflare change “Always use HTTPS” to On, when the status of the domain(s) is “connected” in Website Pro**.**
+
+
Note: Unfortunately CloudFlare has some technical limitations if you are using a four level domain (like “www**.your.business.**com“) that can be solved in one of two ways:
+
+
Turn off the DNS and HTTP Proxy mode for that domain, or
+
Purchase additional SSL Certificates for CloudFlare under the “Crypto” tab under the “Edge Certificates > Order SSL Certificate” section.
+
+
+
\ No newline at end of file
diff --git a/docs/domains/FAQ/connect-custom-domain/index.html b/docs/domains/FAQ/connect-custom-domain/index.html
new file mode 100644
index 0000000..69dbfad
--- /dev/null
+++ b/docs/domains/FAQ/connect-custom-domain/index.html
@@ -0,0 +1,43 @@
+
+
+
+
+
+How to connect a custom domain | Website Pro Help
+
+
+
+
+
Log into Website Pro and navigate to the Domains tab
+
Click Connect a Domain
+
Enter the domain name you purchased. Click Add Domain.
+
Website Pro will mark the new domain as Pending while it verifies that the DNS records are correct. Once the DNS records have been verified (Website Pro checks for this automatically), your domain will show as Connected.
+
You will receive an email and see a notification in the RecentActivity stream of Business Center.
+
You can also Delete added domains from this tab.
+
Once it has been connected requests for your new domain will be redirected to the Primary Domain.
+
+
You have the ability to set any of your connected domains to be the Primary Domain.
+
+
On the Domains tab
+
Find the domain in the list, expand the options menu on the right side, then click Make Primary.
+
All of your domains will then redirect to this domain.
Website Pro’s ingress point by default goes through Google Cloud Armor to provide additional security for our traffic. If you are planning on using your own firewall, you will risk a “Too Many Redirects” error if you pass traffic through both your own firewall and Google Cloud Armor. To bypass the safety provided by Google Cloud Armor, you can direct traffic directly to the NGINX web server using the IP below for your A record on your domain.
+
+
\ No newline at end of file
diff --git a/docs/domains/FAQ/dns-changes-not-instant/index.html b/docs/domains/FAQ/dns-changes-not-instant/index.html
new file mode 100644
index 0000000..f90f173
--- /dev/null
+++ b/docs/domains/FAQ/dns-changes-not-instant/index.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+Why are DNS Record changes not instant | Website Pro Help
+
+
+
+
+
Domain Name System (DNS) records are used by the infrastructure of the internet to send data through the correct paths i.e. data from your website to the customer on a website.
+
So why when DNS Records are changed, do they not update instantly?
+
This is because the DNS uses caching. It would slow down the internet extremely if every request involved asking a NameServer for the records, so they are cached by Internet Service Providers (ISP).
+
No one can control exactly how this caching affects you because caching is left up to the ISP, not your DNS Provider. But there are 2 ways you can influence it:
+
+
Set the Time To Live (TTL)
+
+
DNS records have a way to configure the TTL (the length of time to cache the records)
+
Typically this is set to something between 5 minutes and an hour
+
It still depends on the ISP properly obeying this value (which hopefully they do)
+
Most DNS Providers (Cloudflare or Name.com or whoever) will let you set the TTL
+
+
+
Manually flush the cache
+
+
Google provides a way to manually flush their DNS records cache one domain at a time
+
Sometimes flushing the cache fails, but sometimes it works immediately. It’s unclear why Google’s flush-cache feature fails in some cases.
+
+
\ No newline at end of file
diff --git a/docs/domains/FAQ/existing-godaddy-domain/index.html b/docs/domains/FAQ/existing-godaddy-domain/index.html
new file mode 100644
index 0000000..fa3292b
--- /dev/null
+++ b/docs/domains/FAQ/existing-godaddy-domain/index.html
@@ -0,0 +1,49 @@
+
+
+
+
+
+How to point your GoDaddy domain from your old host to Website Pro | Website Pro Help
+
+
+
+
+
How to point your GoDaddy domain from your old host to Website Pro
+
If your domain is currently pointing to a site on another host, then these instructions should allow you to point your domain to your Website Pro site, with zero downtime. These less specific Domain Transfer Instructions might be more helpful if your DNS records are not managed in GoDaddy. Follow these new domain connection instructions if you are not transfering your domain from a previous host.
Log into Website Pro and navigate to the Domains tab
+
Click Connect a Domain
+
Enter the domain name you purchased. Click Add Domain.
+
Your domain will show up in the table and it will be marked p****ending while Website Pro gets ready to handle requests on that domain. This should take a minute.
+
When it can handle requests on that domain it will appear disconnected because Website Pro can detect that your DNS records have not been updated. Once you followed the steps in Part 2 it should become connected.
+
+
Your SSL Certificate will also be pending at this point. Once the domain is connected it takes several more minutes to obtain an SSL Certificate.
+
+
+
Expand Advanced Settings and disable Redirect to HTTPS temporarily (Part 3 will enable it again). It is very important to re-enable this setting because serving traffic on HTTPS is much safer and it improves your site’s ranking in Search Engines.
+
Click Make Primary on the domain that you want all your visitors to be redirected to from the alternate domains.
Select your domain name from the list to access the Domain Settings page
+
Scroll down to Additional Settings and select Manage DNS
+
+
On the DNS Management page, find the Records section
+
Click the pencil icon at the right side of the row with the Name “@”, make sure it is an “A” record, and change the value to be 104.154.100.138
+
If you have a www record click the pencil icon at the right side of the row with the Name “www”, make sure it is a “CNAME” record and change the value to be host.websiteprohosting.com
+
Click Save to complete the process
+
To encourage the DNS system on the internet to update quickly you can flush Google’s DNS cache using their Google Public DNS Flush Cache tool.
+
Allow up to 24 hours for all changes to take full effect. During this time your old host may still be serving your site’s traffic. You can check on the status of your DNS Settings using tools like MxToolbox DNS Lookup or viewing the Domains tab in Website Pro.
+
+
Part 3: Finalizing your Website Pro Configuration
+
It is very important to re-enable this setting because serving traffic on HTTPS is much safer and it improves your site’s ranking in Search Engines.
+
+
Log into Website Pro and navigate to the Domains tab
When a website is compromised, it is no longer serving the intended information to visitors at best, and sending stolen information about users at worst. Because of this, it is very important to do what we can to ensure that the websites that we host are safe and secure.
Google Cloud Armor is now available for websites to route their traffic through. Google Cloud Armor is a firewall that sits in front of our websites that helps detect and block malicious traffic. Some of the attacks that will be blocked include:
+
+
Direct Denial of Service (DDoS) Attacks
+
SQL Injections
+
Brute force attacks on login forms ran by bots
+
+
Instructions:
+
+
Log into the website that you have purchased your domain from
+
For each domain purchased, update the A record to the below IP
+
+
34.149.86.124
+
+
+
+
Additional information about how to configure your domain can be found here.
+
+
\ No newline at end of file
diff --git a/docs/domains/FAQ/new-godaddy-domain/index.html b/docs/domains/FAQ/new-godaddy-domain/index.html
new file mode 100644
index 0000000..b88cd53
--- /dev/null
+++ b/docs/domains/FAQ/new-godaddy-domain/index.html
@@ -0,0 +1,42 @@
+
+
+
+
+
+How to point a New GoDaddy domain to Website Pro | Website Pro Help
+
+
+
+
+
If you recently purchased the domain (or just have never pointed your domain to a site), then these instructions should allow you to point your domain to your Website Pro site. These less specific Domain connection Instructions might be more helpful if your DNS records are not managed in GoDaddy. Follow these transfer domain instructions if you are transfering your domain from a previous host.
Select your domain name from the list to access the Domain Settings page
+
Scroll down to Additional Settings and select **Manage DNS
+**
+
On the DNS Management page, find the Records section (shown below)
+
For your bare domain (like “example.com”) which has a “Name” of “@”, create an “A” record and the value should be 104.154.100.138
+
For a subdomain (like “www.example.com”) which has a “Name” of “www“, create a “CNAME” record and the value should be host.websiteprohosting.com
+
Click Save to complete the process
+
To encourage the DNS system on the internet to update quickly you can flush Google’s DNS cache using their Google Public DNS Flush Cache tool.
+
Allow up to 24 hours for all changes to take full effect. During this time your old host may still be serving your site’s traffic. You can check on the status of your DNS Settings using tools like MxToolbox DNS Lookup or viewing the Domains tab in Website Pro.
Log into Website Pro and navigate to the Domains tab
+
Click Connect a Domain
+
Enter the domain name you purchased. Click Add Domain.
+
Your domain will show up in the table and it will be marked p****ending while Website Pro gets ready to handle requests on that domain. This should take a minute.
+
When it can handle requests on that domain it might appear disconnected because Website Pro cannot detect the correct DNS records yet. Once your DNS Records have completely propagated through the DNS system it should appear connected.
+
+
It is also normal for your SSL Certificate to be pending at this point. It may take several minutes to obtain an SSL Certificate. If you can’t wait for the SSL Certificate you can expand Advanced Settings and disable Redirect to HTTPS temporarily. It is very important to re-enable this setting because serving traffic on HTTPS is much safer and it improves your site’s ranking in Search Engines.
+
+
+
Click Make Primary on the domain that you want all your visitors to be redirected to.
+
If you disabled Redirect to HTTPS temporarily in step 5 you should check this Domains tab frequently until the SSL Certificate is marked secure. As soon as you can you should enable Redirect to HTTPS.
+
+
\ No newline at end of file
diff --git a/docs/domains/FAQ/what-are-dns-records/index.html b/docs/domains/FAQ/what-are-dns-records/index.html
new file mode 100644
index 0000000..332adeb
--- /dev/null
+++ b/docs/domains/FAQ/what-are-dns-records/index.html
@@ -0,0 +1,63 @@
+
+
+
+
+
+What are DNS records | Website Pro Help
+
+
+
+
+
The Domain Name System [DNS] refers to a collection of standards and internet infrastructure that allows a client (like Chrome, Safari, or Edge running on your laptop). They allow us to use an easy-to-remember domain name to represent a server address.
+
It’s like being able to ask a Taxi Driver to take you to “the mall” instead of giving the exact street address. The Taxi Driver can look up a listing for the mall and find the address and directions.
+
DNS records act like listings for website addresses. They are set up on NameServers, whose purpose is to answer questions about domain names. Like “where do I find mybusiness.com?”
+
The standards are detailed and in general, require a lot of explanation. Website Pro only concerns itself with 3 kinds of records:
+
+
+
A Records
+
+
The “A” stands for “Address Record”
+
These are records that point from a domain name to a specific Internet Protocol [IP] address
+
In general, an A Record says
+
+
“if you’re looking for mybusiness.com you should be able to find it at the address 216.239.38.21”
+
+
+
+
+
+
CNAME Records
+
+
This stands for “Canonical Name Record” (in this caseCanonical means “the rule that must be followed” and CNAME Records override some other records)
+
These are records that point from a domain name to another domain name
+
For instance, if you set a CNAME Record for “mybusiness.com” then it will trump records set for subdomains like “www.mybusiness.com” or “smpt.mybusiness.com”. If these are configured incorrectly it can cause problems.
+
In general, a CNAME Record says
+
+
“if you’re looking for www.mybusiness.com you should be able to find it at mybusiness.com”
+
+
+
+
+
+
CAA Records
+
+
This stands for “Certificate Authority Authorization”
+
A Certificate Authority is an organization that can give out the SSL/TLS Certificates
+
+
Those certificates prove “I’m the website I claim to be”
+
They are also used to make your communication with that website private
+
This is what allows the giving you the “s” in “https://…”
+
+
+
The CAA Record says:
+
+
“If you are one of these authorities then you are allowed to make SSL/TLS certificates for this domain”
+
+
+
If there is no CAA Record (or the record is empty) then anyone is allowed to generate certificates for that domain. This is the most common case.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/domains/domain-setup/index.html b/docs/domains/domain-setup/index.html
new file mode 100644
index 0000000..54731d1
--- /dev/null
+++ b/docs/domains/domain-setup/index.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+Domain Setup | Website Pro Help
+
+
+
+
+
To set up your domain for Website Pro, there are two records you’ll need to change.
+
A record: Allows you to point your root domain to your website
+
CNAME record: Allows pointing a subdomain to your website, such as www.
+
To set up your A record, log in to your domain registrar and access your domain settings. From there, choose to add an A record. For this new record, add the following information:
+
HOST: This should be either blank or @ (depending on your provider)
+Points to: 34.149.86.124
+TTL: 3600 seconds (1 hour)
+
To set up your CNAME record, log in to your domain registrar and access your domain settings. From there, choose to add a CNAME record and enter the following information:
+
HOST: This should be the subdomain you want to use (usually www)
+Points to: host.websiteprohosting.com
+TTL: 3600 seconds (1 hour)
+
Once the above records are set up, you will need to validate them in Website Pro. Open Website Pro for the applicable account, navigate to the Domains tab, and select “Connect Domain.” In the dialog, add the root domain you want to connect. If applicable, check the box to add the www. address.
+
From here, Website Pro will regularly check to ensure those records are in place. Until it finds the records you created, your added domains will be marked as Pending. You can check to see if your domains are propagating by looking them up on MxToolbox:
+
A record: Enter your root domain: https://mxtoolbox.com/DNSLookup.aspx The A record that is returned should include an IP address of 34.149.86.124
What is the base requirement: To link your domain to Website Pro you must use at least one A record or CNAME record. We recommend that you hook up both the A record and the CNAME record when setting up your new domain.
Do I need to do anything to setup SSL: All Website Pro sites are automatically provisioned a Let’s Encrypt SSL certificate, so you would not need to follow any extra steps to set this up
How do I set the preferred URL: This can be done from the domains tab of Website Pro. Select the kabob menu next to the domain you want to use, then select Make Primary. This will make it so that when the site is accessed from any of it’s connected domains, the user is redirected to your primary one.
+
+
\ No newline at end of file
diff --git a/docs/gettingstarted/index.html b/docs/gettingstarted/index.html
new file mode 100644
index 0000000..cceb795
--- /dev/null
+++ b/docs/gettingstarted/index.html
@@ -0,0 +1,57 @@
+
+
+
+
+
+Getting Started | Website Pro Help
+
+
+
+
+
Welcome to your quick start guide for setting up your website! Whether you’re looking to build a new site from scratch or import an existing site, follow these step-by-step instructions to get your website up and running smoothly.
+
All of these templates come installed with WooCommerce and Divi Builder.
Pick a starting point: Explore the variety of templates offered. These templates are tailored to various business needs and aesthetics. Take your time to browse through the gallery to find one that aligns with your vision.
+
+
+
Choose a domain: After initiating your website setup, you will need to define some key elements that identify your website:
+
+
+
+
+
Site Name: This is the name that appears at the top of your browser window or tab and is often the same as your business name. Choose a name that reflects your business and is easily recognizable.
+
+
+
Business Tagline: A tagline is a short phrase or sentence that summarizes your business's mission or the services you offer. It helps visitors understand what your business does at a glance.
+
+
+
Domain: While you will be provided with a default domain hosted at websitepro.hosting, you have the option to customize your domain. A custom domain looks more professional and is easier for customers to remember. If you decide to use a custom domain, you'll need to register it through a domain registrar or check if it can be managed directly through your website platform.
+
+
+
+
Launch your site: Your site will be setup and when complete you will be directed to the admin dashboard.
To import a website, you first need to create a placeholder website. Once the site is created, select 'Import' from the side navigation menu and follow these steps:
+
+
+
We recommend you upgrade the WordPress core, all plugins, and all themes before importing. Older versions of some plugins are incompatible with PHP 7 and might prevent your site from working properly in the new environment.
Use the All-in-One WP Migration plugin to export your old site. This plugin will export your entire WordPress site, including the database, media, plugins, and themes.
+
+
+
All-in-One WP Migration > Export > Export To > File > Save File
+
+
Use the All-in-One WP Migration plugin to import on your new site.
+
+
All-in-One WP Migration > Import > Import From > File > Select file exported from old site
+
+
\ No newline at end of file
diff --git a/docs/plugins/blacklisted-and-redundant/index.html b/docs/plugins/blacklisted-and-redundant/index.html
new file mode 100644
index 0000000..b6a108a
--- /dev/null
+++ b/docs/plugins/blacklisted-and-redundant/index.html
@@ -0,0 +1,107 @@
+
+
+
+
+
+Blacklisted and Redundant Plugins | Website Pro Help
+
+
+
+
+
Today, there are thousands of plugins available for WordPress sites and most of them will work with Website Pro seamlessly. In fact, Website Pro does not prevent users from installing any plugins. However, some plugins have functionality that interferes with the operation of your site in the Website Pro ecosystem. Such plugins could not jive for a couple of reasons. Though most often, it is because they provide duplicate (or the same) functionality that is already provided by Website Pro. These plugins include, but are not limited to:
Website Pro is built to make your sites fast. To help WordPress developers serve content as quickly as possible we have server-side caching already in place.
+
Though plugin based caching features are common and often useful in other hosting platforms, they’re unlikely to improve things in the Website Pro environment. On a cache miss your site will experience the added overhead of populating the plugin’s slower PHP based caching system. In the case of a cache hit the content should be served from Website Pro’s automatic caching layer. The cache hit request will never even make it to your plugin. This leaves your site bloated with cached data that doesn’t get used. In addition, plugin-based caching solutions could cause issues or unexpected behaviour with Website Pro features like backing up and restoring your site.
+
Examples of Plugins that can conflict with our platforms built-in caching structure:
Website Pro has your back with a robust backup and restore system. Website Pro saves a copy of your entire site every day and preserves it in an isolated and incredibly reliable cloud-based file storage system. You can also backup on demand using the Website Pro dashboard or restore it to a previous backup if something goes wrong.
+
With the backup services Website Pro provides, backup plugins are unnecessary and they have several downsides. Poorly configured backup plugins have been known to slow the performance of sites and even render them useless while backing up. Some of them will store the backups in your site itself, bloating the filesystem more every day. Save yourself the headache and leave backing up to us.
One of the most straightforward ways for malicious attackers to gain entry to your WordPress site is through a brute force attack on the Admin Login page. Because of this, it is common practice for WordPress developers to use plugins to move, hide, or otherwise override the Admin Login process.The security of your login page is a necessity. That’s why this functionality is taken care of automatically by Website Pro.
+
Access to your WordPress Admin Dashboard is only available via the Website Pro dashboard. This login is tightly controlled and supports an incredibly convenient “Sign in with Google” workflow.
+
Because of our integration between Website Pro and the WordPress Admin Dashboard any plugin that alters the login should be unnecessary and is unlikely to work as expected. Even worse it might break the login workflow we have in place for you, leaving your Admin Dashboard inaccessible. If you find yourself in this situation it can be remedied using Website Pro’s SFTP and PHP My Admin integrations to disable or remove the plugin.
At Website Pro we provide a reliable email delivery mechanism but we understand that sometimes you want more control over how it’s delivered. Plugins that integrate with third-party email senders (like SendGrid) over HTTP based APIs should work as expected in the Website Pro environment. However, keep in mind the standard wp_mail function has been overridden already to support Website Pro’s email system. Some email plugins will refuse to function if that is the case.
+
To promote compatibility with underlying hosting infrastructures Website Pro does not support plugins that directly attempt to use operating system utilities (like Sendmail) nor any plugin attempting to directly send mail using SMTP. But with email delivery already included and API based solutions available, hopefully, that’s not a problem.
For Website Pro, security is fundamental. We follow WordPress best practices for hosting security and go the extra mile to keep your site safe. We prevent brute force attacks to your site’s login screen (see Login Plugins above) and keep our hosting infrastructure up to date with the latest security patches and configurations.
+
Several security plugins have been found to interfere with caching mechanisms, weigh down your site with a ton of overhead, and interfere with Website Pro’s security systems. We recommend you exercise caution when deciding to add security plugins.
Older versions of Slider Revolution (Revslider) plugin has code that is incompatible with PHP 7. From Version 5.3.0.2 this issue should be rectified, but you might find that older versions that are bundled with themes may not support PHP 7. In the case where you have an incompatible Revslider plugin installed, it may result in a 500 error when accessing the WordPress Admin Dashboard.
+
There are two options to fix the issue:
+
+
Set up an SFTP user and remove the plugin entirely using an SFTP client like FileZilla. You can then install the newest version of the Revslider plugin.
+
Set up an SFTP user and change a line of code within the plugin
+
+
If you decide to try option 2, it requires a single line change. Depending on the version of the plugin you might find it in one of the following files:
+
+
+
revslider/inc_php/framework/base_admin.class.php
+
+
+
revslider/includes/framework/base-admin.class.php
+
+
+
Somewhere around line 21, you’ll find the line:
+
private static $arrMetaBoxes = ”;
+
It must be changed to:
+
private static $arrMetaBoxes = array();
+
Both of these options should allow you to access the WordPress Admin Dashboard again.
There are many plugins that try to create or modify Apache’s configuration files (.htaccess files) and/or NGINX configuration files. Any such changes made to these files by plugins or directly will not be recognized by Website Pro. This is to ensure Website Pro maintains high levels of security and site speed. A site that relies on modifying those files might not function as expected in Website Pro.
+
Examples of Plugins that might not function as expected:
Some plugins attempt to execute commands at the operating system level using the exec command. This command has been disabled in Website Pro to improve security.
+
Example of Plugins that might not function as expected:
The below plugins are blacklisted and cant be installed on the platform
+
+
Akeeba Backup: WebsitePro currently has a site backup solution integrated
+
BackUpWordPress: WebsitePro currently has a site backup solution integrated
+
BackWPup: WebsitePro currently has a site backup solution integrated
+
EWWW Image Optimizer: Plugins like this attempt to execute commands at the operating system level using the exec command. This command has been disabled in Website Pro to improve security.
+
Login LockDown: This functionality is handled by WebsitePro automatically
+
UpdraftPlus: WebsitePro currently has a site backup solution integrated
+
WP Clean Up Optimizer: This creates unreasonably large amounts of data in the database.
+
+
\ No newline at end of file
diff --git a/docs/plugins/divi-builder/edit-your-site-with-divi-builder/index.html b/docs/plugins/divi-builder/edit-your-site-with-divi-builder/index.html
new file mode 100644
index 0000000..84fee02
--- /dev/null
+++ b/docs/plugins/divi-builder/edit-your-site-with-divi-builder/index.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+Edit your site with Divi Builder | Website Pro Help
+
+
+
+
+
Getting your business up and selling is possible with Website Pro. This powerful product allows you to quickly and easily create a website and online store powered by WordPress and WooCommerce. To make the transition to ecommerce seamless, we also have a visual builder, called Divi Builder, within every Website Pro account. This allows you to design and create beautiful websites without having to write a single line of code.
+
Before we jump in, let’s make sure we’re familiar with Divi Builder.
+
+
Divi Builder is a WordPress plugin that allows you to insert, remove, and edit content blocks on the front end of your website. It boasts unlimited layout possibilities, and its fluid content areas are perfect for a responsive design approach. It allows those site owners with little or no design, or development experience, to create beautiful sites, with a simple drag and drop interface.
+
Let’s start editing your website using Divi Builder!
It’s time to customize your site! Let’s start with text elements. Click on the text box you’d like to edit and start making changes.
+
Alternatively, when you hover over an element, a small dark toolbar will appear. Click on the gear icon to pull up a window that provides more options for editing and customization. Click on the window’s green checkmark to save any changes.
+
+
+
+
This same process also works with any buttons on the page. However, as buttons have more options, you’ll need to open the editing modal to further customize it. You can do this by double-clicking the button, or opening it by clicking the gear icon in the same way that you did with the text box.
+
Now it’s time for images! Many templates will have a large picture set as the background or banner across the top of the website. To change the image, simply hover over it (while not interfering with text or other elements) and double-click. An editing modal should pop up. Click on the “Background” section. Your current background image should be showing. Click the garbage can icon to delete the placeholder image and then click “Add image”. You can either drag the image from a file on your computer or click to browse your files.
+
+
+
+
To edit other images on the site, simply double-click the image and replace it with your own.
If there are any elements (text blocks, images, etc.) that you don’t want on your website, simply hover over the element and select the garbage can icon.
+
If you want to add elements to your page, either:
+
+
Hover over the area you’d like to add an element and click the grey “+”,
+
Hover over the element above the spot you’d like your new element to be placed, and look for a green “+”. You may have to actually click on the element above for it to appear.
+
+
+
+
+
+
This will bring up an “add row” selector with different options as to the number of columns in your new element. Perhaps you would like three blocks of text side-by-side? Choose the row with three columns. Maybe a wide picture on the right and a narrow text box on the left? Choose the row that shows the corresponding spacing. Just want something to go straight across your entire page? Simply choose the first option available, the one with a single column.
+
A window will appear with several different element options. Search for the Image option to add a picture, the Text option for adding text, or browse to see what other options are available.
+
+
+
Saving your work and moving on to edit another page
+
+
Once you’re happy with how your website looks, or every so often along the way, you’ll want to save your progress. Look for the purple icon with three dots at the bottom of your page and click it. The icon should multiply and you’ll now have several purple icons. You’ll also have a green “Save” button in the bottom right corner. Click it to save your changes.
+
To edit another page (ex. the Shop page), click “Exit Visual Builder” at the top of your page. Once you’ve done so, you’ll see your page exactly as your customers will see it. Next, navigate to the page you’d like to edit next and then re-enable the visual builder using the button at the top of the screen.
+
+
+
Changing the logo and contact information on your website
+
+
+
To change the logo and contact information in the top bar of the website you will need to navigate to the WordPress Dashboard. Click the name of your business in the top left corner of the screen. Once in your WordPress dashboard, in the left navigation bar click the Divi tab (towards the bottom of the side navigation menu).
+
+
+
You are now on the General Divi Settings tab. The top row is where you are able to change the logo. Click the “Upload” button.
+
+
+
Once you’ve uploaded your logo, scroll all the way to the bottom of the page and click the green “Save changes” button.
+
+
+
Next, we’ll input your business’ contact information. Back in the left navigation. You may notice that the Divi Builder tab has extended to include several sub-headings. Click on “Theme Customizer”.
+
+
+
A new page will load. This is an alternative editor. Click on the “Header and Navigation” section, and then “Header Elements”. The navigation bar should now contain two text bars for you to insert your business’ information.
+
+
+
Click the blue “Publish” button at the top of the page to save your changes to your webpage.
+
+
+
+
Congratulations, you now have the knowledge you need to edit your website!
+
WooCommerce and Divi Builderhave extensive documentation and tutorials on how to set up, edit, manage, and operate your store.
+
+
\ No newline at end of file
diff --git a/docs/plugins/divi-builder/troubleshooting/index.html b/docs/plugins/divi-builder/troubleshooting/index.html
new file mode 100644
index 0000000..169f513
--- /dev/null
+++ b/docs/plugins/divi-builder/troubleshooting/index.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+CSS changes not updating | Website Pro Help
+
+
+
+
+
The Divi theme provides a lot of very powerful features, including a visual editor mode allowing you to drag and drop page elements. Newer versions of Divi generate static CSS files (and possibly other files) by default. This means that while making edits to a site using newer versions of Divi that have the Static CSS File Generation setting turned on, the changes won’t be made live immediately.
To solve this problem, you will need to turn the static file generation off. The following blog on Divi’s site provides a more thorough explanation of this feature:
Enabling this feature after you are done developing or making edits will increase performance because the files can be served statically rather than on request.
+
+
\ No newline at end of file
diff --git a/docs/plugins/woocommerce/setup-your-woocommerce-store/index.html b/docs/plugins/woocommerce/setup-your-woocommerce-store/index.html
new file mode 100644
index 0000000..4cffb57
--- /dev/null
+++ b/docs/plugins/woocommerce/setup-your-woocommerce-store/index.html
@@ -0,0 +1,59 @@
+
+
+
+
+
+Set Up Your WooCommerce Store | Website Pro Help
+
+
+
+
+
From startups and small businesses to huge brands, every business can benefit from an ecommerce website where they sell their products or services. In today’s competitive and convenience focused society, no longer do consumers want to go out to buy items, instead, they want to shop from the comfort of their own homes; making ecommerce a perfect solution for both businesses and buyers.
+
Getting your business up and selling is possible with Website Express/Pro. This powerful product allows you to quickly and easily create a website and online store powered by WordPress and WooCommerce.
+
Before we jump in, let’s make sure we’re familiar with WooCommerce.
+
+
WooCommerce is a plugin that integrates easily with your existing or brand new WordPress site; transforming your website into a fully functional ecommerce website with just a few clicks. WooCommerce provides basic store functionality right out of the box right from your WordPress dashboard. Plus it has hundreds of available extensions that allow you to customize your store however you see fit.
+
Let’s start building your ecommerce store utilizing WooCommerce!
To begin building out your store, you’ll need to navigate to your WordPress dashboard. Once on the WordPress dashboard hover over the WooCommerce tab in the left navigation and click Settings.
+
Once on this page, look to the top right corner. You should see a tab with the heading, “Help” and a downward arrow. Click on it.
+
A new menu should appear. On the left side, you should see four different tabs. Click on the Setup Wizard tab, then the blue Setup Wizard button. Follow all the steps and fill in all forms (as applicable).
Now it’s time to add products to your online store! On the left side navigation bar of WordPress, you should see the “Products” tab. Click it.
+
You will see a couple of placeholder products already in your store. You can either edit one of these, or you can start from scratch.
+
+
To start from scratch, add a new product to the store: click the “Add New” button at the top of the page.
+
To edit a placeholder product, simply double-click the product name and replace the existing content with your own. Scroll down to see the area where you can input the price of your product, inventory numbers, and any attributes.
+
+
+
+
+
+
+
You are able to replace or upload a new product image by clicking “Set Product Image” on the lower right side of the page. If you’d like to add additional images, see below and click “Add Product Gallery Images”.
To set up the ability to take payments, hover over the WooCommerce tab in the left navigation and click “Settings”.
+
Click the “Payments” tab.
+
+
+
There will be a number of options available to you. All are turned off unless you enable them, which you can do by clicking on the toggle under the Enabled column. It should turn purple once activated. After, click the “Setup” button to the right of the option you selected. It will take you to a page directing you to fill out the required information to fully set up the payment method.
+
+
If you would like to use a different payment processor (ex. Stripe), WooCommerce has a variety of additional plugins for this.
+
+
To add an additional payment processor, hover over the Plugin tab on the left navigation bar, then click “Add New”. Find the “Search Plugins” text box and search for “WooCommerce Stripe”, or your preferred payment processor. Once it appears, click “Install Now” and “Activate”. Then return to the payments tab to set it up.
+
+
+
+
+
Congratulations, you now have the knowledge you need to build out your ecommerce store. Happy selling!
+
WooCommerce and Divi Builderhave extensive documentation and tutorials on how to set up, edit, manage, and operate your store.
+
+
\ No newline at end of file
diff --git a/docs/user-management/admin-dashboard/index.html b/docs/user-management/admin-dashboard/index.html
new file mode 100644
index 0000000..768d866
--- /dev/null
+++ b/docs/user-management/admin-dashboard/index.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+How does Website Pro log me in to the WordPress Dashboard? | Website Pro Help
+
+
+
+
+
How does Website Pro log me in to the WordPress Dashboard?
+
Website Pro provides a secure login to the WordPress Admin Dashboard (simply by clicking on the “WordPress Dashboard” button on the Overview page) to make your site safer and easier to use.
+
Our custom WordPress integration intercepts all attempts to access your WordPress Dashboard and directs unauthenticated traffic to your homepage or our custom login page. This helps us secure your site from password attacks and provide access to your site with more control. It will also allow you to unify your user management and access control for Website Pro and other software solutions.
+
When a valid user in the Website Pro platform clicks on the “WordPress Dashboard” button the login mechanisms of WordPress will create a new WordPress user to match.
+
Plugins that attempt to intercept traffic that is normally used for login or WordPress Dashboard are not recommended. There is a high probability that they will interfere with Website Pro’s login mechanisms. Some plugins, like Rename wp-login.php, introduce errors or render the WordPress Dashboard inaccessible. These plugins should not be installed and they should be disabled prior to importing your site. If you’re unable to access the WordPress dashboard due to a plugin that has taken over the login process, you can still access the file system directly by connecting through SFTP. This will allow you to remove the problem plugin and access the WordPress dashboard again.
+
Website Pro’s login system is designed to provide an added layer of security and usability for your WordPress site.
+
+
\ No newline at end of file
diff --git a/docs/user-management/change-user-roles/index.html b/docs/user-management/change-user-roles/index.html
new file mode 100644
index 0000000..f7b62fa
--- /dev/null
+++ b/docs/user-management/change-user-roles/index.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+How to change WordPress user roles | Website Pro Help
+
+
+
+
+
**Create User in Business Center–then change role
+**Once you have created a Business Center user, log in to WordPress as that user. Once you are in the WordPress dashboard, go to:
Create User in WordPress (with matching email as Business Center user)–then change role
+Create a WordPress user within WordPress with the same email you will use for the Business Center user. Change the user role of that user in WordPress, go to:
+
+
Users > Role
+
Note: emails must be the same. For example, if Bob is a WordPress user with the email robert@email.com, the Business Center user that gets created for Bob must use robert@email.com and not bob@email.com. If you create a Business Center user for Bob with the email bob@email.com, a new WordPress user will be created for Bob with bob@email.com and Bob will now have two WordPress users.
+
+
\ No newline at end of file
diff --git a/docs/user-management/create-new-users/index.html b/docs/user-management/create-new-users/index.html
new file mode 100644
index 0000000..c944531
--- /dev/null
+++ b/docs/user-management/create-new-users/index.html
@@ -0,0 +1,15 @@
+
+
+
+
+
+How to create new WordPress users with Website Pro | Website Pro Help
+
+
+
+
+
How to create new WordPress users with Website Pro
+
To create WordPress users using Website Pro, you must create a Business Center user and a WordPress user will get automatically created. Users are identified by email address. The Business Center email used will be the one associated with their WordPress login. All users created in Business Center will be assigned the Administrator role in WordPress by default. If you have existing WordPress users, they will need Business Center users created the same emails to be able to log in.
+
Example: You want to give Bob access to your WordPress website. You create him a Business Center user with the email bob@email.com. When he goes to the WordPress dashboard via Website Pro, he will be logged in as an Administrator as the user bob@email.com.
+
+
\ No newline at end of file
diff --git a/docs/user-management/existing-users/index.html b/docs/user-management/existing-users/index.html
new file mode 100644
index 0000000..f2ecb40
--- /dev/null
+++ b/docs/user-management/existing-users/index.html
@@ -0,0 +1,21 @@
+
+
+
+
+
+How to give existing WordPress users logins after import | Website Pro Help
+
+
+
+
+
How to give existing WordPress users logins after import
+
When you import an existing site into Website Pro, your WordPress users will not initially be able to log in. To maintain your users’ ability to log in, you have two options.
Simply delete all existing WordPress users and create Business Center users for each person who you would like to access the site. The first time they go to the WordPress Dashboard, a WordPress users with Administrator access will be created using their email.
Create a Business Center user for each of your existing WordPress users. Existing WordPress users will need a Business Center user created with the same email to be able to log in.
+
+
Note: Emails must be the same. For example, if Bob is a WordPress user with the email robert@email.com, the Business Center user that gets created for Bob must use robert@email.com and not bob@email.com. If you create a Business Center user for Bob with the email bob@email.com, a new WordPress user will be created for Bob with bob@email.com and Bob will now have two WordPress users.
+
+
\ No newline at end of file
diff --git a/docs/web-chat-widget/web-chat-widget-installation-and-troubleshooting/index.html b/docs/web-chat-widget/web-chat-widget-installation-and-troubleshooting/index.html
new file mode 100644
index 0000000..34bc7a2
--- /dev/null
+++ b/docs/web-chat-widget/web-chat-widget-installation-and-troubleshooting/index.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+Inbox Pro web chat widget installation and troubleshooting | Website Pro Help
+
+
+
+
+
Inbox Pro web chat widget installation and troubleshooting
+
With AI-assisted web chat, businesses can capture more leads from their website. An AI assistant will chat live with a website visitor, capture their contact information so a business can follow up later via SMS or email, and turn them into a customer. AI-assisted web chat is a feature of Inbox Pro product. Contact your sales rep today to have the widget activated for your website.
+
Once installed on a business website, the chat widget will appear to website visitors and encourage them to chat, with the goal of capturing a lead for the business.
+
+
Conversations will appear in Inbox where a business person can respond to the lead via SMS, and try to turn them into a customer. (SMS available for US and Canada-based businesses)
+
AI Assistant with no knowledge about the business
+
By default, the AI assistant “just works” with the goal of capturing lead contact info, even without any context or knowledge about the business website it has been installed on – it will engage with a website visitor, recording their question and needs, attempt to get their name and contact info (mobile number, with a fallback to email address) and alert the business that they have a new lead.
The AI assistant can be given basic knowledge about a business from your business profile, to be able to answer questions about what the business does, where it’s located, its hours, and how to contact them. This can be enabled or disabled.
+
These fields are shared with the AI from the account’s business profile:
When your AI assistant is successful in capturing a name and contact info, a few things will happen automatically:
+
+
A new contact is added to the CRM, with the captured info: First name, last name, phone number, and email address.
+
+
If a user updates their contact info in the AI-assisted web chat (like for example, if they make a mistake), the latest contact info will be updated on the contact automatically.
+
+
+
A “New lead” email notification is sent to users of the account, that have the notification enabled (this notification is enabled by default for Business App users)
Color: It’s possible to customize the color of the chat widget, to match the website it’s installed on.
+
AI knowledge: It’s also possible to give your web chat AI assistant additional context and knowledge about the business it’s representing, be enabling “Allow access to your business profile” in Menu > Settings > Inbox Settings > Web Chat Configuration
+
+
How to install the Inbox Pro Web Chat widget on a website
+
To install your web chat widget on your website: After Inbox Pro is activated, go to Settings > Inbox Settings > Web Chat Configuration – and set up your web chat widget. After configuring, you can copy and paste your install code into the
element of your website, typically just before the closing tag.
+
OPTION 1: To install on a WordPress site using a plugin
+
+
Download the web chat widget installation plugin from Settings > Inbox Settings > Web Chat Configuration > Installation
+
Navigate to your WordPress backend admin, usually at your-website.com/wp-admin
+
Go to Plugins > Add new plugin
+
Upload the zip file containing the plugin you just downloaded.
+
Activate the plugin. Your web chat widget should now appear on every page of your website.
+
+
OPTION 2: To install using widget code on a WordPress site with Divi theme:
+
+
Copy your web chat installation code into your clipboard.
+
Navigate to your WordPress backend admin, usually at your-website.com/wp-admin
+
Go to Divi > Theme Options > Integrations
+
Paste the code into the section titled “Add code to the < head > of your blog.”
+
Save changes. Your web chat widget should now be live on your website, on all pages.
Issue: I cannot type the ‘space’ key, or a certain character into the chat widget
+
Some plugins can interfere with the ability to type in the widget because they “hijack” that key for their own functions.
+
Space key: Divi theme “Smooth scrolling” function can interfere with the ability of your website visitors to type the ‘space’ key with the web chat widget. If you have the Divi theme on a WordPress website, you can disable smooth scrolling by going to Divi > Theme Options and disabling the Smooth Scrolling function. This should restore the space key on your website.
+
WordPress Jetpack plugin can also hijack some of the keys to open and close their own chat functions. Disabling the JetPack plugin will restore the function of these keys as well.
+
Issue: I don’t see the web chat on my site, even though it’s installed in the right place
+
If the Web Chat code is installed on your website and enabled in Inbox Settings, and you cannot see it on your website, the most likely next cause is cache or plugin issues. You can try additional steps on your website to clear cache or any blocking plugins to get the web chat to appear.
Most websites use multiple types of caches that help the site to load faster. You’ll want to reset the caches, to get your latest website changes to appear.
+
+
+
Browser cache – to tell your browser to load the website without using local device cache
+
+
Shift+command+R (Mac)
+
Ctrl + F5 (PC)
+
+
+
+
Website hosting cache – clear the cache that the Website product manages, by clicking the ‘Flush Cache’ button on the Website overview page.
+
+
+
+
Divi CSS cache – Disable the Static CSS File Generation cache in your Divi Theme options > Builder > Advanced
+
+
+
+
Other Cache plugins – Ensure there are no other cache plugins activated on your website; if so, disable them.
When reCAPTCHA is being used on a website form, this badge will appear in the bottom right of a webpage – which could be in the way of the web chat widget.
+
+
\ No newline at end of file
diff --git a/markdown-page/index.html b/markdown-page/index.html
new file mode 100644
index 0000000..a7d7b58
--- /dev/null
+++ b/markdown-page/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+Markdown page example | Website Pro Help
+
+
+
+
+
You don't need React to write simple standalone pages.
+
+
\ No newline at end of file
diff --git a/opensearch.xml b/opensearch.xml
new file mode 100644
index 0000000..9f69eb0
--- /dev/null
+++ b/opensearch.xml
@@ -0,0 +1,11 @@
+
+
+ Website Pro Help
+ Search Website Pro Help
+ UTF-8
+ https://docs.websitepro.hosting/img/favicon.png
+
+
+ https://docs.websitepro.hosting/
+
\ No newline at end of file
diff --git a/search/index.html b/search/index.html
new file mode 100644
index 0000000..ae01146
--- /dev/null
+++ b/search/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+Search the documentation | Website Pro Help
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
new file mode 100644
index 0000000..085e1ec
--- /dev/null
+++ b/sitemap.xml
@@ -0,0 +1 @@
+https://docs.websitepro.hosting/markdown-pageweekly0.5https://docs.websitepro.hosting/searchweekly0.5https://docs.websitepro.hosting/docs/analytics/add-your-own-analytics-accountweekly0.5https://docs.websitepro.hosting/docs/category/analyticsweekly0.5https://docs.websitepro.hosting/docs/category/divi-builderweekly0.5https://docs.websitepro.hosting/docs/category/domainsweekly0.5https://docs.websitepro.hosting/docs/category/pluginsweekly0.5https://docs.websitepro.hosting/docs/category/user-managementweekly0.5https://docs.websitepro.hosting/docs/category/web-chat-widgetweekly0.5https://docs.websitepro.hosting/docs/category/woocommerceweekly0.5https://docs.websitepro.hosting/docs/domains/domain-setupweekly0.5https://docs.websitepro.hosting/docs/domains/FAQ/configure-dns-recordsweekly0.5https://docs.websitepro.hosting/docs/domains/FAQ/connect-cloud-flare-domainweekly0.5https://docs.websitepro.hosting/docs/domains/FAQ/connect-custom-domainweekly0.5https://docs.websitepro.hosting/docs/domains/FAQ/dns-changes-not-instantweekly0.5https://docs.websitepro.hosting/docs/domains/FAQ/existing-godaddy-domainweekly0.5https://docs.websitepro.hosting/docs/domains/FAQ/google-cloud-armorweekly0.5https://docs.websitepro.hosting/docs/domains/FAQ/new-godaddy-domainweekly0.5https://docs.websitepro.hosting/docs/domains/FAQ/what-are-dns-recordsweekly0.5https://docs.websitepro.hosting/docs/gettingstartedweekly0.5https://docs.websitepro.hosting/docs/plugins/blacklisted-and-redundantweekly0.5https://docs.websitepro.hosting/docs/plugins/divi-builder/edit-your-site-with-divi-builderweekly0.5https://docs.websitepro.hosting/docs/plugins/divi-builder/troubleshootingweekly0.5https://docs.websitepro.hosting/docs/plugins/woocommerce/setup-your-woocommerce-storeweekly0.5https://docs.websitepro.hosting/docs/user-management/admin-dashboardweekly0.5https://docs.websitepro.hosting/docs/user-management/change-user-rolesweekly0.5https://docs.websitepro.hosting/docs/user-management/create-new-usersweekly0.5https://docs.websitepro.hosting/docs/user-management/existing-usersweekly0.5https://docs.websitepro.hosting/docs/web-chat-widget/web-chat-widget-installation-and-troubleshootingweekly0.5https://docs.websitepro.hosting/weekly0.5
\ No newline at end of file
diff --git a/video/Adding-Products-to-WooCommerce-Store.mp4 b/video/Adding-Products-to-WooCommerce-Store.mp4
new file mode 100644
index 0000000..3dc20be
Binary files /dev/null and b/video/Adding-Products-to-WooCommerce-Store.mp4 differ
diff --git a/video/Adding-an-additional-payment-processor.mp4 b/video/Adding-an-additional-payment-processor.mp4
new file mode 100644
index 0000000..608ee1c
Binary files /dev/null and b/video/Adding-an-additional-payment-processor.mp4 differ
diff --git a/video/Adding_Deleting-Elements.mp4 b/video/Adding_Deleting-Elements.mp4
new file mode 100644
index 0000000..12878f1
Binary files /dev/null and b/video/Adding_Deleting-Elements.mp4 differ
diff --git a/video/Changing-the-logo.mp4 b/video/Changing-the-logo.mp4
new file mode 100644
index 0000000..6b9a662
Binary files /dev/null and b/video/Changing-the-logo.mp4 differ
diff --git a/video/Editing-text-and-images.mp4 b/video/Editing-text-and-images.mp4
new file mode 100644
index 0000000..d6d1a38
Binary files /dev/null and b/video/Editing-text-and-images.mp4 differ
diff --git a/video/Jumping-into-Divi-Builder.mp4 b/video/Jumping-into-Divi-Builder.mp4
new file mode 100644
index 0000000..a6b8ec0
Binary files /dev/null and b/video/Jumping-into-Divi-Builder.mp4 differ
diff --git a/video/Saving-your-work.mp4 b/video/Saving-your-work.mp4
new file mode 100644
index 0000000..0b8b67f
Binary files /dev/null and b/video/Saving-your-work.mp4 differ
diff --git a/video/Setting-Up-Your-WooCommerce-Store-Step-1.mp4 b/video/Setting-Up-Your-WooCommerce-Store-Step-1.mp4
new file mode 100644
index 0000000..82d21e4
Binary files /dev/null and b/video/Setting-Up-Your-WooCommerce-Store-Step-1.mp4 differ