📄️ Deployment
Deploy TRIP
📄️ Configuration
Configure TRIP
diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 0000000..03de039 --- /dev/null +++ b/docs/404.html @@ -0,0 +1,16 @@ + + +
+ + +We could not find what you were looking for.
Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
["'])(?.*?)\1/,me=/\{(? [\d,-]+)\}/,he={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},fe={...he,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},pe=Object.keys(he);function xe(e,t){const n=e.map(e=>{const{start:n,end:s}=fe[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${s})`}).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function ge({showLineNumbers:e,metastring:t}){return"boolean"==typeof e?e?1:void 0:"number"==typeof e?e:function(e){const t=e?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(t){if(t.startsWith("showLineNumbers=")){const e=t.replace("showLineNumbers=","");return parseInt(e,10)}return 1}}(t)}function be(e,t){const{language:n,magicComments:s}=t;if(void 0===n)return{lineClassNames:{},code:e};const a=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return xe(["js","jsBlock"],t);case"jsx":case"tsx":return xe(["js","jsBlock","jsx"],t);case"html":return xe(["js","jsBlock","html"],t);case"python":case"py":case"bash":return xe(["bash"],t);case"markdown":case"md":return xe(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return xe(["tex"],t);case"lua":case"haskell":return xe(["lua"],t);case"sql":return xe(["lua","jsBlock"],t);case"wasm":return xe(["wasm"],t);case"vb":case"vba":case"visual-basic":return xe(["vb","rem"],t);case"vbnet":return xe(["vbnet","rem"],t);case"batch":return xe(["rem"],t);case"basic":return xe(["rem","f90"],t);case"fsharp":return xe(["js","ml"],t);case"ocaml":case"sml":return xe(["ml"],t);case"fortran":return xe(["f90"],t);case"cobol":return xe(["cobol"],t);default:return xe(pe,t)}}(n,s),i=e.split(/\r?\n/),r=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),o=Object.fromEntries(s.filter(e=>e.line).map(({className:e,line:t})=>[t,e])),c=Object.fromEntries(s.filter(e=>e.block).map(({className:e,block:t})=>[t.start,e])),l=Object.fromEntries(s.filter(e=>e.block).map(({className:e,block:t})=>[t.end,e]));for(let u=0;u void 0!==e);o[t]?r[o[t]].range+=`${u},`:c[t]?r[c[t]].start=u:l[t]&&(r[l[t]].range+=`${r[l[t]].start}-${u-1},`),i.splice(u,1)}const d={};return Object.entries(r).forEach(([e,{range:t}])=>{de()(t).forEach(t=>{d[t]??=[],d[t].push(e)})}),{code:i.join("\n"),lineClassNames:d}}function je(e,t){const n=e.replace(/\r?\n$/,"");return function(e,{metastring:t,magicComments:n}){if(t&&me.test(t)){const s=t.match(me).groups.range;if(0===n.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${t}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const a=n[0].className,i=de()(s).filter(e=>e>0).map(e=>[e-1,[a]]);return{lineClassNames:Object.fromEntries(i),code:e}}return null}(n,{...t})??be(n,{...t})}function ve(e){const t=function(e){return t=e.language??function(e){if(!e)return;const t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(e.className)??e.defaultLanguage,t?.toLowerCase()??"text";var t}({language:e.language,defaultLanguage:e.defaultLanguage,className:e.className}),{lineClassNames:n,code:s}=je(e.code,{metastring:e.metastring,magicComments:e.magicComments,language:t}),a=function({className:e,language:t}){return(0,u.A)(e,t&&!e?.includes(`language-${t}`)&&`language-${t}`)}({className:e.className,language:t}),i=(r=e.metastring,(r?.match(ue)?.groups.title??"")||e.title);var r;const o=ge({showLineNumbers:e.showLineNumbers,metastring:e.metastring});return{codeInput:e.code,code:s,className:a,language:t,title:i,lineNumbersStart:o,lineClassNames:n}}const Ne=(0,s.createContext)(null);function Ae({metadata:e,wordWrap:t,children:n}){const a=(0,s.useMemo)(()=>({metadata:e,wordWrap:t}),[e,t]);return(0,r.jsx)(Ne.Provider,{value:a,children:n})}function Ce(){const e=(0,s.useContext)(Ne);if(null===e)throw new i.dV("CodeBlockContextProvider");return e}const ye="codeBlockContainer_Ckt0";function Le({as:e,...t}){const n=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach(([e,s])=>{const a=t[e];a&&"string"==typeof s&&(n[a]=s)}),n}(ce());return(0,r.jsx)(e,{...t,style:n,className:(0,u.A)(t.className,ye,g.G.common.codeBlock)})}const ke="codeBlock_bY9V",we="codeBlockStandalone_MEMb",_e="codeBlockLines_e6Vv",Te="codeBlockLinesWithNumbering_o6Pm";function Be({children:e,className:t}){return(0,r.jsx)(Le,{as:"pre",tabIndex:0,className:(0,u.A)(we,"thin-scrollbar",t),children:(0,r.jsx)("code",{className:_e,children:e})})}const He={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Ee(e,t){const[n,a]=(0,s.useState)(),r=(0,s.useCallback)(()=>{a(e.current?.closest("[role=tabpanel][hidden]"))},[e,a]);(0,s.useEffect)(()=>{r()},[r]),function(e,t,n=He){const a=(0,i._q)(t),r=(0,i.Be)(n);(0,s.useEffect)(()=>{const t=new MutationObserver(a);return e&&t.observe(e,r),()=>t.disconnect()},[e,a,r])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}function Me({children:e}){return e}var Ie=n(1765);function Ve({line:e,token:t,...n}){return(0,r.jsx)("span",{...n})}const Se="codeLine_lJS_",Ue="codeLineNumber_Tfdd",ze="codeLineContent_feaV";function Re({line:e,classNames:t,showLineNumbers:n,getLineProps:s,getTokenProps:a}){const i=function(e){const t=1===e.length&&"\n"===e[0].content?e[0]:void 0;return t?[{...t,content:""}]:e}(e),o=s({line:i,className:(0,u.A)(t,n&&Se)}),c=i.map((e,t)=>{const n=a({token:e});return(0,r.jsx)(Ve,{...n,line:i,token:e,children:n.children},t)});return(0,r.jsxs)("span",{...o,children:[n?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:Ue}),(0,r.jsx)("span",{className:ze,children:c})]}):c,(0,r.jsx)("br",{})]})}const Oe=s.forwardRef((e,t)=>(0,r.jsx)("pre",{ref:t,tabIndex:0,...e,className:(0,u.A)(e.className,ke,"thin-scrollbar")}));function Pe(e){const{metadata:t}=Ce();return(0,r.jsx)("code",{...e,className:(0,u.A)(e.className,_e,void 0!==t.lineNumbersStart&&Te),style:{...e.style,counterReset:void 0===t.lineNumbersStart?void 0:"line-count "+(t.lineNumbersStart-1)}})}function De({className:e}){const{metadata:t,wordWrap:n}=Ce(),s=ce(),{code:a,language:i,lineNumbersStart:o,lineClassNames:c}=t;return(0,r.jsx)(Ie.f4,{theme:s,code:a,language:i,children:({className:t,style:s,tokens:a,getLineProps:i,getTokenProps:l})=>(0,r.jsx)(Oe,{ref:n.codeBlockRef,className:(0,u.A)(e,t),style:s,children:(0,r.jsx)(Pe,{children:a.map((e,t)=>(0,r.jsx)(Re,{line:e,getLineProps:i,getTokenProps:l,classNames:c[t],showLineNumbers:void 0!==o},t))})})})}function Fe({children:e,fallback:t}){return(0,re.A)()?(0,r.jsx)(r.Fragment,{children:e?.()}):t??null}function Ge({className:e,...t}){return(0,r.jsx)("button",{type:"button",...t,className:(0,u.A)("clean-btn",e)})}function We(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function $e(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const qe={copyButtonCopied:"copyButtonCopied_Vdqa",copyButtonIcons:"copyButtonIcons_IEyt",copyButtonIcon:"copyButtonIcon_TrPX",copyButtonSuccessIcon:"copyButtonSuccessIcon_cVMy"};function Je(e){return e?(0,b.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,b.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"})}function Ze({className:e}){const{copyCode:t,isCopied:n}=function(){const{metadata:{code:e}}=Ce(),[t,n]=(0,s.useState)(!1),a=(0,s.useRef)(void 0),i=(0,s.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{n(!0),a.current=window.setTimeout(()=>{n(!1)},1e3)})},[e]);return(0,s.useEffect)(()=>()=>window.clearTimeout(a.current),[]),{copyCode:i,isCopied:t}}();return(0,r.jsx)(Ge,{"aria-label":Je(n),title:(0,b.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,u.A)(e,qe.copyButton,n&&qe.copyButtonCopied),onClick:t,children:(0,r.jsxs)("span",{className:qe.copyButtonIcons,"aria-hidden":"true",children:[(0,r.jsx)(We,{className:qe.copyButtonIcon}),(0,r.jsx)($e,{className:qe.copyButtonSuccessIcon})]})})}function Xe(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const Ye="wordWrapButtonIcon_b1P5",Qe="wordWrapButtonEnabled_uzNF";function Ke({className:e}){const{wordWrap:t}=Ce();if(!(t.isEnabled||t.isCodeScrollable))return!1;const n=(0,b.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,r.jsx)(Ge,{onClick:()=>t.toggle(),className:(0,u.A)(e,t.isEnabled&&Qe),"aria-label":n,title:n,children:(0,r.jsx)(Xe,{className:Ye,"aria-hidden":"true"})})}const et="buttonGroup_M5ko";function tt({className:e}){return(0,r.jsx)(Fe,{children:()=>(0,r.jsxs)("div",{className:(0,u.A)(e,et),children:[(0,r.jsx)(Ke,{}),(0,r.jsx)(Ze,{})]})})}const nt="codeBlockContent_QJqH",st="codeBlockTitle_OeMC";function at({className:e}){const{metadata:t}=Ce();return(0,r.jsxs)(Le,{as:"div",className:(0,u.A)(e,t.className),children:[t.title&&(0,r.jsx)("div",{className:st,children:(0,r.jsx)(Me,{children:t.title})}),(0,r.jsxs)("div",{className:nt,children:[(0,r.jsx)(De,{}),(0,r.jsx)(tt,{})]})]})}function it(e){const t=function(e){const{prism:t}=(0,S.p)();return ve({code:e.children,className:e.className,metastring:e.metastring,magicComments:t.magicComments,defaultLanguage:t.defaultLanguage,language:e.language,title:e.title,showLineNumbers:e.showLineNumbers})}(e),n=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),i=(0,s.useRef)(null),r=(0,s.useCallback)(()=>{const n=i.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[i,e]),o=(0,s.useCallback)(()=>{const{scrollWidth:e,clientWidth:t}=i.current,n=e>t||i.current.querySelector("code").hasAttribute("style");a(n)},[i]);return Ee(i,o),(0,s.useEffect)(()=>{o()},[e,o]),(0,s.useEffect)(()=>(window.addEventListener("resize",o,{passive:!0}),()=>{window.removeEventListener("resize",o)}),[o]),{codeBlockRef:i,isEnabled:e,isCodeScrollable:n,toggle:r}}();return(0,r.jsx)(Ae,{metadata:t,wordWrap:n,children:(0,r.jsx)(at,{})})}function rt({children:e,...t}){const n=(0,re.A)(),a=function(e){return s.Children.toArray(e).some(e=>(0,s.isValidElement)(e))?e:Array.isArray(e)?e.join(""):e}(e),i="string"==typeof a?it:Be;return(0,r.jsx)(i,{...t,children:a},String(n))}function ot(e){return(0,r.jsx)("code",{...e})}var ct=n(3535);var lt=n(3427);const dt="details_lb9f",ut="isBrowser_bmU9",mt="collapsibleContent_i85q";function ht(e){return!!e&&("SUMMARY"===e.tagName||ht(e.parentElement))}function ft(e,t){return!!e&&(e===t||ft(e.parentElement,t))}function pt({summary:e,children:t,...n}){(0,lt.A)().collectAnchor(n.id);const a=(0,re.A)(),i=(0,s.useRef)(null),{collapsed:o,setCollapsed:c}=(0,V.u)({initialState:!n.open}),[l,d]=(0,s.useState)(n.open),m=s.isValidElement(e)?e:(0,r.jsx)("summary",{children:e??"Details"});return(0,r.jsxs)("details",{...n,ref:i,open:l,"data-collapsed":o,className:(0,u.A)(dt,a&&ut,n.className),onMouseDown:e=>{ht(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;ht(t)&&ft(t,i.current)&&(e.preventDefault(),o?(c(!1),d(!0)):c(!0))},children:[m,(0,r.jsx)(V.N,{lazy:!1,collapsed:o,onCollapseTransitionEnd:e=>{c(e),d(!e)},children:(0,r.jsx)("div",{className:mt,children:t})})]})}const xt="details_b_Ee";function gt({...e}){return(0,r.jsx)(pt,{...e,className:(0,u.A)("alert alert--info",xt,e.className)})}function bt(e){const t=s.Children.toArray(e.children),n=t.find(e=>s.isValidElement(e)&&"summary"===e.type),a=(0,r.jsx)(r.Fragment,{children:t.filter(e=>e!==n)});return(0,r.jsx)(gt,{...e,summary:n,children:a})}function jt(e){return(0,r.jsx)(se.A,{...e})}const vt="containsTaskList_mC6p";function Nt(e){if(void 0!==e)return(0,u.A)(e,e?.includes("contains-task-list")&&vt)}const At="img_ev3q";function Ct(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find(e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),a=t.filter(e=>e!==n),i=n?.props.children;return{mdxAdmonitionTitle:i,rest:a.length>0?(0,r.jsx)(r.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}const yt="admonition_xJq3",Lt="admonitionHeading_Gvgb",kt="admonitionIcon_Rf37",wt="admonitionContent_BuS1";function _t({type:e,className:t,children:n}){return(0,r.jsx)("div",{className:(0,u.A)(g.G.common.admonition,g.G.common.admonitionType(e),yt,t),children:n})}function Tt({icon:e,title:t}){return(0,r.jsxs)("div",{className:Lt,children:[(0,r.jsx)("span",{className:kt,children:e}),t]})}function Bt({children:e}){return e?(0,r.jsx)("div",{className:wt,children:e}):null}function Ht(e){const{type:t,icon:n,title:s,children:a,className:i}=e;return(0,r.jsxs)(_t,{type:t,className:i,children:[s||n?(0,r.jsx)(Tt,{title:s,icon:n}):null,(0,r.jsx)(Bt,{children:a})]})}function Et(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const Mt={icon:(0,r.jsx)(Et,{}),title:(0,r.jsx)(b.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function It(e){return(0,r.jsx)(Ht,{...Mt,...e,className:(0,u.A)("alert alert--secondary",e.className),children:e.children})}function Vt(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const St={icon:(0,r.jsx)(Vt,{}),title:(0,r.jsx)(b.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function Ut(e){return(0,r.jsx)(Ht,{...St,...e,className:(0,u.A)("alert alert--success",e.className),children:e.children})}function zt(e){return(0,r.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const Rt={icon:(0,r.jsx)(zt,{}),title:(0,r.jsx)(b.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function Ot(e){return(0,r.jsx)(Ht,{...Rt,...e,className:(0,u.A)("alert alert--info",e.className),children:e.children})}function Pt(e){return(0,r.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const Dt={icon:(0,r.jsx)(Pt,{}),title:(0,r.jsx)(b.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function Ft(e){return(0,r.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const Gt={icon:(0,r.jsx)(Ft,{}),title:(0,r.jsx)(b.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const Wt={icon:(0,r.jsx)(Pt,{}),title:(0,r.jsx)(b.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const $t={...{note:It,tip:Ut,info:Ot,warning:function(e){return(0,r.jsx)(Ht,{...Dt,...e,className:(0,u.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,r.jsx)(Ht,{...Gt,...e,className:(0,u.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,r.jsx)(It,{title:"secondary",...e}),important:e=>(0,r.jsx)(Ot,{title:"important",...e}),success:e=>(0,r.jsx)(Ut,{title:"success",...e}),caution:function(e){return(0,r.jsx)(Ht,{...Wt,...e,className:(0,u.A)("alert alert--warning",e.className),children:e.children})}}};function qt(e){const t=Ct(e),n=(s=t.type,$t[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),$t.info));var s;return(0,r.jsx)(n,{...t})}var Jt=n(418);const Zt={Head:ie.A,details:bt,Details:bt,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every(e=>"string"==typeof e&&!e.includes("\n"))}(e)?(0,r.jsx)(ot,{...e}):(0,r.jsx)(rt,{...e})},a:function(e){const t=(0,ct.v)(e.id);return(0,r.jsx)(j.A,{...e,className:(0,u.A)(t,e.className)})},pre:function(e){return(0,r.jsx)(r.Fragment,{children:e.children})},ul:function(e){return(0,r.jsx)("ul",{...e,className:Nt(e.className)})},li:function(e){(0,lt.A)().collectAnchor(e.id);const t=(0,ct.v)(e.id);return(0,r.jsx)("li",{className:(0,u.A)(t,e.className),...e})},img:function(e){return(0,r.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,u.A)(t,At))});var t},h1:e=>(0,r.jsx)(jt,{as:"h1",...e}),h2:e=>(0,r.jsx)(jt,{as:"h2",...e}),h3:e=>(0,r.jsx)(jt,{as:"h3",...e}),h4:e=>(0,r.jsx)(jt,{as:"h4",...e}),h5:e=>(0,r.jsx)(jt,{as:"h5",...e}),h6:e=>(0,r.jsx)(jt,{as:"h6",...e}),admonition:qt,mermaid:Jt.A};function Xt({children:e}){return(0,r.jsx)(ae.x,{components:Zt,children:e})}function Yt({children:e}){const t=function(){const{metadata:e,frontMatter:t,contentTitle:n}=l();return t.hide_title||void 0!==n?null:e.title}();return(0,r.jsxs)("div",{className:(0,u.A)(g.G.docs.docMarkdown,"markdown"),children:[t&&(0,r.jsx)("header",{children:(0,r.jsx)(se.A,{as:"h1",children:t})}),(0,r.jsx)(Xt,{children:e})]})}var Qt=n(594);function Kt(){return(0,r.jsx)(b.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function en(){return(0,r.jsx)(b.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function tn(){return(0,r.jsx)(ie.A,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function nn(){return(0,r.jsx)(b.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function sn(){return(0,r.jsx)(b.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}function an({className:e}){return(0,r.jsx)(qt,{type:"caution",title:(0,r.jsx)(nn,{}),className:(0,u.A)(e,g.G.common.draftBanner),children:(0,r.jsx)(sn,{})})}function rn({className:e}){return(0,r.jsx)(qt,{type:"caution",title:(0,r.jsx)(Kt,{}),className:(0,u.A)(e,g.G.common.unlistedBanner),children:(0,r.jsx)(en,{})})}function on(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(tn,{}),(0,r.jsx)(rn,{...e})]})}function cn({metadata:e}){const{unlisted:t,frontMatter:n}=e;return(0,r.jsxs)(r.Fragment,{children:[(t||n.unlisted)&&(0,r.jsx)(on,{}),n.draft&&(0,r.jsx)(an,{})]})}const ln={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function dn({children:e}){const t=function(){const{frontMatter:e,toc:t}=l(),n=(0,m.l)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,r.jsx)(Y,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,r.jsx)(ne,{})}}(),{metadata:n}=l();return(0,r.jsxs)("div",{className:"row",children:[(0,r.jsxs)("div",{className:(0,u.A)("col",!t.hidden&&ln.docItemCol),children:[(0,r.jsx)(cn,{metadata:n}),(0,r.jsx)(p.A,{}),(0,r.jsxs)("div",{className:ln.docItemContainer,children:[(0,r.jsxs)("article",{children:[(0,r.jsx)(Qt.A,{}),(0,r.jsx)(x.A,{}),t.mobile,(0,r.jsx)(Yt,{children:e}),(0,r.jsx)(I,{})]}),(0,r.jsx)(f,{})]})]}),t.desktop&&(0,r.jsx)("div",{className:"col col--3",children:t.desktop})]})}function un(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,r.jsx)(c,{content:e.content,children:(0,r.jsxs)(a.e3,{className:t,children:[(0,r.jsx)(d,{}),(0,r.jsx)(dn,{children:(0,r.jsx)(n,{})})]})})}},4267:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var s=n(4164),a=n(1312),i=n(7559),r=n(3025),o=n(4848);function c({className:e}){const t=(0,r.r)();return t.badge?(0,o.jsx)("span",{className:(0,s.A)(e,i.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,o.jsx)(a.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:t.label},children:"Version: {versionLabel}"})}):null}},6929:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var s=n(4164),a=n(1312),i=n(8774),r=n(4848);function o(e){const{permalink:t,title:n,subLabel:a,isNext:o}=e;return(0,r.jsxs)(i.A,{className:(0,s.A)("pagination-nav__link",o?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[a&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:a}),(0,r.jsx)("div",{className:"pagination-nav__label",children:n})]})}function c(e){const{className:t,previous:n,next:i}=e;return(0,r.jsxs)("nav",{className:(0,s.A)(t,"pagination-nav"),"aria-label":(0,a.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[n&&(0,r.jsx)(o,{...n,subLabel:(0,r.jsx)(a.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),i&&(0,r.jsx)(o,{...i,subLabel:(0,r.jsx)(a.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},8426:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map(e=>e.trim()))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,i]=t;if(s&&i){s=parseInt(s),i=parseInt(i);const e=s{"use strict";n.d(t,{R:()=>r,x:()=>o});var s=n(6540);const a={},i=s.createContext(a);function r(e){const t=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/1aa3da28.638ef7f1.js b/docs/assets/js/1aa3da28.638ef7f1.js new file mode 100644 index 0000000..c025201 --- /dev/null +++ b/docs/assets/js/1aa3da28.638ef7f1.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[922],{2593:(t,r,n)=>{n.r(r),n.d(r,{assets:()=>a,contentTitle:()=>p,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"trips-planner/trip-export","title":"Trip - Export and print","description":"Export your trip\xa0in multiple formats\xa0to suit your\xa0needs","source":"@site/docs/trips-planner/trip-export.md","sourceDirName":"trips-planner","slug":"/trips-planner/trip-export","permalink":"/trip/docs/trips-planner/trip-export","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":10,"frontMatter":{"sidebar_position":10,"description":"Export your trip\xa0in multiple formats\xa0to suit your\xa0needs"},"sidebar":"docSidebar","previous":{"title":"Trip - Attachments & lists","permalink":"/trip/docs/trips-planner/trip-attachments-lists"},"next":{"title":"Trip - Collaboration","permalink":"/trip/docs/trips-planner/trip-collaboration"}}');var e=n(4848),o=n(8453);const s={sidebar_position:10,description:"Export your trip\xa0in multiple formats\xa0to suit your\xa0needs"},p="Trip - Export and print",a={},l=[];function c(t){const r={admonition:"admonition",h1:"h1",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...t.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(r.header,{children:(0,e.jsx)(r.h1,{id:"trip---export-and-print",children:"Trip - Export and print"})}),"\n",(0,e.jsx)(r.admonition,{title:"TL;DR",type:"note",children:(0,e.jsx)(r.p,{children:"You can\xa0export your trip\xa0in CSV, iCal or a formatted PDF."})}),"\n",(0,e.jsx)(r.p,{children:"You can\xa0export your trip\xa0in multiple formats\xa0to suit your\xa0needs: CSV, iCal, and a nicely\xa0formatted PDF\xa0for printing\xa0or sharing."}),"\n",(0,e.jsxs)(r.ul,{children:["\n",(0,e.jsxs)(r.li,{children:["\n",(0,e.jsxs)(r.p,{children:[(0,e.jsx)(r.strong,{children:"CSV"}),"\nExport your trip data as a CSV file. The separator is a comma."]}),"\n"]}),"\n",(0,e.jsxs)(r.li,{children:["\n",(0,e.jsxs)(r.p,{children:[(0,e.jsx)(r.strong,{children:"iCal (.ics)"}),"\nExport your plans in an iCal file, compatible with your calendar application. This allows you to integrate your Trip schedule with your personal calendars seamlessly."]}),"\n"]}),"\n",(0,e.jsxs)(r.li,{children:["\n",(0,e.jsxs)(r.p,{children:[(0,e.jsx)(r.strong,{children:"Pretty Print"}),"\nPrint-ready PDF version of your trip. It includes your plans and your places. This format is perfect for offline use, sharing with guests or travel companions, and keeping a hard copy of your plans."]}),"\n"]}),"\n"]}),"\n",(0,e.jsx)("img",{src:"/trip/img/trip_export_prettyprint.png",alt:"Pretty print output example"}),"\n",(0,e.jsx)("div",{style:{textAlign:"center"},children:(0,e.jsx)("sup",{children:"Pretty print output example"})})]})}function d(t={}){const{wrapper:r}={...(0,o.R)(),...t.components};return r?(0,e.jsx)(r,{...t,children:(0,e.jsx)(c,{...t})}):c(t)}},8453:(t,r,n)=>{n.d(r,{R:()=>s,x:()=>p});var i=n(6540);const e={},o=i.createContext(e);function s(t){const r=i.useContext(o);return i.useMemo(function(){return"function"==typeof t?t(r):{...r,...t}},[r,t])}function p(t){let r;return r=t.disableParentContext?"function"==typeof t.components?t.components(e):t.components||e:s(t.components),i.createElement(o.Provider,{value:r},t.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/1d246e39.0362cab9.js b/docs/assets/js/1d246e39.0362cab9.js new file mode 100644 index 0000000..899397d --- /dev/null +++ b/docs/assets/js/1d246e39.0362cab9.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[733],{7465:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>o,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"trips-planner/trip-plans","title":"Trip - Plans","description":"Understand your trip plans","source":"@site/docs/trips-planner/trip-plans.md","sourceDirName":"trips-planner","slug":"/trips-planner/trip-plans","permalink":"/trip/docs/trips-planner/trip-plans","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":7,"frontMatter":{"sidebar_position":7,"description":"Understand your trip plans"},"sidebar":"docSidebar","previous":{"title":"Trip - Map","permalink":"/trip/docs/trips-planner/trip-map"},"next":{"title":"Trip - Plan creation","permalink":"/trip/docs/trips-planner/trip-plan-creation"}}');var r=i(4848),a=i(8453);const s={sidebar_position:7,description:"Understand your trip plans"},l="Trip - Plans",o={},c=[{value:"Action bar",id:"action-bar",level:3},{value:"Day click",id:"day-click",level:3},{value:"Row click",id:"row-click",level:3}];function d(n){const e={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...n.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.header,{children:(0,r.jsx)(e.h1,{id:"trip---plans",children:"Trip - Plans"})}),"\n",(0,r.jsx)(e.admonition,{title:"TL;DR",type:"note",children:(0,r.jsx)(e.p,{children:"Your Trip is organized as a table where plans are rows, ordered by day and time. Filter, group, and customize the view to manage your itinerary effectively. Click a day for map highlight, or a row for details."})}),"\n",(0,r.jsx)(e.p,{children:"Your Trip is organized as a table. Each plan is a row, sorted first by day (date and label), then by plan time."}),"\n",(0,r.jsxs)(e.p,{children:["The plans will have different level of informations based on your information when creating it (see ",(0,r.jsx)(e.a,{href:"trip-plan-creation",children:"Trip - Plan creation"}),"). e.g."]}),"\n",(0,r.jsx)("img",{src:"/trip/img/plan.png",alt:"A plan"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"A plan with a status dot indicator, an attachments indicator and a Place"})}),"\n",(0,r.jsx)(e.p,{children:"The table supports various interactions, through the actions bar at the top or by clicking either a day cell or a row."}),"\n",(0,r.jsx)("img",{src:"/trip/img/plans_table_ov.png",alt:"Table overview, actions at the top"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"Table overview, action buttons at the top"})}),"\n",(0,r.jsx)(e.h3,{id:"action-bar",children:"Action bar"}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Filter"})," plans and ",(0,r.jsx)(e.strong,{children:"select which columns"})," to show (defaults pre-selected)"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Expand"})," to fill screen width"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Group"})," by days","\n",(0,r.jsx)(e.admonition,{type:"note",children:(0,r.jsx)(e.p,{children:"In grouped mode, columns can be resized for better readability"})}),"\n"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"GMaps"})," navigation based on your plans (using coordinates and places coordinate)","\n",(0,r.jsx)(e.admonition,{type:"note",children:(0,r.jsx)(e.p,{children:"In grouped mode, you use GMaps navigation per day"})}),"\n"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Highlight"})," the complete itinerary on the map","\n",(0,r.jsx)(e.admonition,{type:"note",children:(0,r.jsxs)(e.p,{children:["In grouped mode, you can highlight itinerary per day. You can also highlight itinerary per day using the ",(0,r.jsx)(e.a,{href:"trip-map#highlight",children:"fullscreen mode map"})]})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)("br",{}),"\n",(0,r.jsxs)(e.admonition,{type:"tip",children:[(0,r.jsx)(e.p,{children:"For accommodations and transport, I recommend using a double-entry approach similar to accounting:"}),(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:["Create one plan for the start (e.g., ",(0,r.jsx)(e.code,{children:"00:01"}),")"]}),"\n",(0,r.jsxs)(e.li,{children:["Create another plan for the end (e.g., ",(0,r.jsx)(e.code,{children:"23:59"}),")"]}),"\n"]}),(0,r.jsx)(e.p,{children:"This helps you:"}),(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsx)(e.li,{children:"Differentiate 'From' and 'To' locations easily"}),"\n",(0,r.jsx)(e.li,{children:"Track nights at accommodations accurately"}),"\n",(0,r.jsx)(e.li,{children:"Show continuous presence at a location across days using coordinates"}),"\n"]}),(0,r.jsx)("img",{src:"/trip/img/plans_doubleentry.png",alt:"Double-entry plans"}),(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"Double-entry plans"})})]}),"\n",(0,r.jsx)(e.h3,{id:"day-click",children:"Day click"}),"\n",(0,r.jsx)(e.p,{children:"Click a day cell to highlight that day's itinerary on the map."}),"\n",(0,r.jsx)("img",{src:"/trip/img/plan_highlight.png",alt:"Highlight a day itinerary on the map on day click"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"Highlight a day itinerary on the map on day clicks"})}),"\n",(0,r.jsx)(e.h3,{id:"row-click",children:"Row click"}),"\n",(0,r.jsx)(e.p,{children:"Click any row to open its details. The panel shows all plan info; more fields mean richer details. Attachments are downloadable."}),"\n",(0,r.jsx)(e.admonition,{type:"note",children:(0,r.jsxs)(e.p,{children:["The ",(0,r.jsx)(e.em,{children:"car"})," button opens Google Maps navigation (if coordinates or Place is set)"]})}),"\n",(0,r.jsx)("img",{src:"/trip/img/plan_details.png",alt:"Details of the plan"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"Details of the plan"})})]})}function p(n={}){const{wrapper:e}={...(0,a.R)(),...n.components};return e?(0,r.jsx)(e,{...n,children:(0,r.jsx)(d,{...n})}):d(n)}},8453:(n,e,i)=>{i.d(e,{R:()=>s,x:()=>l});var t=i(6540);const r={},a=t.createContext(r);function s(n){const e=t.useContext(a);return t.useMemo(function(){return"function"==typeof n?n(e):{...e,...n}},[e,n])}function l(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(r):n.components||r:s(n.components),t.createElement(a.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/1df93b7f.84d45fd9.js b/docs/assets/js/1df93b7f.84d45fd9.js new file mode 100644 index 0000000..73e8bcb --- /dev/null +++ b/docs/assets/js/1df93b7f.84d45fd9.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[583],{2082:(e,s,t)=>{t.r(s),t.d(s,{default:()=>x});var i=t(8774),n=t(1656),c=t(4164),r=t(1107);const a={features:"features_t9lD"};var l=t(4848);const o=[{title:"Welcome to TRIP documentation",img:"/trip/img/TRIP_192.png",description:(0,l.jsxs)(l.Fragment,{children:["Minimalist ",(0,l.jsx)("b",{children:"POI Map Tracker"})," and ",(0,l.jsx)("b",{children:"Trip Planner"}),". Self-hosted."]})}];function d({title:e,img:s,description:t}){return(0,l.jsxs)("div",{className:(0,c.A)("col"),children:[(0,l.jsx)("div",{className:"text--center padding-horiz--md",children:(0,l.jsx)(r.A,{as:"h2",children:e})}),(0,l.jsx)("div",{className:"text--center",children:(0,l.jsx)("img",{role:"img",src:s,className:"selectDisable",draggable:"false"})}),(0,l.jsx)("div",{className:"text--center",children:(0,l.jsx)("p",{children:t})})]})}function m(){return(0,l.jsx)("section",{className:a.features,children:(0,l.jsx)("div",{className:"container",children:(0,l.jsx)("div",{className:"row",children:o.map((e,s)=>(0,l.jsx)(d,{...e},s))})})})}function x(){return(0,l.jsx)(n.A,{title:"Home",description:"TRIP documentation. See github.com/itskovacs/trip for more information",children:(0,l.jsxs)("div",{style:{display:"flex",flex:"1",justifyContent:"center",alignItems:"center",flexDirection:"column",textAlign:"center",background:"#f9f9f9"},children:[(0,l.jsx)("main",{children:(0,l.jsx)(m,{})}),(0,l.jsx)("div",{className:"customButtonContainer",children:(0,l.jsx)("div",{className:"customButton",children:(0,l.jsx)(i.A,{to:"/docs/intro",style:{textDecoration:"none"},children:(0,l.jsx)("span",{className:"customButtonSpan",children:"\ud83d\uddfa\ufe0f Documentation"})})})})]})})}}}]); \ No newline at end of file diff --git a/docs/assets/js/237.3c68e903.js b/docs/assets/js/237.3c68e903.js new file mode 100644 index 0000000..7b3384d --- /dev/null +++ b/docs/assets/js/237.3c68e903.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[237],{2237:(e,t,i)=>{i.r(t),i.d(t,{default:()=>h});i(6540);var n=i(1312),o=i(5500),s=i(1656),r=i(3363),a=i(4848);function h(){const e=(0,n.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.be,{title:e}),(0,a.jsx)(s.A,{children:(0,a.jsx)(r.A,{})})]})}},3363:(e,t,i)=>{i.d(t,{A:()=>a});i(6540);var n=i(4164),o=i(1312),s=i(1107),r=i(4848);function a({className:e}){return(0,r.jsx)("main",{className:(0,n.A)("container margin-vert--xl",e),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(s.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/docs/assets/js/26922847.324d16b6.js b/docs/assets/js/26922847.324d16b6.js new file mode 100644 index 0000000..9fbf1e4 --- /dev/null +++ b/docs/assets/js/26922847.324d16b6.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[687],{9674:t=>{t.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Getting Started","description":"Set up and configure TRIP","slug":"/category/getting-started","permalink":"/trip/docs/category/getting-started","sidebar":"docSidebar","navigation":{"previous":{"title":"Introduction","permalink":"/trip/docs/intro"},"next":{"title":"Deployment","permalink":"/trip/docs/getting-started/deploy"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/2d727d9f.5d876f1a.js b/docs/assets/js/2d727d9f.5d876f1a.js new file mode 100644 index 0000000..44a1f52 --- /dev/null +++ b/docs/assets/js/2d727d9f.5d876f1a.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[582],{5475:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"misc/backup","title":"Backup and Restore","description":"Backup and Restore your data","source":"@site/docs/misc/backup.md","sourceDirName":"misc","slug":"/misc/backup","permalink":"/trip/docs/misc/backup","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"description":"Backup and Restore your data"},"sidebar":"docSidebar","previous":{"title":"Miscelaneous","permalink":"/trip/docs/category/miscelaneous"},"next":{"title":"Installing on Synology NAS","permalink":"/trip/docs/misc/synology"}}');var s=t(4848),o=t(8453);const i={sidebar_position:1,description:"Backup and Restore your data"},a="Backup and Restore",c={},d=[{value:"Backup",id:"backup",level:2},{value:"Restore",id:"restore",level:2}];function l(e){const n={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"backup-and-restore",children:"Backup and Restore"})}),"\n",(0,s.jsx)(n.admonition,{type:"warning",children:(0,s.jsx)(n.p,{children:"This procedure assumes you know the storage directory path or have not modified it from the default"})}),"\n",(0,s.jsx)(n.admonition,{type:"danger",children:(0,s.jsxs)(n.p,{children:["Modify what is between ",(0,s.jsx)(n.code,{children:"< >"})]})}),"\n",(0,s.jsxs)(n.p,{children:["TRIP stores data in the ",(0,s.jsx)(n.code,{children:"storage"})," directory by default, including a SQLite database and related folders."]}),"\n",(0,s.jsx)(n.h2,{id:"backup",children:"Backup"}),"\n",(0,s.jsx)(n.p,{children:"To back up your data, follow these simple steps:"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.strong,{children:"Stop the container"})}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"# Look for TRIP container\n$ docker ps\n\n$ docker stop \n"})}),"\n",(0,s.jsxs)(n.ol,{start:"2",children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.strong,{children:"Create a backup archive of the storage directory"})}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"zip -r _TRIP_backup.zip \n"})}),"\n",(0,s.jsxs)(n.ol,{start:"3",children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.strong,{children:"Restart the container"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"restore",children:"Restore"}),"\n",(0,s.jsx)(n.admonition,{type:"danger",children:(0,s.jsx)(n.p,{children:"Ensure the container is not running before restoring"})}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.strong,{children:"Extract the backup archive to the storage directory"})}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"$ unzip _TRIP_backup.zip -d \n"})}),"\n",(0,s.jsxs)(n.ol,{start:"2",children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.strong,{children:"Start the container"})}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>a});var r=t(6540);const s={},o=r.createContext(s);function i(e){const n=r.useContext(o);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/34f354b2.6bc66896.js b/docs/assets/js/34f354b2.6bc66896.js new file mode 100644 index 0000000..ff0a00a --- /dev/null +++ b/docs/assets/js/34f354b2.6bc66896.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[760],{2325:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"trips-planner/trip-concepts","title":"Trip - Concepts","description":"Trip days, plans, a trip is organized in a table-like structure","source":"@site/docs/trips-planner/trip-concepts.md","sourceDirName":"trips-planner","slug":"/trips-planner/trip-concepts","permalink":"/trip/docs/trips-planner/trip-concepts","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_position":4,"description":"Trip days, plans, a trip is organized in a table-like structure"},"sidebar":"docSidebar","previous":{"title":"Trip - Creation","permalink":"/trip/docs/trips-planner/trip-creation"},"next":{"title":"Trip - Places","permalink":"/trip/docs/trips-planner/trip-places"}}');var r=i(4848),s=i(8453);const a={sidebar_position:4,description:"Trip days, plans, a trip is organized in a table-like structure"},o="Trip - Concepts",p={},l=[];function c(e){const n={a:"a",admonition:"admonition",h1:"h1",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"trip---concepts",children:"Trip - Concepts"})}),"\n",(0,r.jsx)(n.admonition,{title:"TL;DR",type:"note",children:(0,r.jsx)(n.p,{children:"A trip is structured like a table, with multiple days containing plans. You can reference places in plans, and view everything on a map for a visual overview."})}),"\n",(0,r.jsx)(n.p,{children:"A trip is organized in a table-like structure, containing multiple days that hold multiple plans, each with its own details."}),"\n",(0,r.jsx)(n.p,{children:"A trip can reference\xa0your places\xa0or those of other members, to associate them to the plans."}),"\n",(0,r.jsx)(n.p,{children:"A map alongside displays your places and itineraries, based on your plans, providing a visual overview of your trip."}),"\n",(0,r.jsx)("img",{src:"/trip/img/trip_concepts.png",alt:"Trip - Concepts"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"Trip - Concepts"})}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Places"}),"\nReferenced places are listed here. Hover to highlight on the map. More in\xa0",(0,r.jsx)(n.a,{href:"trip-places",children:"Trip - Places"})]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Map"}),"\nDisplays all referenced places, with options to fullscreen and view day-specific itineraries or complete itinerary with automatic zoom and straight point-to-point paths. More in\xa0",(0,r.jsx)(n.a,{href:"trip-map",children:"Trip - Map"})]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Days"}),"\nLists Trip days, which you can create, edit, or delete."]}),"\n",(0,r.jsx)(n.admonition,{type:"danger",children:(0,r.jsx)(n.p,{children:"Deleting a day removes associated plans"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Plans"}),"\nThe core, a table showing all your plans. Click to view details. You have options to filter, group, or display the itinerary on the map. More in\xa0",(0,r.jsx)(n.a,{href:"trip-plans",children:"Trip - Plans"})]}),"\n"]}),"\n"]})]})}function d(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>o});var t=i(6540);const r={},s=t.createContext(r);function a(e){const n=t.useContext(s);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/39a9af6f.9737b4a9.js b/docs/assets/js/39a9af6f.9737b4a9.js new file mode 100644 index 0000000..4cb45f6 --- /dev/null +++ b/docs/assets/js/39a9af6f.9737b4a9.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[588],{3539:t=>{t.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Trips Planner","description":"Documentation focused on the Trip part","slug":"/category/trips-planner","permalink":"/trip/docs/category/trips-planner","sidebar":"docSidebar","navigation":{"previous":{"title":"Settings","permalink":"/trip/docs/map-tracker/settings"},"next":{"title":"Introduction","permalink":"/trip/docs/trips-planner/introduction"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/3a165c72.bda419fe.js b/docs/assets/js/3a165c72.bda419fe.js new file mode 100644 index 0000000..d90f2d5 --- /dev/null +++ b/docs/assets/js/3a165c72.bda419fe.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[293],{4488:t=>{t.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Map Tracker","description":"Documentation focused on the Points Of Interest","slug":"/category/map-tracker","permalink":"/trip/docs/category/map-tracker","sidebar":"docSidebar","navigation":{"previous":{"title":"Configuration","permalink":"/trip/docs/getting-started/configuration"},"next":{"title":"Introduction","permalink":"/trip/docs/map-tracker/introduction"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/3b6bb3a0.c4941bbf.js b/docs/assets/js/3b6bb3a0.c4941bbf.js new file mode 100644 index 0000000..8be67a5 --- /dev/null +++ b/docs/assets/js/3b6bb3a0.c4941bbf.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[138],{3266:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>n,toc:()=>p});const n=JSON.parse('{"id":"map-tracker/map-filtering","title":"Map - Filtering","description":"Filtering the Places on the Map","source":"@site/docs/map-tracker/map-filtering.md","sourceDirName":"map-tracker","slug":"/map-tracker/map-filtering","permalink":"/trip/docs/map-tracker/map-filtering","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5,"description":"Filtering the Places on the Map"},"sidebar":"docSidebar","previous":{"title":"Map - Panel","permalink":"/trip/docs/map-tracker/map-panel"},"next":{"title":"Settings","permalink":"/trip/docs/map-tracker/settings"}}');var r=i(4848),a=i(8453);const s={sidebar_position:5,description:"Filtering the Places on the Map"},o="Map - Filtering",c={},p=[];function l(e){const t={a:"a",admonition:"admonition",h1:"h1",header:"header",p:"p",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"map---filtering",children:"Map - Filtering"})}),"\n",(0,r.jsx)(t.p,{children:"The filtering panel enables conditional display of places based on their categories and criteria."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsxs)(t.p,{children:["You can customize your categories in your ",(0,r.jsx)(t.a,{href:"settings#categories",children:"Settings (Categories)"})," and also set your default displayed categories in your ",(0,r.jsx)(t.a,{href:"settings#preferences",children:"Settings (Preferences)"})]})}),"\n",(0,r.jsx)("img",{src:"/trip/img/map_filtering.png",alt:"Filtering places in map using categories and criteria"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"Filtering places in map using categories and criteria"})})]})}function d(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>s,x:()=>o});var n=i(6540);const r={},a=n.createContext(r);function s(e){const t=n.useContext(a);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/4d54d076.d0509837.js b/docs/assets/js/4d54d076.d0509837.js new file mode 100644 index 0000000..d073d4f --- /dev/null +++ b/docs/assets/js/4d54d076.d0509837.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[459],{2199:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"contributing","title":"Contributing","description":"Contributions are welcome! Open an issue to report bugs, start a discussion to share ideas or submit a pull request for new features.","source":"@site/docs/contributing.md","sourceDirName":".","slug":"/contributing","permalink":"/trip/docs/contributing","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_position":6},"sidebar":"docSidebar","previous":{"title":"Installing on Synology NAS","permalink":"/trip/docs/misc/synology"}}');var i=n(4848),o=n(8453);const r={sidebar_position:6},a="Contributing",c={},l=[];function u(e){const t={a:"a",code:"code",h1:"h1",header:"header",li:"li",ol:"ol",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"contributing",children:"Contributing"})}),"\n",(0,i.jsxs)(t.p,{children:["Contributions are welcome! Open an ",(0,i.jsx)(t.a,{href:"https://github.com/itskovacs/trip/issues",children:"issue"})," to report bugs, start a ",(0,i.jsx)(t.a,{href:"https://github.com/itskovacs/trip/discussions",children:"discussion"})," to share ideas or submit a ",(0,i.jsx)(t.a,{href:"https://github.com/itskovacs/trip/pulls",children:"pull request"})," for new features."]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Fork the repository"}),"\n",(0,i.jsxs)(t.li,{children:["Create a new branch (",(0,i.jsx)(t.code,{children:"new-feature"}),")"]}),"\n",(0,i.jsx)(t.li,{children:"Commit and push your changes"}),"\n",(0,i.jsx)(t.li,{children:"Open the pull request"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"TRIP is and will always remain completely free, no paywalled features, no telemetry, no tracking, no ads."}),"\n",(0,i.jsxs)(t.p,{children:["Development is supported through optional donations. If TRIP helps plan your adventures, consider ",(0,i.jsx)(t.a,{href:"https://ko-fi.com/itskovacs",children:"leaving me a small tip"})," \u2615. Thank you!"]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var s=n(6540);const i={},o=s.createContext(i);function r(e){const t=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/5e95c892.497bdc2d.js b/docs/assets/js/5e95c892.497bdc2d.js new file mode 100644 index 0000000..c01e39f --- /dev/null +++ b/docs/assets/js/5e95c892.497bdc2d.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[647],{7121:(s,e,r)=>{r.r(e),r.d(e,{default:()=>o});r(6540);var a=r(4164),c=r(7559),t=r(5500),u=r(2831),i=r(1656),l=r(4848);function o(s){return(0,l.jsx)(t.e3,{className:(0,a.A)(c.G.wrapper.docsPages),children:(0,l.jsx)(i.A,{children:(0,u.v)(s.route.routes)})})}}}]); \ No newline at end of file diff --git a/docs/assets/js/66a53f71.cfc1c01e.js b/docs/assets/js/66a53f71.cfc1c01e.js new file mode 100644 index 0000000..e5f949c --- /dev/null +++ b/docs/assets/js/66a53f71.cfc1c01e.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[886],{8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>l});var i=n(6540);const s={},a=i.createContext(s);function r(e){const t=i.useContext(a);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:t},e.children)}},9617:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>o});const i=JSON.parse('{"id":"map-tracker/places","title":"Places","description":"Your map displays all your Places (Points of Interest). Click on any Place to view details and interact with it.","source":"@site/docs/map-tracker/places.md","sourceDirName":"map-tracker","slug":"/map-tracker/places","permalink":"/trip/docs/map-tracker/places","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"docSidebar","previous":{"title":"Introduction","permalink":"/trip/docs/map-tracker/introduction"},"next":{"title":"Places - Creation","permalink":"/trip/docs/map-tracker/places-creation"}}');var s=n(4848),a=n(8453);const r={sidebar_position:2},l="Places",c={},o=[];function d(e){const t={a:"a",admonition:"admonition",em:"em",h1:"h1",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"places",children:"Places"})}),"\n",(0,s.jsx)(t.admonition,{title:"TL;DR",type:"note",children:(0,s.jsx)(t.p,{children:"Your map displays all your Places (Points of Interest). Click on any Place to view details and interact with it."})}),"\n",(0,s.jsx)(t.p,{children:"Your map displays all Places you've added as Points of Interest using bubbles. When many Places are close together, they automatically cluster until you zoom in for a clearer view."}),"\n",(0,s.jsx)(t.admonition,{title:"Bubble border color",type:"tip",children:(0,s.jsxs)(t.p,{children:["The Place bubble border color matches its category color. You can customize category colors through ",(0,s.jsx)(t.a,{href:"settings#categories",children:"settings (Categories)"})]})}),"\n",(0,s.jsx)("img",{src:"/trip/img/places_places.png",alt:"Places on the Map"}),"\n",(0,s.jsx)("div",{style:{textAlign:"center"},children:(0,s.jsx)("sup",{children:"Places on the Map"})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Interacting with Places"})}),"\n",(0,s.jsx)(t.p,{children:"Click on any Place bubble to view its details. The action bar provides the following options:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Display GPX trace (if the Place includes a GPX file)"}),"\n",(0,s.jsx)(t.li,{children:"Mark as visited (toggles visibility by default, marks the Place as done)"}),"\n",(0,s.jsx)(t.li,{children:"Mark as favorite (adds a star icon to the bubble)"}),"\n",(0,s.jsx)(t.li,{children:"Delete the Place"}),"\n",(0,s.jsx)(t.li,{children:"Edit the Place"}),"\n"]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.em,{children:"to do"})," tag indicates the Place has not been marked as visited yet."]})}),"\n",(0,s.jsx)("img",{src:"/trip/img/places_place_details.png",alt:"Places details on click"}),"\n",(0,s.jsx)("div",{style:{textAlign:"center"},children:(0,s.jsx)("sup",{children:"Places details on click"})})]})}function p(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6e0ab1b4.af89496f.js b/docs/assets/js/6e0ab1b4.af89496f.js new file mode 100644 index 0000000..14d24e4 --- /dev/null +++ b/docs/assets/js/6e0ab1b4.af89496f.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[972],{2541:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>p,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"trips-planner/trip-places","title":"Trip - Places","description":"A trip can reference places","source":"@site/docs/trips-planner/trip-places.md","sourceDirName":"trips-planner","slug":"/trips-planner/trip-places","permalink":"/trip/docs/trips-planner/trip-places","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":5,"frontMatter":{"sidebar_position":5,"description":"A trip can reference places"},"sidebar":"docSidebar","previous":{"title":"Trip - Concepts","permalink":"/trip/docs/trips-planner/trip-concepts"},"next":{"title":"Trip - Map","permalink":"/trip/docs/trips-planner/trip-map"}}');var i=n(4848),s=n(8453);const p={sidebar_position:5,description:"A trip can reference places"},a="Trip - Places",c={},o=[];function l(e){const t={admonition:"admonition",h1:"h1",header:"header",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"trip---places",children:"Trip - Places"})}),"\n",(0,i.jsx)(t.admonition,{title:"TL;DR",type:"note",children:(0,i.jsx)(t.p,{children:"A trip can reference places. Manage the associated places and create new ones from the trip interface"})}),"\n",(0,i.jsx)(t.p,{children:"A trip can reference\xa0your places\xa0or those of other members, to associate them to the plans."}),"\n",(0,i.jsx)(t.p,{children:"To add places to your trip, you can either manage the associated places or directly create new ones from the trip interface."}),"\n",(0,i.jsx)(t.admonition,{title:"important",type:"info",children:(0,i.jsx)(t.p,{children:"Creating a place from a trip is a shortcut, the place itself is not owned by the trip."})}),"\n",(0,i.jsx)("img",{src:"/trip/img/trip_places.png",alt:"Trip - Places"}),"\n",(0,i.jsx)("div",{style:{textAlign:"center"},children:(0,i.jsx)("sup",{children:"Trip - Places"})}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsx)(t.p,{children:"The \u2705 icon next to the place's category indicates that the place is used in the plans."})}),"\n",(0,i.jsx)(t.p,{children:"Hovering over a place highlights it on the map."}),"\n",(0,i.jsx)("img",{src:"/trip/img/trip_place_highlight.png",alt:"Trip - Highlight place on hover"}),"\n",(0,i.jsx)("div",{style:{textAlign:"center"},children:(0,i.jsx)("sup",{children:"Trip - Highlight place on hover"})})]})}function d(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>p,x:()=>a});var r=n(6540);const i={},s=r.createContext(i);function p(e){const t=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:p(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/6fd453cb.ebf0bc06.js b/docs/assets/js/6fd453cb.ebf0bc06.js new file mode 100644 index 0000000..6787b76 --- /dev/null +++ b/docs/assets/js/6fd453cb.ebf0bc06.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[20],{3140:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"Miscelaneous","description":"Additional resources","slug":"/category/miscelaneous","permalink":"/trip/docs/category/miscelaneous","sidebar":"docSidebar","navigation":{"previous":{"title":"Trip - Archive","permalink":"/trip/docs/trips-planner/trip-archive"},"next":{"title":"Backup and Restore","permalink":"/trip/docs/misc/backup"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/70366980.ef3b0a37.js b/docs/assets/js/70366980.ef3b0a37.js new file mode 100644 index 0000000..1221d82 --- /dev/null +++ b/docs/assets/js/70366980.ef3b0a37.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[674],{6135:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"trips-planner/trip-creation","title":"Trip - Creation","description":"Creating a trip","source":"@site/docs/trips-planner/trip-creation.md","sourceDirName":"trips-planner","slug":"/trips-planner/trip-creation","permalink":"/trip/docs/trips-planner/trip-creation","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"description":"Creating a trip"},"sidebar":"docSidebar","previous":{"title":"Trips","permalink":"/trip/docs/trips-planner/trips"},"next":{"title":"Trip - Concepts","permalink":"/trip/docs/trips-planner/trip-concepts"}}');var n=r(4848),s=r(8453);const a={sidebar_position:3,description:"Creating a trip"},o="Trip - Creation",p={},c=[];function d(e){const t={admonition:"admonition",code:"code",h1:"h1",header:"header",p:"p",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"trip---creation",children:"Trip - Creation"})}),"\n",(0,n.jsx)(t.p,{children:"Creating a trip is simple: just enter its name. Optionally, you can set a currency (defaulting to your user settings if left blank), add an image, and specify a date range."}),"\n",(0,n.jsx)("img",{src:"/trip/img/trip_create.png",alt:"Trip creation modal"}),"\n",(0,n.jsx)("div",{style:{textAlign:"center"},children:(0,n.jsx)("sup",{children:"Trip creation modal"})}),"\n",(0,n.jsx)(t.p,{children:"Once created, your new trip will appear in your trips list:"}),"\n",(0,n.jsx)("img",{src:"/trip/img/trip_created.png",alt:"Trip is added to trips"}),"\n",(0,n.jsx)("div",{style:{textAlign:"center"},children:(0,n.jsx)("sup",{children:"Trip is added to trips"})}),"\n",(0,n.jsxs)(t.admonition,{type:"tip",children:[(0,n.jsxs)(t.p,{children:["The optional date range automatically generates the trip days, labeled as\xa0",(0,n.jsx)(t.code,{children:"dd mmm."}),", with corresponding dates set for you."]}),(0,n.jsx)("img",{src:"/trip/img/trip_create_days.png",alt:"Trip days"}),(0,n.jsx)("div",{style:{textAlign:"center"},children:(0,n.jsx)("sup",{children:"Your trip days will be generated"})})]})]})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>a,x:()=>o});var i=r(6540);const n={},s=i.createContext(n);function a(e){const t=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/7454facd.36967535.js b/docs/assets/js/7454facd.36967535.js new file mode 100644 index 0000000..5ea5b38 --- /dev/null +++ b/docs/assets/js/7454facd.36967535.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[691],{1931:(t,i,n)=>{n.r(i),n.d(i,{assets:()=>a,contentTitle:()=>p,default:()=>l,frontMatter:()=>o,metadata:()=>e,toc:()=>c});const e=JSON.parse('{"id":"trips-planner/trips","title":"Trips","description":"Viewing your trips","source":"@site/docs/trips-planner/trips.md","sourceDirName":"trips-planner","slug":"/trips-planner/trips","permalink":"/trip/docs/trips-planner/trips","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"description":"Viewing your trips"},"sidebar":"docSidebar","previous":{"title":"Introduction","permalink":"/trip/docs/trips-planner/introduction"},"next":{"title":"Trip - Creation","permalink":"/trip/docs/trips-planner/trip-creation"}}');var r=n(4848),s=n(8453);const o={sidebar_position:2,description:"Viewing your trips"},p="Trips",a={},c=[];function d(t){const i={a:"a",admonition:"admonition",h1:"h1",header:"header",p:"p",...(0,s.R)(),...t.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.header,{children:(0,r.jsx)(i.h1,{id:"trips",children:"Trips"})}),"\n",(0,r.jsx)(i.p,{children:"The\xa0trips\xa0page is your central hub for viewing all your trips and managing invitations to collaborate on trips created by other members."}),"\n",(0,r.jsx)(i.p,{children:"You can create new trips using the trip creation modal."}),"\n",(0,r.jsx)(i.admonition,{type:"tip",children:(0,r.jsxs)(i.p,{children:["A red dot on the bell icon indicates pending trip invitations. See ",(0,r.jsx)(i.a,{href:"trip-collaboration",children:"Trip - Collaboration"})," for details."]})}),"\n",(0,r.jsx)("img",{src:"/trip/img/trips.png",alt:"Trips page"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"Trips page"})}),"\n",(0,r.jsx)(i.admonition,{type:"note",children:(0,r.jsx)(i.p,{children:"Archived trips appear at the bottom of the list"})})]})}function l(t={}){const{wrapper:i}={...(0,s.R)(),...t.components};return i?(0,r.jsx)(i,{...t,children:(0,r.jsx)(d,{...t})}):d(t)}},8453:(t,i,n)=>{n.d(i,{R:()=>o,x:()=>p});var e=n(6540);const r={},s=e.createContext(r);function o(t){const i=e.useContext(s);return e.useMemo(function(){return"function"==typeof t?t(i):{...i,...t}},[i,t])}function p(t){let i;return i=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:o(t.components),e.createElement(s.Provider,{value:i},t.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/7a8dce06.f33608e8.js b/docs/assets/js/7a8dce06.f33608e8.js new file mode 100644 index 0000000..b6de057 --- /dev/null +++ b/docs/assets/js/7a8dce06.f33608e8.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[653],{798:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>o,metadata:()=>r,toc:()=>p});const r=JSON.parse('{"id":"trips-planner/trip-collaboration","title":"Trip - Collaboration","description":"Collaborate on a trip with other members","source":"@site/docs/trips-planner/trip-collaboration.md","sourceDirName":"trips-planner","slug":"/trips-planner/trip-collaboration","permalink":"/trip/docs/trips-planner/trip-collaboration","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":11,"frontMatter":{"sidebar_position":11,"description":"Collaborate on a trip with other members"},"sidebar":"docSidebar","previous":{"title":"Trip - Export and print","permalink":"/trip/docs/trips-planner/trip-export"},"next":{"title":"Trip - Anonymous share","permalink":"/trip/docs/trips-planner/trip-ano-share"}}');var i=n(4848),a=n(8453);const o={sidebar_position:11,description:"Collaborate on a trip with other members"},s="Trip - Collaboration",l={},p=[];function c(e){const t={a:"a",admonition:"admonition",h1:"h1",header:"header",p:"p",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"trip---collaboration",children:"Trip - Collaboration"})}),"\n",(0,i.jsx)(t.admonition,{title:"TL;DR",type:"note",children:(0,i.jsx)(t.p,{children:"A trip can have multiple members. Members can interact with everything within the trip and can associate their places to it as well."})}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsxs)(t.p,{children:["If you're looking for read-only or anonymous sharing, see ",(0,i.jsx)(t.a,{href:"trip-ano-share",children:"Anonymous share"})," for details"]})}),"\n",(0,i.jsx)(t.p,{children:"A trip can include multiple members to enable collaboration."}),"\n",(0,i.jsx)(t.p,{children:"Each member can add their own places to the trip, visible by others (editable only by the owner), allowing everyone to update the shared itinerary."}),"\n",(0,i.jsx)(t.p,{children:"Members are invited via the members modal by entering their username. Invited users receive a notification and gain full access upon acceptance, allowing them to view and interact with all trip content including plans, places, attachments, and everything else."}),"\n",(0,i.jsx)("img",{src:"/trip/img/trip_members.png",alt:"Trip - Members with balance"}),"\n",(0,i.jsx)("div",{style:{textAlign:"center"},children:(0,i.jsx)("sup",{children:"Trip - Members with balance"})}),"\n",(0,i.jsx)(t.p,{children:"A plan may have a price, if there are multiple members, the price can be linked directly to the member who paid, helping track who owes what to whom. This is a basic feature designed for planning, not a full expense splitting app."})]})}function d(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>s});var r=n(6540);const i={},a=r.createContext(i);function o(e){const t=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/7bbb8eb5.409019c5.js b/docs/assets/js/7bbb8eb5.409019c5.js new file mode 100644 index 0000000..4d0d463 --- /dev/null +++ b/docs/assets/js/7bbb8eb5.409019c5.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[970],{6211:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>p,metadata:()=>t,toc:()=>o});const t=JSON.parse('{"id":"trips-planner/trip-map","title":"Trip - Map","description":"The map displays your places and plans, with options to highlight itineraries","source":"@site/docs/trips-planner/trip-map.md","sourceDirName":"trips-planner","slug":"/trips-planner/trip-map","permalink":"/trip/docs/trips-planner/trip-map","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_position":6,"description":"The map displays your places and plans, with options to highlight itineraries"},"sidebar":"docSidebar","previous":{"title":"Trip - Places","permalink":"/trip/docs/trips-planner/trip-places"},"next":{"title":"Trip - Plans","permalink":"/trip/docs/trips-planner/trip-plans"}}');var r=n(4848),s=n(8453);const p={sidebar_position:6,description:"The map displays your places and plans, with options to highlight itineraries"},a="Trip - Map",l={},o=[{value:"Fullscreen",id:"fullscreen",level:2},{value:"Highlight",id:"highlight",level:2}];function c(e){const i={admonition:"admonition",h1:"h1",h2:"h2",header:"header",p:"p",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.header,{children:(0,r.jsx)(i.h1,{id:"trip---map",children:"Trip - Map"})}),"\n",(0,r.jsx)(i.admonition,{title:"TL;DR",type:"note",children:(0,r.jsx)(i.p,{children:"The map displays your places and plans, with options to highlight a single day or the entire itinerary."})}),"\n",(0,r.jsx)(i.p,{children:"The map presents a visual overview of your trip by showing all places and itineraries, based on your plans."}),"\n",(0,r.jsx)("img",{src:"/trip/img/trip_map.png",alt:"Trip - Map section"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"Trip - Map section"})}),"\n",(0,r.jsx)(i.h2,{id:"fullscreen",children:"Fullscreen"}),"\n",(0,r.jsx)(i.p,{children:"You can expand the map to fullscreen for a better view."}),"\n",(0,r.jsx)("img",{src:"/trip/img/trip_map_fscreen.png",alt:"Trip - Map fullscreen"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"Trip - Map fullscreen"})}),"\n",(0,r.jsx)(i.h2,{id:"highlight",children:"Highlight"}),"\n",(0,r.jsx)(i.p,{children:"In fullscreen mode, easily toggle between highlighting a specific day's itinerary or the complete one."}),"\n",(0,r.jsx)("img",{src:"/trip/img/trip_map_fscreen_hlight.png",alt:"Trip - Map fullscreen with itinerary highlight"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"Trip - Map fullscreen with day or complete itinerary highlights"})})]})}function h(e={}){const{wrapper:i}={...(0,s.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,i,n)=>{n.d(i,{R:()=>p,x:()=>a});var t=n(6540);const r={},s=t.createContext(r);function p(e){const i=t.useContext(s);return t.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:p(e.components),t.createElement(s.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/7e910379.e69e8fd8.js b/docs/assets/js/7e910379.e69e8fd8.js new file mode 100644 index 0000000..e8a20d1 --- /dev/null +++ b/docs/assets/js/7e910379.e69e8fd8.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[906],{5923:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>o});const a=JSON.parse('{"id":"map-tracker/places-creation","title":"Places - Creation","description":"Creating a Place using the Place creation modal","source":"@site/docs/map-tracker/places-creation.md","sourceDirName":"map-tracker","slug":"/map-tracker/places-creation","permalink":"/trip/docs/map-tracker/places-creation","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"description":"Creating a Place using the Place creation modal"},"sidebar":"docSidebar","previous":{"title":"Places","permalink":"/trip/docs/map-tracker/places"},"next":{"title":"Map - Panel","permalink":"/trip/docs/map-tracker/map-panel"}}');var t=i(4848),l=i(8453);const s={sidebar_position:3,description:"Creating a Place using the Place creation modal"},r="Places - Creation",c={},o=[{value:"GMaps API autocompletion",id:"gmaps-api-autocompletion",level:3},{value:"GMaps Place Parser",id:"gmaps-place-parser",level:3},{value:"Latitude, Longitude Parser",id:"latitude-longitude-parser",level:3},{value:"Batch Creation",id:"batch-creation",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"places---creation",children:"Places - Creation"})}),"\n",(0,t.jsx)(n.admonition,{title:"TL;DR",type:"note",children:(0,t.jsxs)(n.p,{children:["Modal supports ",(0,t.jsx)(n.a,{href:"places-creation#latitude-longitude-parser",children:"flexible coordinate formats"}),", ",(0,t.jsx)(n.a,{href:"places-creation#gmaps-place-parser",children:"Google Maps Place links"}),", and ",(0,t.jsx)(n.a,{href:"places-creation#gmaps-api-autocompletion",children:"Google Maps API"})," autocomplete (API key required)."]})}),"\n",(0,t.jsx)(n.p,{children:"Creating a place is done through the place creation modal."}),"\n",(0,t.jsx)("img",{src:"/trip/img/place_creation_modal.png",alt:"Place creation modal"}),"\n",(0,t.jsx)("div",{style:{textAlign:"center"},children:(0,t.jsx)("sup",{children:"Place creation modal"})}),"\n",(0,t.jsx)(n.p,{children:"A place contains the following informations:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"name"}),": the place's name"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"latitude"}),": latitude coordinates (",(0,t.jsx)(n.a,{href:"places-creation",children:"supports multiple formats"}),")"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"longitude"}),": longitude coordinates"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"place"}),": address or identifier (",(0,t.jsx)(n.a,{href:"places-creation#gmaps-place-parser",children:"supports GMaps Place link"}),")"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"category"}),": a label to categorize the places"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"image"}),": optional image to display in the map"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"duration"}),": optional duration in minutes (e.g., ",(0,t.jsx)(n.code,{children:"90"}),")"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"price"}),": optional price"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"description"}),": optional description (links will be auto-clickable)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"allow dog"}),": optional boolean indicating if dogs are allowed"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"visited"}),": status indicating if the place has been visited (controls default visibility)"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"gpx"}),": optional GPX file to display trace on the map"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"gmaps-api-autocompletion",children:"GMaps API autocompletion"}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsxs)(n.p,{children:["You must add your ",(0,t.jsx)(n.em,{children:"Google API Key"})," in your ",(0,t.jsx)(n.a,{href:"settings",children:"settings"}),"."]})}),"\n",(0,t.jsx)(n.p,{children:"After entering a name, you can autocomplete the other fields by clicking the button inside the input area."}),"\n",(0,t.jsx)("img",{src:"/trip/img/place_gmaps_api.png",alt:"Autocomplete using GMaps API"}),"\n",(0,t.jsx)("div",{style:{textAlign:"center"},children:(0,t.jsx)("sup",{children:"Autocomplete using GMaps API"})}),"\n",(0,t.jsx)(n.h3,{id:"gmaps-place-parser",children:"GMaps Place Parser"}),"\n",(0,t.jsxs)(n.p,{children:["You can paste a Google Maps place link (",(0,t.jsx)(n.em,{children:(0,t.jsx)(n.a,{href:"https://www.google.com/maps/place/XXX",children:"https://www.google.com/maps/place/XXX"})}),") into the ",(0,t.jsx)(n.code,{children:"place"})," input to automatically populate the ",(0,t.jsx)(n.code,{children:"name"}),", ",(0,t.jsx)(n.code,{children:"place"}),", ",(0,t.jsx)(n.code,{children:"latitude"})," and ",(0,t.jsx)(n.code,{children:"longitude"})," fields from the link content."]}),"\n",(0,t.jsx)("img",{src:"/trip/img/place_gmaps_parse.png",alt:"Parse Google Maps place link"}),"\n",(0,t.jsx)("div",{style:{textAlign:"center"},children:(0,t.jsx)("sup",{children:"Parse Google Maps place link"})}),"\n",(0,t.jsx)(n.h3,{id:"latitude-longitude-parser",children:"Latitude, Longitude Parser"}),"\n",(0,t.jsxs)(n.p,{children:["The ",(0,t.jsx)(n.code,{children:"latitude"})," field is flexible and supports multiple LatLng coordinate formats, like:"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:"37.7749, -122.4194"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:"37.7749\xb0 N, 122.4194\xb0 W"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:"37\xb046'29.64\" N, 122\xb025'9.84\" W"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.code,{children:"37\xb046.494' N, 122\xb025.164' W"})}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["It also supports full* ",(0,t.jsx)(n.a,{href:"https://maps.google.com/pluscodes/",children:"Plus Code"})," (e.g., ",(0,t.jsx)(n.code,{children:"849VCWC8+R9"}),")."]}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsxs)(n.p,{children:["Only full Plus Codes are currently handled. The ",(0,t.jsx)(n.code,{children:"+"})," sign is added after eight characters for full codes\xa0(e.g., ",(0,t.jsx)(n.code,{children:"849VCWC8+R9"}),") and after the four characters for short codes (e.g., not full: ",(0,t.jsx)(n.code,{children:"V75V+9Q"}),")."]})}),"\n",(0,t.jsx)(n.h2,{id:"batch-creation",children:"Batch Creation"}),"\n",(0,t.jsx)(n.p,{children:"Places can\xa0be created using\xa0the batch creation\xa0dialog, which\xa0accepts a JSON\xa0array Example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-json",children:'[\n { "category": "Culture", "name": "Car Museum", "lat": 12.12, "lng": 50.89, "place": "Auto History Museum" },\n {\n "category": "Nature & Outdoor",\n "name": "An amazing park",\n "lat": 50.12,\n "lng": 12.89,\n "place": "The Park",\n "image": "https://upload.wikimedia.org/wikipedia/commons/b/be/Random_pyramids.jpg"\n }\n]\n'})}),"\n",(0,t.jsx)(n.admonition,{title:"mandatory properties",type:"warning",children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:'"category": "Category name" (case-sensitive)\n"name": "The name"\n"lat": 0.00\n"lng": 0.00\n"place": "Your string"\n'})})}),"\n",(0,t.jsxs)(n.admonition,{title:"optional properties",type:"note",children:[(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{children:'"image": "https://example.com/image.jpg"\n"allowdog": true/false\n"description": "A description for the place"\n"price": 0.00\n"duration": 0\n"favorite": true/false\n"visited": true/false\n"gpx": "gpx file content"\n'})}),(0,t.jsx)(n.p,{children:"Image URLs must include the file extension. URLs without it will create the place but won't attach the image."})]})]})}function p(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>r});var a=i(6540);const t={},l=a.createContext(t);function s(e){const n=a.useContext(l);return a.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),a.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/7fd16edc.641e9b8d.js b/docs/assets/js/7fd16edc.641e9b8d.js new file mode 100644 index 0000000..ef4562a --- /dev/null +++ b/docs/assets/js/7fd16edc.641e9b8d.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[89],{4578:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>p,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"trips-planner/trip-ano-share","title":"Trip - Anonymous share","description":"Share your trip publicly via a unique read-only link","source":"@site/docs/trips-planner/trip-ano-share.md","sourceDirName":"trips-planner","slug":"/trips-planner/trip-ano-share","permalink":"/trip/docs/trips-planner/trip-ano-share","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":12,"frontMatter":{"sidebar_position":12,"description":"Share your trip publicly via a unique read-only link"},"sidebar":"docSidebar","previous":{"title":"Trip - Collaboration","permalink":"/trip/docs/trips-planner/trip-collaboration"},"next":{"title":"Trip - Archive","permalink":"/trip/docs/trips-planner/trip-archive"}}');var t=i(4848),a=i(8453);const o={sidebar_position:12,description:"Share your trip publicly via a unique read-only link"},s="Trip - Anonymous share",p={},l=[];function c(e){const n={admonition:"admonition",h1:"h1",header:"header",p:"p",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"trip---anonymous-share",children:"Trip - Anonymous share"})}),"\n",(0,t.jsx)(n.admonition,{title:"TL;DR",type:"note",children:(0,t.jsx)(n.p,{children:"Share your trip publicly via a unique read-only link. Others can view all trip details without an account. The shared trip stays synchronized with your updates.\nYou can revoke sharing anytime by removing it."})}),"\n",(0,t.jsx)(n.p,{children:"You can share your trip\xa0publicly via\xa0a dedicated link\xa0using the\xa0share\xa0feature. link enables others to view your trip without needing an account. This shared trip is read-only: users with the link will not be able to update any element."}),"\n",(0,t.jsx)(n.p,{children:"When you use the share feature, the app generates a unique URL that you can copy and distribute. Anyone with the link can fully explore your trip, including places, plans, notes, checklist and packing list."}),"\n",(0,t.jsx)(n.p,{children:"The shared trip stays synchronized with any update you make. If you update your trip after sharing, the changes will be reflected."}),"\n",(0,t.jsx)(n.p,{children:"When you no longer want your trip to be shared, you can revoke access by deleting the share link, making it inaccessible to others."}),"\n",(0,t.jsx)("img",{src:"/trip/img/trip_share.png",alt:"Trip sharing modal"}),"\n",(0,t.jsx)("div",{style:{textAlign:"center"},children:(0,t.jsx)("sup",{children:"Trip sharing modal"})})]})}function u(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>s});var r=i(6540);const t={},a=r.createContext(t);function o(e){const n=r.useContext(a);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/82b76652.d448a0c0.js b/docs/assets/js/82b76652.d448a0c0.js new file mode 100644 index 0000000..8675ff7 --- /dev/null +++ b/docs/assets/js/82b76652.d448a0c0.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[470],{2426:(n,t,e)=>{e.r(t),e.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>a,metadata:()=>i,toc:()=>p});const i=JSON.parse('{"id":"trips-planner/introduction","title":"Introduction","description":"Introduction to Map","source":"@site/docs/trips-planner/introduction.md","sourceDirName":"trips-planner","slug":"/trips-planner/introduction","permalink":"/trip/docs/trips-planner/introduction","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"description":"Introduction to Map"},"sidebar":"docSidebar","previous":{"title":"Trips Planner","permalink":"/trip/docs/category/trips-planner"},"next":{"title":"Trips","permalink":"/trip/docs/trips-planner/trips"}}');var r=e(4848),o=e(8453);const a={sidebar_position:1,description:"Introduction to Map"},s="Introduction",c={},p=[];function d(n){const t={a:"a",admonition:"admonition",h1:"h1",header:"header",p:"p",...(0,o.R)(),...n.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"introduction",children:"Introduction"})}),"\n",(0,r.jsx)(t.admonition,{title:"TL;DR",type:"note",children:(0,r.jsx)(t.p,{children:"Your next journey plans are organized in a table with a map view. Upload attachments, use the checklist and packing list to ease your planning. Collaborate with other members on your Trip."})}),"\n",(0,r.jsxs)(t.p,{children:["TRIP supports your trip planning phase with a ",(0,r.jsx)(t.a,{href:"trip-concepts",children:"dedicated interface"}),". Your plans are organized in a ",(0,r.jsx)(t.a,{href:"trip-plans",children:"table format"})," and can be visualized alongside on a ",(0,r.jsx)(t.a,{href:"trip-map",children:"map"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["Beyond itinerary planning, it offers extra features to simplify preparation, including ",(0,r.jsx)(t.a,{href:"trip-attachments-lists",children:"attachments, a checklist, a packing list"}),", and more."]}),"\n",(0,r.jsxs)(t.p,{children:["You can also ",(0,r.jsx)(t.a,{href:"trip-collaboration",children:"collaborate"})," on your trip with other users within your instance, enhancing group planning and coordination."]}),"\n",(0,r.jsx)("img",{src:"/trip/img/sc_trip.jpg",alt:"Trip - Overview"}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"Trip - Overview"})})]})}function l(n={}){const{wrapper:t}={...(0,o.R)(),...n.components};return t?(0,r.jsx)(t,{...n,children:(0,r.jsx)(d,{...n})}):d(n)}},8453:(n,t,e)=>{e.d(t,{R:()=>a,x:()=>s});var i=e(6540);const r={},o=i.createContext(r);function a(n){const t=i.useContext(o);return i.useMemo(function(){return"function"==typeof n?n(t):{...t,...n}},[t,n])}function s(n){let t;return t=n.disableParentContext?"function"==typeof n.components?n.components(r):n.components||r:a(n.components),i.createElement(o.Provider,{value:t},n.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/a199cff3.87b3df57.js b/docs/assets/js/a199cff3.87b3df57.js new file mode 100644 index 0000000..85b8145 --- /dev/null +++ b/docs/assets/js/a199cff3.87b3df57.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[409],{7558:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"map-tracker/introduction","title":"Introduction","description":"Introduction to Map","source":"@site/docs/map-tracker/introduction.md","sourceDirName":"map-tracker","slug":"/map-tracker/introduction","permalink":"/trip/docs/map-tracker/introduction","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"description":"Introduction to Map"},"sidebar":"docSidebar","previous":{"title":"Map Tracker","permalink":"/trip/docs/category/map-tracker"},"next":{"title":"Places","permalink":"/trip/docs/map-tracker/places"}}');var i=n(4848),s=n(8453);const o={sidebar_position:1,description:"Introduction to Map"},c="Introduction",a={},d=[];function p(e){const t={a:"a",admonition:"admonition",em:"em",h1:"h1",header:"header",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"introduction",children:"Introduction"})}),"\n",(0,i.jsx)(t.p,{children:"TRIP is designed to help you track points of interest on a map, not just plan trips."}),"\n",(0,i.jsx)(t.admonition,{title:"important",type:"info",children:(0,i.jsx)(t.p,{children:"Places and trips have distinct scopes. A place exists independently of any trip."})}),"\n",(0,i.jsxs)(t.p,{children:["Places represent your points of interest, such as ",(0,i.jsx)(t.em,{children:"parks"}),", ",(0,i.jsx)(t.em,{children:"museums"}),", ",(0,i.jsx)(t.em,{children:"secret bars"})," or a ",(0,i.jsx)(t.em,{children:"cycling path"}),". They're your points of interest!"]}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsxs)(t.p,{children:["Customize your categories in your ",(0,i.jsx)(t.a,{href:"settings#categories",children:"Settings (Categories)"}),"."]})}),"\n",(0,i.jsxs)(t.p,{children:["You can use it to track geocaches (using a dedicated geocache category for instance), list stores of a certain chain, map your contacts and more. The use case is yours, and it's versatile enough to meet your needs. If not? Head to the ",(0,i.jsx)(t.a,{href:"https://github.com/itskovacs/trip/discussions",children:"repository discussions"})," and let me know!"]}),"\n",(0,i.jsx)("img",{src:"/trip/img/screenshot.jpg",alt:"TRIP - Overview"}),"\n",(0,i.jsx)("div",{style:{textAlign:"center"},children:(0,i.jsx)("sup",{children:"TRIP - Overview"})})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>c});var r=n(6540);const i={},s=r.createContext(i);function o(e){const t=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/a7456010.e71bf6db.js b/docs/assets/js/a7456010.e71bf6db.js new file mode 100644 index 0000000..46fa4a0 --- /dev/null +++ b/docs/assets/js/a7456010.e71bf6db.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[235],{8552:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/docs/assets/js/a7bd4aaa.9fc1ddc3.js b/docs/assets/js/a7bd4aaa.9fc1ddc3.js new file mode 100644 index 0000000..d44bf57 --- /dev/null +++ b/docs/assets/js/a7bd4aaa.9fc1ddc3.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[98],{1723:(n,s,e)=>{e.r(s),e.d(s,{default:()=>d});e(6540);var r=e(5500);function o(n,s){return`docs-${n}-${s}`}var t=e(3025),i=e(2831),c=e(1463),a=e(4848);function u(n){const{version:s}=n;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.A,{version:s.version,tag:o(s.pluginId,s.version)}),(0,a.jsx)(r.be,{children:s.noIndex&&(0,a.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(n){const{version:s,route:e}=n;return(0,a.jsx)(r.e3,{className:s.className,children:(0,a.jsx)(t.n,{version:s,children:(0,i.v)(e.routes)})})}function d(n){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(u,{...n}),(0,a.jsx)(l,{...n})]})}}}]); \ No newline at end of file diff --git a/docs/assets/js/a94703ab.2971bd44.js b/docs/assets/js/a94703ab.2971bd44.js new file mode 100644 index 0000000..3e1793e --- /dev/null +++ b/docs/assets/js/a94703ab.2971bd44.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[48],{3363:(e,t,n)=>{n.d(t,{A:()=>l});n(6540);var a=n(4164),i=n(1312),o=n(1107),s=n(4848);function l({className:e}){return(0,s.jsx)("main",{className:(0,a.A)("container margin-vert--xl",e),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(i.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(i.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(i.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},8115:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ke});var a=n(6540),i=n(4164),o=n(5500),s=n(7559),l=n(6972),r=n(609),c=n(1312),d=n(3104),u=n(5062);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var b=n(4848);function h(){const{shown:e,scrollToTop:t}=function({threshold:e}){const[t,n]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:o,cancelScroll:s}=(0,d.gk)();return(0,d.Mq)(({scrollY:t},a)=>{const o=a?.scrollY;o&&(i.current?i.current=!1:t>=o?(s(),n(!1)):t {e.location.hash&&(i.current=!0,n(!1))}),{shown:t,scrollToTop:()=>o(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,i.A)("clean-btn",s.G.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(3109),x=n(6347),j=n(4581),f=n(6342),g=n(3465);function v(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const _="collapseSidebarButton_PEFL",k="collapseSidebarButtonIcon_kv0_";function A({onClick:e}){return(0,b.jsx)("button",{type:"button",title:(0,c.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,i.A)("button button--secondary button--outline",_),onClick:e,children:(0,b.jsx)(v,{className:k})})}var C=n(5041),S=n(9532);const T=Symbol("EmptyContext"),N=a.createContext(T);function I({children:e}){const[t,n]=(0,a.useState)(null),i=(0,a.useMemo)(()=>({expandedItem:t,setExpandedItem:n}),[t]);return(0,b.jsx)(N.Provider,{value:i,children:e})}var y=n(1422),B=n(9169),L=n(8774),w=n(2303),E=n(6654),M=n(3186);const H="menuExternalLink_NmtK",P="linkLabel_WmDU";function G({label:e}){return(0,b.jsx)("span",{title:e,className:P,children:e})}function W({item:e,onItemClick:t,activePath:n,level:a,index:o,...r}){const{href:c,label:d,className:u,autoAddBaseUrl:m}=e,h=(0,l.w8)(e,n),p=(0,E.A)(c);return(0,b.jsx)("li",{className:(0,i.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(a),"menu__list-item",u),children:(0,b.jsxs)(L.A,{className:(0,i.A)("menu__link",!p&&H,{"menu__link--active":h}),autoAddBaseUrl:m,"aria-current":h?"page":void 0,to:c,...p&&{onClick:t?()=>t(e):void 0},...r,children:[(0,b.jsx)(G,{label:d}),!p&&(0,b.jsx)(M.A,{})]})},d)}const R="categoryLink_byQd",D="categoryLinkLabel_W154";function U({collapsed:e,categoryLabel:t,onClick:n}){return(0,b.jsx)("button",{"aria-label":e?(0,c.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:t}):(0,c.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:t}),"aria-expanded":!e,type:"button",className:"clean-btn menu__caret",onClick:n})}function F({label:e}){return(0,b.jsx)("span",{title:e,className:D,children:e})}function V(e){return 0===(0,l.Y)(e.item.items,e.activePath).length?(0,b.jsx)(Y,{...e}):(0,b.jsx)(K,{...e})}function Y({item:e,...t}){if("string"!=typeof e.href)return null;const{type:n,collapsed:a,collapsible:i,items:o,linkUnlisted:s,...l}=e,r={type:"link",...l};return(0,b.jsx)(W,{item:r,...t})}function K({item:e,onItemClick:t,activePath:n,level:o,index:r,...c}){const{items:d,label:u,collapsible:m,className:h,href:p}=e,{docs:{sidebar:{autoCollapseCategories:x}}}=(0,f.p)(),j=function(e){const t=(0,w.A)();return(0,a.useMemo)(()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.Nr)(e):void 0,[e,t])}(e),g=(0,l.w8)(e,n),v=(0,B.ys)(p,n),{collapsed:_,setCollapsed:k}=(0,y.u)({initialState:()=>!!m&&(!g&&e.collapsed)}),{expandedItem:A,setExpandedItem:C}=function(){const e=(0,a.useContext)(N);if(e===T)throw new S.dV("DocSidebarItemsExpandedStateProvider");return e}(),I=(e=!_)=>{C(e?null:r),k(e)};!function({isActive:e,collapsed:t,updateCollapsed:n,activePath:i}){const o=(0,S.ZC)(e),s=(0,S.ZC)(i);(0,a.useEffect)(()=>{(e&&!o||e&&o&&i!==s)&&t&&n(!1)},[e,o,t,n,i,s])}({isActive:g,collapsed:_,updateCollapsed:I,activePath:n}),(0,a.useEffect)(()=>{m&&null!=A&&A!==r&&x&&k(!0)},[m,A,r,k,x]);return(0,b.jsxs)("li",{className:(0,i.A)(s.G.docs.docSidebarItemCategory,s.G.docs.docSidebarItemCategoryLevel(o),"menu__list-item",{"menu__list-item--collapsed":_},h),children:[(0,b.jsxs)("div",{className:(0,i.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,b.jsx)(L.A,{className:(0,i.A)(R,"menu__link",{"menu__link--sublist":m,"menu__link--sublist-caret":!p&&m,"menu__link--active":g}),onClick:n=>{t?.(e),m&&(p?v?(n.preventDefault(),I()):I(!1):(n.preventDefault(),I()))},"aria-current":v?"page":void 0,role:m&&!p?"button":void 0,"aria-expanded":m&&!p?!_:void 0,href:m?j??"#":j,...c,children:(0,b.jsx)(F,{label:u})}),p&&m&&(0,b.jsx)(U,{collapsed:_,categoryLabel:u,onClick:e=>{e.preventDefault(),I()}})]}),(0,b.jsx)(y.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:_,children:(0,b.jsx)(Z,{items:d,tabIndex:_?-1:0,onItemClick:t,activePath:n,level:o+1})})]})}const z="menuHtmlItem_M9Kj";function q({item:e,level:t,index:n}){const{value:a,defaultStyle:o,className:l}=e;return(0,b.jsx)("li",{className:(0,i.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(t),o&&[z,"menu__list-item"],l),dangerouslySetInnerHTML:{__html:a}},n)}function O({item:e,...t}){switch(e.type){case"category":return(0,b.jsx)(V,{item:e,...t});case"html":return(0,b.jsx)(q,{item:e,...t});default:return(0,b.jsx)(W,{item:e,...t})}}function Q({items:e,...t}){const n=(0,l.Y)(e,t.activePath);return(0,b.jsx)(I,{children:n.map((e,n)=>(0,b.jsx)(O,{item:e,index:n,...t},n))})}const Z=(0,a.memo)(Q),J="menu_SIkG",X="menuWithAnnouncementBar_GW3s";function $({path:e,sidebar:t,className:n}){const o=function(){const{isActive:e}=(0,C.M)(),[t,n]=(0,a.useState)(e);return(0,d.Mq)(({scrollY:t})=>{e&&n(0===t)},[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,i.A)("menu thin-scrollbar",J,o&&X,n),children:(0,b.jsx)("ul",{className:(0,i.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(Z,{items:t,activePath:e,level:1})})})}const ee="sidebar_njMd",te="sidebarWithHideableNavbar_wUlq",ne="sidebarHidden_VK0M",ae="sidebarLogo_isFc";function ie({path:e,sidebar:t,onCollapse:n,isHidden:a}){const{navbar:{hideOnScroll:o},docs:{sidebar:{hideable:s}}}=(0,f.p)();return(0,b.jsxs)("div",{className:(0,i.A)(ee,o&&te,a&&ne),children:[o&&(0,b.jsx)(g.A,{tabIndex:-1,className:ae}),(0,b.jsx)($,{path:e,sidebar:t}),s&&(0,b.jsx)(A,{onClick:n})]})}const oe=a.memo(ie);var se=n(5600),le=n(2069);const re=({sidebar:e,path:t})=>{const n=(0,le.M)();return(0,b.jsx)("ul",{className:(0,i.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(Z,{items:e,activePath:t,onItemClick:e=>{"category"===e.type&&e.href&&n.toggle(),"link"===e.type&&n.toggle()},level:1})})};function ce(e){return(0,b.jsx)(se.GX,{component:re,props:e})}const de=a.memo(ce);function ue(e){const t=(0,j.l)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(oe,{...e}),a&&(0,b.jsx)(de,{...e})]})}const me={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function be({toggleSidebar:e}){return(0,b.jsx)("div",{className:me.expandButton,title:(0,c.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:e,onClick:e,children:(0,b.jsx)(v,{className:me.expandButtonIcon})})}const he={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function pe({children:e}){const t=(0,r.t)();return(0,b.jsx)(a.Fragment,{children:e},t?.name??"noSidebar")}function xe({sidebar:e,hiddenSidebarContainer:t,setHiddenSidebarContainer:n}){const{pathname:o}=(0,x.zy)(),[l,r]=(0,a.useState)(!1),c=(0,a.useCallback)(()=>{l&&r(!1),!l&&(0,p.O)()&&r(!0),n(e=>!e)},[n,l]);return(0,b.jsx)("aside",{className:(0,i.A)(s.G.docs.docSidebarContainer,he.docSidebarContainer,t&&he.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(he.docSidebarContainer)&&t&&r(!0)},children:(0,b.jsx)(pe,{children:(0,b.jsxs)("div",{className:(0,i.A)(he.sidebarViewport,l&&he.sidebarViewportHidden),children:[(0,b.jsx)(ue,{sidebar:e,path:o,onCollapse:c,isHidden:l}),l&&(0,b.jsx)(be,{toggleSidebar:c})]})})})}const je={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function fe({hiddenSidebarContainer:e,children:t}){const n=(0,r.t)();return(0,b.jsx)("main",{className:(0,i.A)(je.docMainContainer,(e||!n)&&je.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,i.A)("container padding-top--md padding-bottom--lg",je.docItemWrapper,e&&je.docItemWrapperEnhanced),children:t})})}const ge={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function ve({children:e}){const t=(0,r.t)(),[n,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:ge.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:ge.docRoot,children:[t&&(0,b.jsx)(xe,{sidebar:t.items,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}),(0,b.jsx)(fe,{hiddenSidebarContainer:n,children:e})]})]})}var _e=n(3363);function ke(e){const t=(0,l.B5)(e);if(!t)return(0,b.jsx)(_e.A,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(o.e3,{className:(0,i.A)(s.G.page.docsDocPage),children:(0,b.jsx)(r.V,{name:a,items:c,children:(0,b.jsx)(ve,{children:n})})})}}}]); \ No newline at end of file diff --git a/docs/assets/js/aba21aa0.615d9be6.js b/docs/assets/js/aba21aa0.615d9be6.js new file mode 100644 index 0000000..2043dcc --- /dev/null +++ b/docs/assets/js/aba21aa0.615d9be6.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[742],{7093:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/docs/assets/js/b62cd033.86a39958.js b/docs/assets/js/b62cd033.86a39958.js new file mode 100644 index 0000000..f44012b --- /dev/null +++ b/docs/assets/js/b62cd033.86a39958.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[192],{3182:i=>{i.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docSidebar":[{"type":"link","href":"/trip/docs/intro","label":"Introduction","docId":"intro","unlisted":false},{"type":"category","label":"Getting Started","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/trip/docs/getting-started/deploy","label":"Deployment","docId":"getting-started/deploy","unlisted":false},{"type":"link","href":"/trip/docs/getting-started/configuration","label":"Configuration","docId":"getting-started/configuration","unlisted":false}],"href":"/trip/docs/category/getting-started"},{"type":"category","label":"Map Tracker","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/trip/docs/map-tracker/introduction","label":"Introduction","docId":"map-tracker/introduction","unlisted":false},{"type":"link","href":"/trip/docs/map-tracker/places","label":"Places","docId":"map-tracker/places","unlisted":false},{"type":"link","href":"/trip/docs/map-tracker/places-creation","label":"Places - Creation","docId":"map-tracker/places-creation","unlisted":false},{"type":"link","href":"/trip/docs/map-tracker/map-panel","label":"Map - Panel","docId":"map-tracker/map-panel","unlisted":false},{"type":"link","href":"/trip/docs/map-tracker/map-filtering","label":"Map - Filtering","docId":"map-tracker/map-filtering","unlisted":false},{"type":"link","href":"/trip/docs/map-tracker/settings","label":"Settings","docId":"map-tracker/settings","unlisted":false}],"href":"/trip/docs/category/map-tracker"},{"type":"category","label":"Trips Planner","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/trip/docs/trips-planner/introduction","label":"Introduction","docId":"trips-planner/introduction","unlisted":false},{"type":"link","href":"/trip/docs/trips-planner/trips","label":"Trips","docId":"trips-planner/trips","unlisted":false},{"type":"link","href":"/trip/docs/trips-planner/trip-creation","label":"Trip - Creation","docId":"trips-planner/trip-creation","unlisted":false},{"type":"link","href":"/trip/docs/trips-planner/trip-concepts","label":"Trip - Concepts","docId":"trips-planner/trip-concepts","unlisted":false},{"type":"link","href":"/trip/docs/trips-planner/trip-places","label":"Trip - Places","docId":"trips-planner/trip-places","unlisted":false},{"type":"link","href":"/trip/docs/trips-planner/trip-map","label":"Trip - Map","docId":"trips-planner/trip-map","unlisted":false},{"type":"link","href":"/trip/docs/trips-planner/trip-plans","label":"Trip - Plans","docId":"trips-planner/trip-plans","unlisted":false},{"type":"link","href":"/trip/docs/trips-planner/trip-plan-creation","label":"Trip - Plan creation","docId":"trips-planner/trip-plan-creation","unlisted":false},{"type":"link","href":"/trip/docs/trips-planner/trip-attachments-lists","label":"Trip - Attachments & lists","docId":"trips-planner/trip-attachments-lists","unlisted":false},{"type":"link","href":"/trip/docs/trips-planner/trip-export","label":"Trip - Export and print","docId":"trips-planner/trip-export","unlisted":false},{"type":"link","href":"/trip/docs/trips-planner/trip-collaboration","label":"Trip - Collaboration","docId":"trips-planner/trip-collaboration","unlisted":false},{"type":"link","href":"/trip/docs/trips-planner/trip-ano-share","label":"Trip - Anonymous share","docId":"trips-planner/trip-ano-share","unlisted":false},{"type":"link","href":"/trip/docs/trips-planner/trip-archive","label":"Trip - Archive","docId":"trips-planner/trip-archive","unlisted":false}],"href":"/trip/docs/category/trips-planner"},{"type":"category","label":"Miscelaneous","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/trip/docs/misc/backup","label":"Backup and Restore","docId":"misc/backup","unlisted":false},{"type":"link","href":"/trip/docs/misc/synology","label":"Installing on Synology NAS","docId":"misc/synology","unlisted":false}],"href":"/trip/docs/category/miscelaneous"},{"type":"link","href":"/trip/docs/contributing","label":"Contributing","docId":"contributing","unlisted":false}]},"docs":{"contributing":{"id":"contributing","title":"Contributing","description":"Contributions are welcome! Open an issue to report bugs, start a discussion to share ideas or submit a pull request for new features.","sidebar":"docSidebar"},"getting-started/configuration":{"id":"getting-started/configuration","title":"Configuration","description":"Configure TRIP","sidebar":"docSidebar"},"getting-started/deploy":{"id":"getting-started/deploy","title":"Deployment","description":"Deploy TRIP","sidebar":"docSidebar"},"intro":{"id":"intro","title":"Introduction","description":"TRIP is a self-hostable minimalist Map tracker and Trips planner to visualize your points of interest (POI) and organize your next adventure details.","sidebar":"docSidebar"},"map-tracker/introduction":{"id":"map-tracker/introduction","title":"Introduction","description":"Introduction to Map","sidebar":"docSidebar"},"map-tracker/map-filtering":{"id":"map-tracker/map-filtering","title":"Map - Filtering","description":"Filtering the Places on the Map","sidebar":"docSidebar"},"map-tracker/map-panel":{"id":"map-tracker/map-panel","title":"Map - Panel","description":"Displaying the Places panel","sidebar":"docSidebar"},"map-tracker/places":{"id":"map-tracker/places","title":"Places","description":"Your map displays all your Places (Points of Interest). Click on any Place to view details and interact with it.","sidebar":"docSidebar"},"map-tracker/places-creation":{"id":"map-tracker/places-creation","title":"Places - Creation","description":"Creating a Place using the Place creation modal","sidebar":"docSidebar"},"map-tracker/settings":{"id":"map-tracker/settings","title":"Settings","description":"Customize your app experience, manage categories, make backups, enable TOTP, and more.","sidebar":"docSidebar"},"misc/backup":{"id":"misc/backup","title":"Backup and Restore","description":"Backup and Restore your data","sidebar":"docSidebar"},"misc/synology":{"id":"misc/synology","title":"Installing on Synology NAS","description":"Installing on Synology NAS using Docker and Portainer","sidebar":"docSidebar"},"trips-planner/introduction":{"id":"trips-planner/introduction","title":"Introduction","description":"Introduction to Map","sidebar":"docSidebar"},"trips-planner/trip-ano-share":{"id":"trips-planner/trip-ano-share","title":"Trip - Anonymous share","description":"Share your trip publicly via a unique read-only link","sidebar":"docSidebar"},"trips-planner/trip-archive":{"id":"trips-planner/trip-archive","title":"Trip - Archive","description":"Archive a Trip once it\'s complete","sidebar":"docSidebar"},"trips-planner/trip-attachments-lists":{"id":"trips-planner/trip-attachments-lists","title":"Trip - Attachments & lists","description":"Your trip can hold attachments, a checklist, a packing list","sidebar":"docSidebar"},"trips-planner/trip-collaboration":{"id":"trips-planner/trip-collaboration","title":"Trip - Collaboration","description":"Collaborate on a trip with other members","sidebar":"docSidebar"},"trips-planner/trip-concepts":{"id":"trips-planner/trip-concepts","title":"Trip - Concepts","description":"Trip days, plans, a trip is organized in a table-like structure","sidebar":"docSidebar"},"trips-planner/trip-creation":{"id":"trips-planner/trip-creation","title":"Trip - Creation","description":"Creating a trip","sidebar":"docSidebar"},"trips-planner/trip-export":{"id":"trips-planner/trip-export","title":"Trip - Export and print","description":"Export your trip\xa0in multiple formats\xa0to suit your\xa0needs","sidebar":"docSidebar"},"trips-planner/trip-map":{"id":"trips-planner/trip-map","title":"Trip - Map","description":"The map displays your places and plans, with options to highlight itineraries","sidebar":"docSidebar"},"trips-planner/trip-places":{"id":"trips-planner/trip-places","title":"Trip - Places","description":"A trip can reference places","sidebar":"docSidebar"},"trips-planner/trip-plan-creation":{"id":"trips-planner/trip-plan-creation","title":"Trip - Plan creation","description":"Create your first plan","sidebar":"docSidebar"},"trips-planner/trip-plans":{"id":"trips-planner/trip-plans","title":"Trip - Plans","description":"Understand your trip plans","sidebar":"docSidebar"},"trips-planner/trips":{"id":"trips-planner/trips","title":"Trips","description":"Viewing your trips","sidebar":"docSidebar"}}}}')}}]); \ No newline at end of file diff --git a/docs/assets/js/bc3400a6.8f3aea16.js b/docs/assets/js/bc3400a6.8f3aea16.js new file mode 100644 index 0000000..1ca6e32 --- /dev/null +++ b/docs/assets/js/bc3400a6.8f3aea16.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[26],{1270:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>P,contentTitle:()=>D,default:()=>q,frontMatter:()=>N,metadata:()=>t,toc:()=>V});const t=JSON.parse('{"id":"misc/synology","title":"Installing on Synology NAS","description":"Installing on Synology NAS using Docker and Portainer","source":"@site/docs/misc/synology.md","sourceDirName":"misc","slug":"/misc/synology","permalink":"/trip/docs/misc/synology","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"description":"Installing on Synology NAS using Docker and Portainer"},"sidebar":"docSidebar","previous":{"title":"Backup and Restore","permalink":"/trip/docs/misc/backup"},"next":{"title":"Contributing","permalink":"/trip/docs/contributing"}}');var o=r(4848),i=r(8453),s=r(6540),a=r(4164),l=r(7559),c=r(3104),u=r(6347),d=r(205),p=r(7485),h=r(1682),g=r(679);function m(e){return s.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})?.filter(Boolean)??[]}function f(e){const{values:n,children:r}=e;return(0,s.useMemo)(()=>{const e=n??function(e){return m(e).map(({props:{value:e,label:n,attributes:r,default:t}})=>({value:e,label:n,attributes:r,default:t}))}(r);return function(e){const n=(0,h.XI)(e,(e,n)=>e.value===n.value);if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in . Every value needs to be unique.`)}(e),e},[n,r])}function x({value:e,tabValues:n}){return n.some(n=>n.value===e)}function j({queryString:e=!1,groupId:n}){const r=(0,u.W6)(),t=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:e,groupId:n});return[(0,p.aZ)(t),(0,s.useCallback)(e=>{if(!t)return;const n=new URLSearchParams(r.location.search);n.set(t,e),r.replace({...r.location,search:n.toString()})},[t,r])]}function y(e){const{defaultValue:n,queryString:r=!1,groupId:t}=e,o=f(e),[i,a]=(0,s.useState)(()=>function({defaultValue:e,tabValues:n}){if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(e){if(!x({value:e,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}const r=n.find(e=>e.default)??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:n,tabValues:o})),[l,c]=j({queryString:r,groupId:t}),[u,p]=function({groupId:e}){const n=function(e){return e?`docusaurus.tab.${e}`:null}(e),[r,t]=(0,g.Dv)(n);return[r,(0,s.useCallback)(e=>{n&&t.set(e)},[n,t])]}({groupId:t}),h=(()=>{const e=l??u;return x({value:e,tabValues:o})?e:null})();(0,d.A)(()=>{h&&a(h)},[h]);return{selectedValue:i,selectValue:(0,s.useCallback)(e=>{if(!x({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);a(e),c(e),p(e)},[c,p,o]),tabValues:o}}var b=r(2303);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function S({className:e,block:n,selectedValue:r,selectValue:t,tabValues:i}){const s=[],{blockElementScrollPositionUntilNextRender:l}=(0,c.a_)(),u=e=>{const n=e.currentTarget,o=s.indexOf(n),a=i[o].value;a!==r&&(l(n),t(a))},d=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const r=s.indexOf(e.currentTarget)+1;n=s[r]??s[0];break}case"ArrowLeft":{const r=s.indexOf(e.currentTarget)-1;n=s[r]??s[s.length-1];break}}n?.focus()};return(0,o.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.A)("tabs",{"tabs--block":n},e),children:i.map(({value:e,label:n,attributes:t})=>(0,o.jsx)("li",{role:"tab",tabIndex:r===e?0:-1,"aria-selected":r===e,ref:e=>{s.push(e)},onKeyDown:d,onClick:u,...t,className:(0,a.A)("tabs__item",v.tabItem,t?.className,{"tabs__item--active":r===e}),children:n??e},e))})}function k({lazy:e,children:n,selectedValue:r}){const t=(Array.isArray(n)?n:[n]).filter(Boolean);if(e){const e=t.find(e=>e.props.value===r);return e?(0,s.cloneElement)(e,{className:(0,a.A)("margin-top--md",e.props.className)}):null}return(0,o.jsx)("div",{className:"margin-top--md",children:t.map((e,n)=>(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==r}))})}function w(e){const n=y(e);return(0,o.jsxs)("div",{className:(0,a.A)(l.G.tabs.container,"tabs-container",v.tabList),children:[(0,o.jsx)(S,{...n,...e}),(0,o.jsx)(k,{...n,...e})]})}function I(e){const n=(0,b.A)();return(0,o.jsx)(w,{...e,children:m(e.children)},String(n))}const A={tabItem:"tabItem_Ymn6"};function C({children:e,hidden:n,className:r}){return(0,o.jsx)("div",{role:"tabpanel",className:(0,a.A)(A.tabItem,r),hidden:n,children:e})}const N={sidebar_position:2,description:"Installing on Synology NAS using Docker and Portainer"},D="Installing on Synology NAS",P={},V=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Step 1: Storage directory",id:"step-1-storage-directory",level:2},{value:"Step 2: Deploy",id:"step-2-deploy",level:2},{value:"Step 3: Access the App",id:"step-3-access-the-app",level:2},{value:"Step 4: Optional Configuration",id:"step-4-optional-configuration",level:2}];function T(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"installing-on-synology-nas",children:"Installing on Synology NAS"})}),"\n",(0,o.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Synology NAS with Docker support"}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"https://www.synology.com/en-us/dsm/packages/Docker",children:"Docker"})," installed via Synology Package Center"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.a,{href:"https://www.portainer.io/",children:"Portainer"})," (Community Edition) installed and running"]}),"\n",(0,o.jsx)(n.li,{children:"Basic knowledge of Synology DSM, Portainer, and network setup"}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"step-1-storage-directory",children:"Step 1: Storage directory"}),"\n",(0,o.jsx)(n.p,{children:"Create a directory for persistent storage:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"mkdir -p /volume1/docker/trip-storage\n"})}),"\n",(0,o.jsx)(n.p,{children:"Alternatively, create the folder using Synology File Station"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"/volume1/docker/trip-storage\n"})}),"\n",(0,o.jsx)(n.h2,{id:"step-2-deploy",children:"Step 2: Deploy"}),"\n",(0,o.jsxs)(I,{children:[(0,o.jsxs)(C,{value:"dcompose",label:"Docker Compose (Recommended)",default:!0,children:[(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"Open Portainer"}),"\n",(0,o.jsx)(n.li,{children:"Go to Stacks \u2192 Add Stack."}),"\n",(0,o.jsxs)(n.li,{children:["Name the stack (e.g., ",(0,o.jsx)(n.code,{children:"trip"}),")."]}),"\n",(0,o.jsx)(n.li,{children:"Paste this content:"}),"\n"]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",children:'version: "3.9"\nservices:\n trip:\n container_name: trip\n image: ghcr.io/itskovacs/trip:1\n user: 1000:1000 # Adjust to your Synology PUID:PGID\n security_opt:\n - no-new-privileges:true\n volumes:\n - /volume1/docker/trip-storage:/app/storage # Adjust to storage dir\n restart: on-failure:5\n ports:\n - "8080:8000"\n'})}),(0,o.jsxs)(n.ol,{start:"5",children:["\n",(0,o.jsx)(n.li,{children:"Click Deploy the stack."}),"\n"]})]}),(0,o.jsxs)(C,{value:"manual",label:"Docker run",children:[(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"In Portainer, go to Containers \u2192 Add Container."}),"\n",(0,o.jsx)(n.li,{children:"Fill out the following fields:"}),"\n"]}),(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Name"}),": ",(0,o.jsx)(n.code,{children:"trip"})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Image"}),": ",(0,o.jsx)(n.code,{children:"ghcr.io/itskovacs/trip:1"})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Port mapping"}),": ",(0,o.jsx)(n.code,{children:"8080"})," \u2192 ",(0,o.jsx)(n.code,{children:"8000"})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Volume mapping"}),":","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Host: ",(0,o.jsx)(n.code,{children:"/volume1/docker/trip-storage"})," (adjust to storage dir)"]}),"\n",(0,o.jsxs)(n.li,{children:["Container: ",(0,o.jsx)(n.code,{children:"/app/storage"})]}),"\n"]}),"\n"]}),"\n"]}),(0,o.jsxs)(n.ol,{start:"3",children:["\n",(0,o.jsx)(n.li,{children:"Click Deploy the container."}),"\n"]})]})]}),"\n",(0,o.jsx)(n.h2,{id:"step-3-access-the-app",children:"Step 3: Access the App"}),"\n",(0,o.jsx)(n.p,{children:"Open a browser and go to:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:" :8080\n"})}),"\n",(0,o.jsx)(n.p,{children:"You should see the TRIP web interface."}),"\n",(0,o.jsx)(n.h2,{id:"step-4-optional-configuration",children:"Step 4: Optional Configuration"}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["TRIP supports advanced configuration via a ",(0,o.jsx)(n.code,{children:"config.yml"})," file or environment variables. See ",(0,o.jsx)(n.a,{href:"http://thinkcentre:9999/trip/docs/getting-started/configuration",children:"Configuration"})," for details."]})}),"\n",(0,o.jsx)(n.p,{children:"For your Synology, you can either:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Edit or create ",(0,o.jsx)(n.code,{children:"config.yml"})," in ",(0,o.jsx)(n.code,{children:"/volume1/docker/trip-storage"})]}),"\n",(0,o.jsx)(n.li,{children:"Set environment variables in your container settings via the Synology Docker or Portainer interface"}),"\n"]}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsx)(n.p,{children:"Changes require restarting the container to take effect"})})]})}function q(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(T,{...e})}):T(e)}},8453:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>a});var t=r(6540);const o={},i=t.createContext(o);function s(e){const n=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/c3ff9a3c.f85214e1.js b/docs/assets/js/c3ff9a3c.f85214e1.js new file mode 100644 index 0000000..2965989 --- /dev/null +++ b/docs/assets/js/c3ff9a3c.f85214e1.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[350],{8230:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>p,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>o});const a=JSON.parse('{"id":"map-tracker/map-panel","title":"Map - Panel","description":"Displaying the Places panel","source":"@site/docs/map-tracker/map-panel.md","sourceDirName":"map-tracker","slug":"/map-tracker/map-panel","permalink":"/trip/docs/map-tracker/map-panel","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"sidebar_position":4,"description":"Displaying the Places panel"},"sidebar":"docSidebar","previous":{"title":"Places - Creation","permalink":"/trip/docs/map-tracker/places-creation"},"next":{"title":"Map - Filtering","permalink":"/trip/docs/map-tracker/map-filtering"}}');var i=t(4848),r=t(8453);const s={sidebar_position:4,description:"Displaying the Places panel"},p="Map - Panel",l={},o=[];function c(e){const n={a:"a",admonition:"admonition",h1:"h1",header:"header",p:"p",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"map---panel",children:"Map - Panel"})}),"\n",(0,i.jsx)(n.admonition,{title:"TL;DR",type:"note",children:(0,i.jsx)(n.p,{children:"Place panel shows only places within your current map view. Clicking opens details. Hovering highlights it on the map and reveals and edit button."})}),"\n",(0,i.jsx)("img",{src:"/trip/img/map_places_panel.png",alt:"Places panel in the map"}),"\n",(0,i.jsx)("div",{style:{textAlign:"center"},children:(0,i.jsx)("sup",{children:"Places panel in the map"})}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"The place panel displays only the places within your current map boundaries (zoom level and position)."})}),"\n",(0,i.jsxs)(n.p,{children:["Clicking a place in the panel opens the\xa0",(0,i.jsx)(n.a,{href:"places#place-details",children:"Place details"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Hovering over a place highlights it on the map with a red circle and reveals an edit button for direct editing."})]})}function d(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>p});var a=t(6540);const i={},r=a.createContext(i);function s(e){const n=a.useContext(r);return a.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function p(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),a.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/c6b70549.384fc1ff.js b/docs/assets/js/c6b70549.384fc1ff.js new file mode 100644 index 0000000..8e1957f --- /dev/null +++ b/docs/assets/js/c6b70549.384fc1ff.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[546],{2719:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"map-tracker/settings","title":"Settings","description":"Customize your app experience, manage categories, make backups, enable TOTP, and more.","source":"@site/docs/map-tracker/settings.md","sourceDirName":"map-tracker","slug":"/map-tracker/settings","permalink":"/trip/docs/map-tracker/settings","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"sidebar_position":6,"description":"Customize your app experience, manage categories, make backups, enable TOTP, and more."},"sidebar":"docSidebar","previous":{"title":"Map - Filtering","permalink":"/trip/docs/map-tracker/map-filtering"},"next":{"title":"Trips Planner","permalink":"/trip/docs/category/trips-planner"}}');var r=t(4848),a=t(8453);const s={sidebar_position:6,description:"Customize your app experience, manage categories, make backups, enable TOTP, and more."},o="Settings",c={},l=[{value:"About",id:"about",level:3},{value:"Account",id:"account",level:3},{value:"Preferences",id:"preferences",level:3},{value:"Categories",id:"categories",level:3},{value:"Backups",id:"backups",level:3}];function d(e){const n={admonition:"admonition",br:"br",em:"em",h1:"h1",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"settings",children:"Settings"})}),"\n",(0,r.jsx)(n.admonition,{title:"TL;DR",type:"note",children:(0,r.jsx)(n.p,{children:"Customize your app experience, manage categories, make backups, enable TOTP, and more."})}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsx)(n.p,{children:"Changes you make\xa0will only affect\xa0your personal\xa0account and will be applied\xa0whenever you\xa0log in."})}),"\n",(0,r.jsx)(n.h3,{id:"about",children:"About"}),"\n",(0,r.jsx)("img",{src:"/trip/img/settings_about.png",alt:"About tab",style:{width:"400px",float:"right",marginLeft:"1rem",marginTop:"-3rem"}}),"\n",(0,r.jsxs)(n.p,{children:["In the\xa0",(0,r.jsx)(n.strong,{children:"About"}),"\xa0section, you can check for updates and toggle the app's dark mode setting to switch the UI theme. You can also import your backup, supporting both legacy\xa0",(0,r.jsx)(n.em,{children:"json"}),"\xa0files and new\xa0",(0,r.jsx)(n.em,{children:"zip archive"}),"\xa0formats."]}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsx)(n.p,{children:"When toggling dark mode, if the map tile provider isn't changed manually, it will automatically update to the corresponding dark or light version."})}),"\n",(0,r.jsx)("br",{}),"\n",(0,r.jsx)(n.h3,{id:"account",children:"Account"}),"\n",(0,r.jsx)("img",{src:"/trip/img/settings_account.png",alt:"Account tab",style:{width:"400px",float:"right",marginLeft:"1rem",marginTop:"-3rem"}}),"\n",(0,r.jsxs)(n.p,{children:["The\xa0",(0,r.jsx)(n.strong,{children:"Account"}),"\xa0section allows you to enable Two-Factor Authentication (TOTP) for enhanced security. You will also need to add your Google API Key here to access Google Maps features within the app."]}),"\n",(0,r.jsx)("br",{}),"\n",(0,r.jsx)(n.h3,{id:"preferences",children:"Preferences"}),"\n",(0,r.jsx)("img",{src:"/trip/img/settings_preferences.png",alt:"Preferences tab",style:{width:"400px",float:"right",marginLeft:"1rem",marginTop:"-2rem"}}),"\n",(0,r.jsxs)(n.p,{children:["In\xa0",(0,r.jsx)(n.strong,{children:"Preferences"}),", you can set your default map parameters, such as the initial latitude and longitude, and choose your preferred tile layer provider. You can also update the currency setting to suit your regional or personal preferences."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Low Network Mode"}),":\nEnabled by default, this mode displays Category images instead of individual Place images to reduce network load by avoiding multiple picture downloads."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"GPX Indication"}),":\nDisabled by default. When enabled, an icon appears in the Place bubble if a GPX file is associated to that Place."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Filter Default Categories"}),":",(0,r.jsx)(n.br,{}),"\n","By default, no categories are hidden. You can customize this to automatically hide certain categories and reduce map clutter."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"categories",children:"Categories"}),"\n",(0,r.jsx)("img",{src:"/trip/img/settings_categories.png",alt:"Categories tab",style:{width:"400px",float:"right",marginLeft:"1rem",marginTop:"-2rem"}}),"\n",(0,r.jsx)(n.p,{children:"Manage and customize your Place categories in this section. Categories help you organize and filter your points of interest on the map for easier navigation."}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsx)(n.p,{children:"A category consists of a name, a color, and optionally an image."})}),"\n",(0,r.jsx)(n.p,{children:"You can edit, delete, or create new categories. Upon registration, the default categories are:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Nature & Outdoor"}),"\n",(0,r.jsx)(n.li,{children:"Entertainment & Leisure"}),"\n",(0,r.jsx)(n.li,{children:"Culture"}),"\n",(0,r.jsx)(n.li,{children:"Food & Drink"}),"\n",(0,r.jsx)(n.li,{children:"Adventure & Sports"}),"\n",(0,r.jsx)(n.li,{children:"Festival & Event"}),"\n",(0,r.jsx)(n.li,{children:"Wellness"}),"\n",(0,r.jsx)(n.li,{children:"Accommodation"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"backups",children:"Backups"}),"\n",(0,r.jsx)("img",{src:"/trip/img/settings_backups.png",alt:"Backups tab",style:{width:"400px",float:"right",marginLeft:"1rem",marginTop:"-3rem"}}),"\n",(0,r.jsxs)(n.p,{children:["The\xa0",(0,r.jsx)(n.strong,{children:"Backups"}),"\xa0section allows you to save and restore your data, ensuring your Places, Trips, and preferences are safely stored and recoverable when needed."]})]})}function p(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>o});var i=t(6540);const r={},a=i.createContext(r);function s(e){const n=i.useContext(a);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/ceb477ef.bba7ec46.js b/docs/assets/js/ceb477ef.bba7ec46.js new file mode 100644 index 0000000..f5bc5e3 --- /dev/null +++ b/docs/assets/js/ceb477ef.bba7ec46.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[394],{4449:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>s,metadata:()=>r,toc:()=>p});const r=JSON.parse('{"id":"trips-planner/trip-archive","title":"Trip - Archive","description":"Archive a Trip once it\'s complete","source":"@site/docs/trips-planner/trip-archive.md","sourceDirName":"trips-planner","slug":"/trips-planner/trip-archive","permalink":"/trip/docs/trips-planner/trip-archive","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":13,"frontMatter":{"sidebar_position":13,"description":"Archive a Trip once it\'s complete"},"sidebar":"docSidebar","previous":{"title":"Trip - Anonymous share","permalink":"/trip/docs/trips-planner/trip-ano-share"},"next":{"title":"Miscelaneous","permalink":"/trip/docs/category/miscelaneous"}}');var n=i(4848),o=i(8453);const s={sidebar_position:13,description:"Archive a Trip once it's complete"},a="Trip - Archive",c={},p=[];function d(e){const t={admonition:"admonition",h1:"h1",header:"header",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"trip---archive",children:"Trip - Archive"})}),"\n",(0,n.jsx)(t.admonition,{title:"TL;DR",type:"note",children:(0,n.jsx)(t.p,{children:"Archive completed trips with an optional review summary. Archived trips are read-only, displayed at the end of your trips page, and you can unarchive them anytime to make edits."})}),"\n",(0,n.jsx)(t.p,{children:"When your trip is completed, you have the option to archive it. During the archive process, the app automatically generates a text summary based on your plans to give you a quick overview of the trip."}),"\n",(0,n.jsx)(t.p,{children:"You should review, edit, and customize this summary as you like to reflect what went well, what could be improved, or any other relevant information for later review."}),"\n",(0,n.jsx)(t.admonition,{title:"important",type:"info",children:(0,n.jsxs)(t.p,{children:["Archived trips are\xa0",(0,n.jsx)(t.strong,{children:"read-only"}),". You can unarchive a trip to make edits and re-archive it whenever needed."]})}),"\n",(0,n.jsx)(t.p,{children:"Archived trips will be displayed at the end of the trips page."}),"\n",(0,n.jsx)("img",{src:"/trip/img/trip_archive.png",alt:"Archive modal"}),"\n",(0,n.jsx)("div",{style:{textAlign:"center"},children:(0,n.jsx)("sup",{children:"Archive modal"})})]})}function l(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>s,x:()=>a});var r=i(6540);const n={},o=r.createContext(n);function s(e){const t=r.useContext(o);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/e1ff7207.b5c0a403.js b/docs/assets/js/e1ff7207.b5c0a403.js new file mode 100644 index 0000000..4bd3fe3 --- /dev/null +++ b/docs/assets/js/e1ff7207.b5c0a403.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[185],{2403:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>l,frontMatter:()=>s,metadata:()=>o,toc:()=>a});const o=JSON.parse('{"id":"getting-started/deploy","title":"Deployment","description":"Deploy TRIP","source":"@site/docs/getting-started/deploy.md","sourceDirName":"getting-started","slug":"/getting-started/deploy","permalink":"/trip/docs/getting-started/deploy","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":0,"frontMatter":{"sidebar_position":0,"description":"Deploy TRIP"},"sidebar":"docSidebar","previous":{"title":"Getting Started","permalink":"/trip/docs/category/getting-started"},"next":{"title":"Configuration","permalink":"/trip/docs/getting-started/configuration"}}');var r=n(4848),i=n(8453);const s={sidebar_position:0,description:"Deploy TRIP"},d="Deployment",c={},a=[{value:"\ud83c\udf31 Getting Started ",id:"-getting-started-",level:2},{value:"Option 1: Docker Compose (Recommended)",id:"option-1-docker-compose-recommended",level:3},{value:"Option 2: Docker Run",id:"option-2-docker-run",level:3}];function p(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"deployment",children:"Deployment"})}),"\n",(0,r.jsxs)(t.h2,{id:"-getting-started-",children:["\ud83c\udf31 Getting Started ",(0,r.jsx)("a",{name:"getting_started"})]}),"\n",(0,r.jsxs)(t.p,{children:["Deployment is designed to be simple using Docker.\nIf you need help, feel free to open a ",(0,r.jsx)(t.a,{href:"https://github.com/itskovacs/trip/discussions",children:"discussion"}),"."]}),"\n",(0,r.jsx)(t.h3,{id:"option-1-docker-compose-recommended",children:"Option 1: Docker Compose (Recommended)"}),"\n",(0,r.jsxs)(t.p,{children:["Use the ",(0,r.jsx)(t.code,{children:"docker-compose.yml"})," file provided in the repository.\nNo changes are required, though you may customize it to suit your needs."]}),"\n",(0,r.jsx)(t.p,{children:"Run the container:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"docker-compose up -d\n"})}),"\n",(0,r.jsx)(t.h3,{id:"option-2-docker-run",children:"Option 2: Docker Run"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"# Ensure you have the latest image\ndocker pull ghcr.io/itskovacs/trip:1\n\n# Run the container\ndocker run -d -p 8080:8000 -v ./storage:/app/storage ghcr.io/itskovacs/trip:1\n"})})]})}function l(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>d});var o=n(6540);const r={},i=o.createContext(r);function s(e){const t=o.useContext(i);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/ea11414a.aa3d0bf4.js b/docs/assets/js/ea11414a.aa3d0bf4.js new file mode 100644 index 0000000..88568c6 --- /dev/null +++ b/docs/assets/js/ea11414a.aa3d0bf4.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[903],{4579:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>p,frontMatter:()=>l,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"trips-planner/trip-plan-creation","title":"Trip - Plan creation","description":"Create your first plan","source":"@site/docs/trips-planner/trip-plan-creation.md","sourceDirName":"trips-planner","slug":"/trips-planner/trip-plan-creation","permalink":"/trip/docs/trips-planner/trip-plan-creation","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":8,"frontMatter":{"sidebar_position":8,"description":"Create your first plan"},"sidebar":"docSidebar","previous":{"title":"Trip - Plans","permalink":"/trip/docs/trips-planner/trip-plans"},"next":{"title":"Trip - Attachments & lists","permalink":"/trip/docs/trips-planner/trip-attachments-lists"}}');var r=i(4848),s=i(8453);const l={sidebar_position:8,description:"Create your first plan"},a="Trip - Plan creation",o={},c=[];function d(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",header:"header",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"trip---plan-creation",children:"Trip - Plan creation"})}),"\n",(0,r.jsx)(n.p,{children:"Creating a plan is done through the plan creation modal."}),"\n",(0,r.jsx)("img",{src:"/trip/img/trip_plan_create.png",alt:""}),"\n",(0,r.jsx)("div",{style:{textAlign:"center"},children:(0,r.jsx)("sup",{children:"Plan creation modal"})}),"\n",(0,r.jsx)(n.p,{children:"A plan has the following fields:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"days"}),": day(s) for the plan"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"time"}),": ",(0,r.jsx)(n.code,{children:"HH:MM"}),"\xa0format time to sort plans within a day"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"text"}),": summary of the plan"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"place"}),": optional place (from referenced ones)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"latitude"}),": latitude coordinates (support multiple formats, e.g., see ",(0,r.jsx)(n.a,{href:"../map-tracker/places-creation#latitude-longitude-parser",children:"Place - Creation"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"longitude"}),": longitude coordinates"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"price"}),": optional price"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"status"}),": optional label to tag the plan (",(0,r.jsx)(n.em,{children:"pending"}),", ",(0,r.jsx)(n.em,{children:"booked"}),", ",(0,r.jsx)(n.em,{children:"constraint"}),", ",(0,r.jsx)(n.em,{children:"optional"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"attachments"}),": optional files linked to the plan, based on the trip attachments"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"comment"}),": optional notes (links will be auto-clickable)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"image"}),": optional image for this plan"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"gpx"}),": optional GPX file to display trace on the map"]}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsxs)(n.p,{children:["Use the ",(0,r.jsx)(n.code,{children:"status"})," field to mark ",(0,r.jsx)(n.em,{children:"pending"})," or ",(0,r.jsx)(n.em,{children:"constraint"})," or ",(0,r.jsx)(n.em,{children:"booked"})," plans to track your bookings and requirements. The ",(0,r.jsx)(n.a,{href:"trip-attachments-lists#checklist",children:"checklist"})," automatically references ",(0,r.jsx)(n.em,{children:"pending"})," and ",(0,r.jsx)(n.em,{children:"constraint"})," plans."]})})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>a});var t=i(6540);const r={},s=t.createContext(r);function l(e){const n=t.useContext(s);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/docs/assets/js/main.5fbd8ce6.js b/docs/assets/js/main.5fbd8ce6.js new file mode 100644 index 0000000..b355069 --- /dev/null +++ b/docs/assets/js/main.5fbd8ce6.js @@ -0,0 +1,2 @@ +/*! For license information please see main.5fbd8ce6.js.LICENSE.txt */ +(globalThis.webpackChunktripdocs=globalThis.webpackChunktripdocs||[]).push([[792],{115:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var l,s,c,u;if(Array.isArray(e)){if((l=e.length)!=i.length)return!1;for(s=l;0!==s--;)if(!o(e[s],i[s]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(u=e.entries();!(s=u.next()).done;)if(!i.has(s.value[0]))return!1;for(u=e.entries();!(s=u.next()).done;)if(!o(s.value[1],i.get(s.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(u=e.entries();!(s=u.next()).done;)if(!i.has(s.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((l=e.length)!=i.length)return!1;for(s=l;0!==s--;)if(e[s]!==i[s])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((l=(c=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(s=l;0!==s--;)if(!Object.prototype.hasOwnProperty.call(i,c[s]))return!1;if(t&&e instanceof Element)return!1;for(s=l;0!==s--;)if(("_owner"!==c[s]&&"__v"!==c[s]&&"__o"!==c[s]||!e.$$typeof)&&!o(e[c[s]],i[c[s]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},119:(e,t,n)=>{"use strict";n.r(t)},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},253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},311:e=>{"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}}},418:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=()=>null},440:(e,t,n)=>{"use strict";t.rA=t.Ks=void 0;const r=n(1635);var a=n(2983);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return r.__importDefault(a).default}});var o=n(2566);var i=n(253);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},545:(e,t,n)=>{"use strict";n.d(t,{mg:()=>J,vd:()=>W});var r=n(6540),a=n(5556),o=n.n(a),i=n(115),l=n.n(i),s=n(311),c=n.n(s),u=n(2833),d=n.n(u);function f(){return f=Object.assign||function(e){for(var t=1;t =0||(a[n]=e[n]);return a}var g={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},y={rel:["amphtml","canonical","alternate"]},b={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(g).map(function(e){return g[e]}),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},S=Object.keys(k).reduce(function(e,t){return e[k[t]]=t,e},{}),x=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=x(e,g.TITLE),n=x(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,function(){return t});var r=x(e,"defaultTitle");return t||r||void 0},_=function(e){return x(e,"onChangeClientState")||function(){}},A=function(e,t){return t.filter(function(t){return void 0!==t[e]}).map(function(t){return t[e]}).reduce(function(e,t){return f({},e,t)},{})},C=function(e,t){return t.filter(function(e){return void 0!==e[g.BASE]}).map(function(e){return e[g.BASE]}).reverse().reduce(function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a /g,">").replace(/"/g,""").replace(/'/g,"'")},I=function(e){return Object.keys(e).reduce(function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r},"")},D=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce(function(t,n){return t[k[n]||n]=e[n],t},t)},F=function(e,t){return t.map(function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach(function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]}),r.createElement(e,o)})},M=function(e,t,n){switch(e){case g.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=D(n,a),[r.createElement(g.TITLE,o,e)];var e,n,a,o},toString:function(){return function(e,t,n,r){var a=I(n),o=N(t);return a?"<"+e+' data-rh="true" '+a+">"+R(o,r)+""+e+">":"<"+e+' data-rh="true">'+R(o,r)+""+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return D(t)},toString:function(){return I(t)}};default:return{toComponent:function(){return F(e,t)},toString:function(){return function(e,t,n){return t.reduce(function(t,r){var a=Object.keys(r).filter(function(e){return!("innerHTML"===e||"cssText"===e)}).reduce(function(e,t){var a=void 0===r[t]?t:t+'="'+R(r[t],n)+'"';return e?e+" "+a:a},""),o=r.innerHTML||r.cssText||"",i=-1===j.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+""+e+">")},"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,l=e.title,s=void 0===l?"":l,c=e.titleAttributes,u=e.linkTags,d=e.metaTags,f=e.scriptTags,p={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=O(e.metaTags,v),o=O(t,y),i=O(n,b);return{priorityMethods:{toComponent:function(){return[].concat(F(g.META,a.priority),F(g.LINK,o.priority),F(g.SCRIPT,i.priority))},toString:function(){return M(g.META,a.priority,r)+" "+M(g.LINK,o.priority,r)+" "+M(g.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);p=m.priorityMethods,u=m.linkTags,d=m.metaTags,f=m.scriptTags}return{priority:p,base:M(g.BASE,t,r),bodyAttributes:M("bodyAttributes",n,r),htmlAttributes:M("htmlAttributes",a,r),link:M(g.LINK,u,r),meta:M(g.META,d,r),noscript:M(g.NOSCRIPT,o,r),script:M(g.SCRIPT,f,r),style:M(g.STYLE,i,r),title:M(g.TITLE,{title:s,titleAttributes:c},r)}},$=[],B=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?$:n.instances},add:function(e){(n.canUseDOM?$:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?$:n.instances).indexOf(e);(n.canUseDOM?$:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),H=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),V="undefined"!=typeof document,W=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new B(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);W.canUseDOM=V,W.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},W.defaultProps={context:{}},W.displayName="HelmetProvider";var G=function(e,t){var n,r=document.head||document.querySelector(g.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach(function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some(function(e,t){return n=t,r.isEqualNode(e)})?o.splice(n,1):i.push(r)}),o.forEach(function(e){return e.parentNode.removeChild(e)}),i.forEach(function(e){return r.appendChild(e)}),{oldTags:o,newTags:i}},q=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),l=0;l =0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},Y=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,l=e.onChangeClientState,s=e.scriptTags,c=e.styleTags,u=e.title,d=e.titleAttributes;q(g.BODY,e.bodyAttributes),q(g.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=N(e)),q(g.TITLE,t)}(u,d);var f={baseTag:G(g.BASE,n),linkTags:G(g.LINK,a),metaTags:G(g.META,o),noscriptTags:G(g.NOSCRIPT,i),scriptTags:G(g.SCRIPT,s),styleTags:G(g.STYLE,c)},p={},m={};Object.keys(f).forEach(function(e){var t=f[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(m[e]=f[e].oldTags)}),t&&t(),l(e,p,m)},K=null,Q=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case g.TITLE:return f({},a,((t={})[r.type]=i,t.titleAttributes=f({},o),t));case g.BODY:return f({},a,{bodyAttributes:f({},o)});case g.HTML:return f({},a,{htmlAttributes:f({},o)});default:return f({},a,((n={})[r.type]=f({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach(function(t){var r;n=f({},n,((r={})[t]=e[t],r))}),n},n.warnOnInvalidChildren=function(e,t){return c()(w.some(function(t){return e.type===t}),"function"==typeof e.type?"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some(function(e){return"string"!=typeof e}),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,function(e){if(e&&e.props){var r=e.props,o=r.children,i=h(r,X),l=Object.keys(i).reduce(function(e,t){return e[S[t]||t]=i[t],e},{}),s=e.type;switch("symbol"==typeof s?s=s.toString():n.warnOnInvalidChildren(e,o),s){case g.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case g.LINK:case g.META:case g.NOSCRIPT:case g.SCRIPT:case g.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:l,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:l,nestedChildren:o})}}}),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=h(e,Z),a=f({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof B||(o=new B(o.context,o.instances)),o?r.createElement(Q,f({},a,{context:o.value,helmetData:void 0})):r.createElement(U.Consumer,null,function(e){return r.createElement(Q,f({},a,{context:e}))})},t}(r.Component);J.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},609:(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({children:e,name:t,items:n}){const a=(0,r.useMemo)(()=>t&&n?{name:t,items:n}:null,[t,n]);return(0,o.jsx)(l.Provider,{value:a,children:e})}function c(){const e=(0,r.useContext)(l);if(e===i)throw new a.dV("DocsSidebarProvider");return e}},679:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>u,Dv:()=>d});var r=n(6540);const a=JSON.parse('{"N":"localStorage","M":""}'),o=a.N;function i({key:e,oldValue:t,newValue:n,storage:r}){if(t===n)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,e,t,n,window.location.href,r),window.dispatchEvent(a)}function l(e=o){if("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,s||(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),s=!0),null}var t}let s=!1;const c={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){const n=`${e}${a.M}`;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}}(n);const r=l(t?.persistence);return null===r?c:{get:()=>{try{return r.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=r.getItem(n);r.setItem(n,e),i({key:n,oldValue:t,newValue:e,storage:r})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=r.getItem(n);r.removeItem(n),i({key:n,oldValue:e,newValue:null,storage:r})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===r&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}function d(e,t){const[n]=(0,r.useState)(()=>null===e?c:u(e,t)),a=(0,r.useCallback)(e=>"undefined"==typeof window?()=>{}:n.listen(e),[n]);return[(0,r.useSyncExternalStore)(a,()=>n.get(),()=>null),n]}},961:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(6221)},1043:(e,t,n)=>{"use strict";n.r(t)},1107:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(4164),a=n(1312),o=n(3535),i=n(8774),l=n(3427),s=n(4848);function c({as:e,id:t,...n}){const c=(0,l.A)(),u=(0,o.v)(t);if("h1"===e||!t)return(0,s.jsx)(e,{...n,id:void 0});c.collectAnchor(t);const d=(0,a.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof n.children?n.children:t});return(0,s.jsxs)(e,{...n,className:(0,r.A)("anchor",u,n.className),id:t,children:[n.children,(0,s.jsx)(i.A,{className:"hash-link",to:`#${t}`,"aria-label":d,title:d,translate:"no",children:"\u200b"})]})}},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({className:e,children:t}){const n=(0,o.A)(),{colorMode:c}=(0,i.G)();return(0,s.jsx)(s.Fragment,{children:(n?"dark"===c?["dark"]:["light"]:["light","dark"]).map(n=>{const o=t({theme:n,className:(0,a.A)(e,l.themedComponent,l[`themedComponent--${n}`])});return(0,s.jsx)(r.Fragment,{children:o},n)})})}function u(e){const{sources:t,className:n,alt:r,...a}=e;return(0,s.jsx)(c,{className:n,children:({theme:e,className:n})=>(0,s.jsx)("img",{src:t[e],alt:r,className:n,...a})})}},1247:(e,t,n)=>{"use strict";var r=n(9982),a=n(6540),o=n(961);function i(e){var t="https://react.dev/errors/"+e;if(1 M||(e.current=F[M],F[M]=null,M--)}function B(e,t){M++,F[M]=e.current,e.current=t}var U,H,V=z(null),W=z(null),G=z(null),q=z(null);function Y(e,t){switch(B(G,t),B(W,e),B(V,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?yd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=bd(t=yd(t),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}$(V),B(V,e)}function K(){$(V),$(W),$(G)}function Q(e){null!==e.memoizedState&&B(q,e);var t=V.current,n=bd(t,e.type);t!==n&&(B(W,e),B(V,n))}function X(e){W.current===e&&($(V),$(W)),q.current===e&&($(q),df._currentValue=D)}function Z(e){if(void 0===U)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);U=t&&t[1]||"",H=-1 )":-1 --a||s[r]!==c[a]){var u="\n"+s[r].replace(" at new "," at ");return e.displayName&&u.includes(" ")&&(u=u.replace(" ",e.displayName)),u}}while(1<=r&&0<=a);break}}}finally{J=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Z(n):""}function te(e,t){switch(e.tag){case 26:case 27:case 5:return Z(e.type);case 16:return Z("Lazy");case 13:return e.child!==t&&null!==t?Z("Suspense Fallback"):Z("Suspense");case 19:return Z("SuspenseList");case 0:case 15:return ee(e.type,!1);case 11:return ee(e.type.render,!1);case 1:return ee(e.type,!0);case 31:return Z("Activity");default:return""}}function ne(e){try{var t="",n=null;do{t+=te(e,n),n=e,e=e.return}while(e);return t}catch(r){return"\nError generating stack: "+r.message+"\n"+r.stack}}var re=Object.prototype.hasOwnProperty,ae=r.unstable_scheduleCallback,oe=r.unstable_cancelCallback,ie=r.unstable_shouldYield,le=r.unstable_requestPaint,se=r.unstable_now,ce=r.unstable_getCurrentPriorityLevel,ue=r.unstable_ImmediatePriority,de=r.unstable_UserBlockingPriority,fe=r.unstable_NormalPriority,pe=r.unstable_LowPriority,me=r.unstable_IdlePriority,he=r.log,ge=r.unstable_setDisableYieldValue,ye=null,be=null;function ve(e){if("function"==typeof he&&ge(e),be&&"function"==typeof be.setStrictMode)try{be.setStrictMode(ye,e)}catch(t){}}var we=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(ke(e)/Se|0)|0},ke=Math.log,Se=Math.LN2;var xe=256,Ee=262144,_e=4194304;function Ae(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return 261888&e;case 262144:case 524288:case 1048576:case 2097152:return 3932160&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ce(e,t,n){var r=e.pendingLanes;if(0===r)return 0;var a=0,o=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=134217727&r;return 0!==l?0!==(r=l&~o)?a=Ae(r):0!==(i&=l)?a=Ae(i):n||0!==(n=l&~e)&&(a=Ae(n)):0!==(l=r&~o)?a=Ae(l):0!==i?a=Ae(i):n||0!==(n=r&~e)&&(a=Ae(n)),0===a?0:0!==t&&t!==a&&0===(t&o)&&((o=a&-a)>=(n=t&-t)||32===o&&4194048&n)?t:a}function Te(e,t){return 0===(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function Pe(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function Ne(){var e=_e;return!(62914560&(_e<<=1))&&(_e=4194304),e}function Oe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Le(e,t){e.pendingLanes|=t,268435456!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function je(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-we(t);e.entangledLanes|=t,e.entanglements[r]=1073741824|e.entanglements[r]|261930&n}function Re(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-we(n),a=1< =An),Pn=String.fromCharCode(32),Nn=!1;function On(e,t){switch(e){case"keyup":return-1!==En.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ln(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var jn=!1;var Rn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function In(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Rn[e.type]:"textarea"===t}function Dn(e,t,n,r){It?Dt?Dt.push(r):Dt=[r]:It=r,0<(t=rd(t,"onChange")).length&&(n=new nn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Fn=null,Mn=null;function zn(e){Ku(e,0)}function $n(e){if(mt(Ze(e)))return e}function Bn(e,t){if("change"===e)return t}var Un=!1;if(Bt){var Hn;if(Bt){var Vn="oninput"in document;if(!Vn){var Wn=document.createElement("div");Wn.setAttribute("oninput","return;"),Vn="function"==typeof Wn.oninput}Hn=Vn}else Hn=!1;Un=Hn&&(!document.documentMode||9 =t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=er(r)}}function nr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?nr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function rr(e){for(var t=ht((e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window).document);t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=ht((e=t.contentWindow).document)}return t}function ar(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var or=Bt&&"documentMode"in document&&11>=document.documentMode,ir=null,lr=null,sr=null,cr=!1;function ur(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;cr||null==ir||ir!==ht(r)||("selectionStart"in(r=ir)&&ar(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},sr&&Jn(sr,r)||(sr=r,0<(r=rd(lr,"onSelect")).length&&(t=new nn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=ir)))}function dr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var fr={animationend:dr("Animation","AnimationEnd"),animationiteration:dr("Animation","AnimationIteration"),animationstart:dr("Animation","AnimationStart"),transitionrun:dr("Transition","TransitionRun"),transitionstart:dr("Transition","TransitionStart"),transitioncancel:dr("Transition","TransitionCancel"),transitionend:dr("Transition","TransitionEnd")},pr={},mr={};function hr(e){if(pr[e])return pr[e];if(!fr[e])return e;var t,n=fr[e];for(t in n)if(n.hasOwnProperty(t)&&t in mr)return pr[e]=n[t];return e}Bt&&(mr=document.createElement("div").style,"AnimationEvent"in window||(delete fr.animationend.animation,delete fr.animationiteration.animation,delete fr.animationstart.animation),"TransitionEvent"in window||delete fr.transitionend.transition);var gr=hr("animationend"),yr=hr("animationiteration"),br=hr("animationstart"),vr=hr("transitionrun"),wr=hr("transitionstart"),kr=hr("transitioncancel"),Sr=hr("transitionend"),xr=new Map,Er="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function _r(e,t){xr.set(e,t),rt(t,[e])}Er.push("scrollEnd");var Ar="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)},Cr=[],Tr=0,Pr=0;function Nr(){for(var e=Tr,t=Pr=Tr=0;t >=i,a-=i,na=1<<32-we(t)+a|n<h?(g=d,d=null):g=d.sibling;var y=p(a,d,l[h],s);if(null===y){null===d&&(d=g);break}e&&d&&null===y.alternate&&t(a,d),i=o(y,i,h),null===u?c=y:u.sibling=y,u=y,d=g}if(h===l.length)return n(a,d),da&&aa(a,h),c;if(null===d){for(;h g?(y=h,h=null):y=h.sibling;var v=p(a,h,b.value,c);if(null===v){null===h&&(h=y);break}e&&h&&null===v.alternate&&t(a,h),l=o(v,l,g),null===d?u=v:d.sibling=v,d=v,h=y}if(b.done)return n(a,h),da&&aa(a,g),u;if(null===h){for(;!b.done;g++,b=s.next())null!==(b=f(a,b.value,c))&&(l=o(b,l,g),null===d?u=b:d.sibling=b,d=b);return da&&aa(a,g),u}for(h=r(h);!b.done;g++,b=s.next())null!==(b=m(h,a,g,b.value,c))&&(e&&null!==b.alternate&&h.delete(null===b.key?g:b.key),l=o(b,l,g),null===d?u=b:d.sibling=b,d=b);return e&&h.forEach(function(e){return t(a,e)}),da&&aa(a,g),u}(s,c,u=v.call(u),d)}if("function"==typeof u.then)return b(s,c,co(u),d);if(u.$$typeof===k)return b(s,c,ja(s,u),d);fo(s,u)}return"string"==typeof u&&""!==u||"number"==typeof u||"bigint"==typeof u?(u=""+u,null!==c&&6===c.tag?(n(s,c.sibling),(d=a(c,u)).return=s,s=d):(n(s,c),(d=Vr(u,s.mode,d)).return=s,s=d),l(s)):n(s,c)}return function(e,t,n,r){try{so=0;var a=b(e,t,n,r);return lo=null,a}catch(i){if(i===Xa||i===Ja)throw i;var o=Mr(29,i,null,e.mode);return o.lanes=r,o.return=e,o}}}var mo=po(!0),ho=po(!1),go=!1;function yo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function bo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function vo(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function wo(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,2&pc){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,t=Ir(e),Rr(e,null,n),t}return Or(e,r,t,n),Ir(e)}function ko(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194048&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,Re(e,n)}}function So(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,callbacks:r.callbacks},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var xo=!1;function Eo(){if(xo){if(null!==Va)throw Va}}function _o(e,t,n,r){xo=!1;var a=e.updateQueue;go=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(null!==l){a.shared.pending=null;var s=l,c=s.next;s.next=null,null===i?o=c:i.next=c,i=s;var u=e.alternate;null!==u&&((l=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===l?u.firstBaseUpdate=c:l.next=c,u.lastBaseUpdate=s))}if(null!==o){var d=a.baseState;for(i=0,u=c=s=null,l=o;;){var f=-536870913&l.lane,m=f!==l.lane;if(m?(gc&f)===f:(r&f)===f){0!==f&&f===Ha&&(xo=!0),null!==u&&(u=u.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var h=e,g=l;f=t;var y=n;switch(g.tag){case 1:if("function"==typeof(h=g.payload)){d=h.call(y,d,f);break e}d=h;break e;case 3:h.flags=-65537&h.flags|128;case 0:if(null==(f="function"==typeof(h=g.payload)?h.call(y,d,f):h))break e;d=p({},d,f);break e;case 2:go=!0}}null!==(f=l.callback)&&(e.flags|=64,m&&(e.flags|=8192),null===(m=a.callbacks)?a.callbacks=[f]:m.push(f))}else m={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===u?(c=u=m,s=d):u=u.next=m,i|=f;if(null===(l=l.next)){if(null===(l=a.shared.pending))break;l=(m=l).next,m.next=null,a.lastBaseUpdate=m,a.shared.pending=null}}null===u&&(s=d),a.baseState=s,a.firstBaseUpdate=c,a.lastBaseUpdate=u,null===o&&(a.shared.lanes=0),Ec|=i,e.lanes=i,e.memoizedState=d}}function Ao(e,t){if("function"!=typeof e)throw Error(i(191,e));e.call(t)}function Co(e,t){var n=e.callbacks;if(null!==n)for(e.callbacks=null,e=0;e o?o:8;var i,l,s,c=R.T,u={};R.T=u,dl(e,!1,t,n);try{var d=a(),f=R.S;if(null!==f&&f(u,d),null!==d&&"object"==typeof d&&"function"==typeof d.then)ul(e,t,(i=r,l=[],s={status:"pending",value:null,reason:null,then:function(e){l.push(e)}},d.then(function(){s.status="fulfilled",s.value=i;for(var e=0;e <\/script>",o=o.removeChild(o.firstChild);break;case"select":o="string"==typeof r.is?l.createElement("select",{is:r.is}):l.createElement("select"),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o="string"==typeof r.is?l.createElement(a,{is:r.is}):l.createElement(a)}}o[Be]=t,o[Ue]=r;e:for(l=t.child;null!==l;){if(5===l.tag||6===l.tag)o.appendChild(l.stateNode);else if(4!==l.tag&&27!==l.tag&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===t)break e;for(;null===l.sibling;){if(null===l.return||l.return===t)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}t.stateNode=o;e:switch(fd(o,a,r),a){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&ls(t)}}return fs(t),ss(t,t.type,null===e||e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&ls(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(i(166));if(e=G.current,ba(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(a=ca))switch(a.tag){case 27:case 5:r=a.memoizedProps}e[Be]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||cd(e.nodeValue,n)))||ha(t,!0)}else(e=gd(e).createTextNode(r))[Be]=t,t.stateNode=e}return fs(t),null;case 31:if(n=t.memoizedState,null===e||null!==e.memoizedState){if(r=ba(t),null!==n){if(null===e){if(!r)throw Error(i(318));if(!(e=null!==(e=t.memoizedState)?e.dehydrated:null))throw Error(i(557));e[Be]=t}else va(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;fs(t),e=!1}else n=wa(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return 256&t.flags?(zo(t),t):(zo(t),null);if(128&t.flags)throw Error(i(558))}return fs(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(a=ba(t),null!==r&&null!==r.dehydrated){if(null===e){if(!a)throw Error(i(318));if(!(a=null!==(a=t.memoizedState)?a.dehydrated:null))throw Error(i(317));a[Be]=t}else va(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;fs(t),a=!1}else a=wa(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return 256&t.flags?(zo(t),t):(zo(t),null)}return zo(t),128&t.flags?(t.lanes=n,t):(n=null!==r,e=null!==e&&null!==e.memoizedState,n&&(a=null,null!==(r=t.child).alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(a=r.alternate.memoizedState.cachePool.pool),o=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),us(t,t.updateQueue),fs(t),null);case 4:return K(),null===e&&Ju(t.stateNode.containerInfo),fs(t),null;case 10:return Aa(t.type),fs(t),null;case 19:if($($o),null===(r=t.memoizedState))return fs(t),null;if(a=!!(128&t.flags),null===(o=r.rendering))if(a)ds(r,!1);else{if(0!==xc||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(o=Bo(e))){for(t.flags|=128,ds(r,!1),e=o.updateQueue,t.updateQueue=e,us(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)Br(n,e),n=n.sibling;return B($o,1&$o.current|2),da&&aa(t,r.treeForkCount),t.child}e=e.sibling}null!==r.tail&&se()>Rc&&(t.flags|=128,a=!0,ds(r,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=Bo(o))){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,us(t,e),ds(r,!0),null===r.tail&&"hidden"===r.tailMode&&!o.alternate&&!da)return fs(t),null}else 2*se()-r.renderingStartTime>Rc&&536870912!==n&&(t.flags|=128,a=!0,ds(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(null!==(e=r.last)?e.sibling=o:t.child=o,r.last=o)}return null!==r.tail?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=se(),e.sibling=null,n=$o.current,B($o,a?1&n|2:1&n),da&&aa(t,r.treeForkCount),e):(fs(t),null);case 22:case 23:return zo(t),Lo(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?!!(536870912&n)&&!(128&t.flags)&&(fs(t),6&t.subtreeFlags&&(t.flags|=8192)):fs(t),null!==(n=t.updateQueue)&&us(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&$(qa),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Aa(Ma),fs(t),null;case 25:case 30:return null}throw Error(i(156,t.tag))}function ms(e,t){switch(la(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Aa(Ma),K(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return X(t),null;case 31:if(null!==t.memoizedState){if(zo(t),null===t.alternate)throw Error(i(340));va()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 13:if(zo(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(i(340));va()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return $($o),null;case 4:return K(),null;case 10:return Aa(t.type),null;case 22:case 23:return zo(t),Lo(),null!==e&&$(qa),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return Aa(Ma),null;default:return null}}function hs(e,t){switch(la(t),t.tag){case 3:Aa(Ma),K();break;case 26:case 27:case 5:X(t);break;case 4:K();break;case 31:null!==t.memoizedState&&zo(t);break;case 13:zo(t);break;case 19:$($o);break;case 10:Aa(t.type);break;case 22:case 23:zo(t),Lo(),null!==e&&$(qa);break;case 24:Aa(Ma)}}function gs(e,t){try{var n=t.updateQueue,r=null!==n?n.lastEffect:null;if(null!==r){var a=r.next;n=a;do{if((n.tag&e)===e){r=void 0;var o=n.create,i=n.inst;r=o(),i.destroy=r}n=n.next}while(n!==a)}}catch(l){xu(t,t.return,l)}}function ys(e,t,n){try{var r=t.updateQueue,a=null!==r?r.lastEffect:null;if(null!==a){var o=a.next;r=o;do{if((r.tag&e)===e){var i=r.inst,l=i.destroy;if(void 0!==l){i.destroy=void 0,a=t;var s=n,c=l;try{c()}catch(u){xu(a,s,u)}}}r=r.next}while(r!==o)}}catch(u){xu(t,t.return,u)}}function bs(e){var t=e.updateQueue;if(null!==t){var n=e.stateNode;try{Co(t,n)}catch(r){xu(e,e.return,r)}}}function vs(e,t,n){n.props=xl(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){xu(e,t,r)}}function ws(e,t){try{var n=e.ref;if(null!==n){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;default:r=e.stateNode}"function"==typeof n?e.refCleanup=n(r):n.current=r}}catch(a){xu(e,t,a)}}function ks(e,t){var n=e.ref,r=e.refCleanup;if(null!==n)if("function"==typeof r)try{r()}catch(a){xu(e,t,a)}finally{e.refCleanup=null,null!=(e=e.alternate)&&(e.refCleanup=null)}else if("function"==typeof n)try{n(null)}catch(o){xu(e,t,o)}else n.current=null}function Ss(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break e;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(a){xu(e,e.return,a)}}function xs(e,t,n){try{var r=e.stateNode;!function(e,t,n,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var a=null,o=null,l=null,s=null,c=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&null!=f)switch(m){case"checked":case"value":break;case"defaultValue":c=f;default:r.hasOwnProperty(m)||ud(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(null!=m||null!=f))switch(p){case"type":o=m;break;case"name":a=m;break;case"checked":u=m;break;case"defaultChecked":d=m;break;case"value":l=m;break;case"defaultValue":s=m;break;case"children":case"dangerouslySetInnerHTML":if(null!=m)throw Error(i(137,t));break;default:m!==f&&ud(e,t,p,m,r,f)}}return void bt(e,l,s,c,u,d,o,a);case"select":for(o in m=l=s=p=null,n)if(c=n[o],n.hasOwnProperty(o)&&null!=c)switch(o){case"value":break;case"multiple":m=c;default:r.hasOwnProperty(o)||ud(e,t,o,null,r,c)}for(a in r)if(o=r[a],c=n[a],r.hasOwnProperty(a)&&(null!=o||null!=c))switch(a){case"value":p=o;break;case"defaultValue":s=o;break;case"multiple":l=o;default:o!==c&&ud(e,t,a,o,r,c)}return t=s,n=l,r=m,void(null!=p?kt(e,!!n,p,!1):!!r!=!!n&&(null!=t?kt(e,!!n,t,!0):kt(e,!!n,n?[]:"",!1)));case"textarea":for(s in m=p=null,n)if(a=n[s],n.hasOwnProperty(s)&&null!=a&&!r.hasOwnProperty(s))switch(s){case"value":case"children":break;default:ud(e,t,s,null,r,a)}for(l in r)if(a=r[l],o=n[l],r.hasOwnProperty(l)&&(null!=a||null!=o))switch(l){case"value":p=a;break;case"defaultValue":m=a;break;case"children":break;case"dangerouslySetInnerHTML":if(null!=a)throw Error(i(91));break;default:a!==o&&ud(e,t,l,a,r,o)}return void St(e,p,m);case"option":for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&null!=p&&!r.hasOwnProperty(h))if("selected"===h)e.selected=!1;else ud(e,t,h,null,r,p);for(c in r)if(p=r[c],m=n[c],r.hasOwnProperty(c)&&p!==m&&(null!=p||null!=m))if("selected"===c)e.selected=p&&"function"!=typeof p&&"symbol"!=typeof p;else ud(e,t,c,p,r,m);return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var g in n)p=n[g],n.hasOwnProperty(g)&&null!=p&&!r.hasOwnProperty(g)&&ud(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(null!=p||null!=m))switch(u){case"children":case"dangerouslySetInnerHTML":if(null!=p)throw Error(i(137,t));break;default:ud(e,t,u,p,r,m)}return;default:if(Tt(t)){for(var y in n)p=n[y],n.hasOwnProperty(y)&&void 0!==p&&!r.hasOwnProperty(y)&&dd(e,t,y,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||void 0===p&&void 0===m||dd(e,t,d,p,r,m);return}}for(var b in n)p=n[b],n.hasOwnProperty(b)&&null!=p&&!r.hasOwnProperty(b)&&ud(e,t,b,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||null==p&&null==m||ud(e,t,f,p,r,m)}(r,e.type,n,t),r[Ue]=t}catch(a){xu(e,e.return,a)}}function Es(e){return 5===e.tag||3===e.tag||26===e.tag||27===e.tag&&Ad(e.type)||4===e.tag}function _s(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Es(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(27===e.tag&&Ad(e.type))continue e;if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function As(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?(9===n.nodeType?n.body:"HTML"===n.nodeName?n.ownerDocument.body:n).insertBefore(e,t):((t=9===n.nodeType?n.body:"HTML"===n.nodeName?n.ownerDocument.body:n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Lt));else if(4!==r&&(27===r&&Ad(e.type)&&(n=e.stateNode,t=null),null!==(e=e.child)))for(As(e,t,n),e=e.sibling;null!==e;)As(e,t,n),e=e.sibling}function Cs(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&(27===r&&Ad(e.type)&&(n=e.stateNode),null!==(e=e.child)))for(Cs(e,t,n),e=e.sibling;null!==e;)Cs(e,t,n),e=e.sibling}function Ts(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);fd(t,r,n),t[Be]=e,t[Ue]=n}catch(o){xu(e,e.return,o)}}var Ps=!1,Ns=!1,Os=!1,Ls="function"==typeof WeakSet?WeakSet:Set,js=null;function Rs(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Ys(e,n),4&r&&gs(5,n);break;case 1:if(Ys(e,n),4&r)if(e=n.stateNode,null===t)try{e.componentDidMount()}catch(i){xu(n,n.return,i)}else{var a=xl(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(a,t,e.__reactInternalSnapshotBeforeUpdate)}catch(l){xu(n,n.return,l)}}64&r&&bs(n),512&r&&ws(n,n.return);break;case 3:if(Ys(e,n),64&r&&null!==(e=n.updateQueue)){if(t=null,null!==n.child)switch(n.child.tag){case 27:case 5:case 1:t=n.child.stateNode}try{Co(e,t)}catch(i){xu(n,n.return,i)}}break;case 27:null===t&&4&r&&Ts(n);case 26:case 5:Ys(e,n),null===t&&4&r&&Ss(n),512&r&&ws(n,n.return);break;case 12:Ys(e,n);break;case 31:Ys(e,n),4&r&&$s(e,n);break;case 13:Ys(e,n),4&r&&Bs(e,n),64&r&&(null!==(e=n.memoizedState)&&(null!==(e=e.dehydrated)&&function(e,t){var n=e.ownerDocument;if("$~"===e.data)e._reactRetry=t;else if("$?"!==e.data||"loading"!==n.readyState)t();else{var r=function(){t(),n.removeEventListener("DOMContentLoaded",r)};n.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}(e,n=Cu.bind(null,n))));break;case 22:if(!(r=null!==n.memoizedState||Ps)){t=null!==t&&null!==t.memoizedState||Ns,a=Ps;var o=Ns;Ps=r,(Ns=t)&&!o?Qs(e,n,!!(8772&n.subtreeFlags)):Ys(e,n),Ps=a,Ns=o}break;case 30:break;default:Ys(e,n)}}function Is(e){var t=e.alternate;null!==t&&(e.alternate=null,Is(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&Ke(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ds=null,Fs=!1;function Ms(e,t,n){for(n=n.child;null!==n;)zs(e,t,n),n=n.sibling}function zs(e,t,n){if(be&&"function"==typeof be.onCommitFiberUnmount)try{be.onCommitFiberUnmount(ye,n)}catch(o){}switch(n.tag){case 26:Ns||ks(n,t),Ms(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode).parentNode.removeChild(n);break;case 27:Ns||ks(n,t);var r=Ds,a=Fs;Ad(n.type)&&(Ds=n.stateNode,Fs=!1),Ms(e,t,n),Md(n.stateNode),Ds=r,Fs=a;break;case 5:Ns||ks(n,t);case 6:if(r=Ds,a=Fs,Ds=null,Ms(e,t,n),Fs=a,null!==(Ds=r))if(Fs)try{(9===Ds.nodeType?Ds.body:"HTML"===Ds.nodeName?Ds.ownerDocument.body:Ds).removeChild(n.stateNode)}catch(i){xu(n,t,i)}else try{Ds.removeChild(n.stateNode)}catch(i){xu(n,t,i)}break;case 18:null!==Ds&&(Fs?(Cd(9===(e=Ds).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e,n.stateNode),Wf(e)):Cd(Ds,n.stateNode));break;case 4:r=Ds,a=Fs,Ds=n.stateNode.containerInfo,Fs=!0,Ms(e,t,n),Ds=r,Fs=a;break;case 0:case 11:case 14:case 15:ys(2,n,t),Ns||ys(4,n,t),Ms(e,t,n);break;case 1:Ns||(ks(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount&&vs(n,t,r)),Ms(e,t,n);break;case 21:Ms(e,t,n);break;case 22:Ns=(r=Ns)||null!==n.memoizedState,Ms(e,t,n),Ns=r;break;default:Ms(e,t,n)}}function $s(e,t){if(null===t.memoizedState&&(null!==(e=t.alternate)&&null!==(e=e.memoizedState))){e=e.dehydrated;try{Wf(e)}catch(n){xu(t,t.return,n)}}}function Bs(e,t){if(null===t.memoizedState&&(null!==(e=t.alternate)&&(null!==(e=e.memoizedState)&&null!==(e=e.dehydrated))))try{Wf(e)}catch(n){xu(t,t.return,n)}}function Us(e,t){var n=function(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return null===t&&(t=e.stateNode=new Ls),t;case 22:return null===(t=(e=e.stateNode)._retryCache)&&(t=e._retryCache=new Ls),t;default:throw Error(i(435,e.tag))}}(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=Tu.bind(null,e,t);t.then(r,r)}})}function Hs(e,t){var n=t.deletions;if(null!==n)for(var r=0;r title"))),fd(o,r,n),o[Be]=e,et(o),r=o;break e;case"link":var l=nf("link","href",a).get(r+(n.href||""));if(l)for(var s=0;s l)break;var u=s.transferSize,d=s.initiatorType;u&&pd(d)&&(i+=u*((s=s.responseEnd) of?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(a)}}:null}(d,m)))return $c=o,e.cancelPendingCommit=m(hu.bind(null,e,t,o,n,r,a,i,l,s,u,d,null,f,p)),void Zc(e,o,i,!c)}hu(e,t,o,n,r,a,i,l,s)}function Xc(e){for(var t=e;;){var n=t.tag;if((0===n||11===n||15===n)&&16384&t.flags&&(null!==(n=t.updateQueue)&&null!==(n=n.stores)))for(var r=0;r g&&(i=g,g=h,h=i);var y=tr(l,h),b=tr(l,g);if(y&&b&&(1!==p.rangeCount||p.anchorNode!==y.node||p.anchorOffset!==y.offset||p.focusNode!==b.node||p.focusOffset!==b.offset)){var v=d.createRange();v.setStart(y.node,y.offset),p.removeAllRanges(),h>g?(p.addRange(v),p.extend(b.node,b.offset)):(v.setEnd(b.node,b.offset),p.addRange(v))}}}}for(d=[],p=l;p=p.parentNode;)1===p.nodeType&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for("function"==typeof l.focus&&l.focus(),l=0;l n?32:n,R.T=null,n=Uc,Uc=null;var o=Mc,l=$c;if(Fc=0,zc=Mc=null,$c=0,6&pc)throw Error(i(331));var s=pc;if(pc|=4,sc(o.current),ec(o,o.current,l,n),pc=s,Du(0,!1),be&&"function"==typeof be.onPostCommitFiberRoot)try{be.onPostCommitFiberRoot(ye,o)}catch(c){}return!0}finally{I.p=a,R.T=r,vu(e,t)}}function Su(e,t,n){t=Yr(n,t),null!==(e=wo(e,t=Pl(e.stateNode,t,2),2))&&(Le(e,2),Iu(e))}function xu(e,t,n){if(3===e.tag)Su(e,e,n);else for(;null!==t;){if(3===t.tag){Su(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Dc||!Dc.has(r))){e=Yr(n,e),null!==(r=wo(t,n=Nl(2),2))&&(Ol(n,r,t,e),Le(r,2),Iu(r));break}}t=t.return}}function Eu(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new fc;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(kc=!0,a.add(n),e=_u.bind(null,e,t,n),t.then(e,e))}function _u(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,mc===e&&(gc&n)===n&&(4===xc||3===xc&&(62914560&gc)===gc&&300>se()-Lc?!(2&pc)&&tu(e,0):Ac|=n,Tc===gc&&(Tc=0)),Iu(e)}function Au(e,t){0===t&&(t=Ne()),null!==(e=jr(e,t))&&(Le(e,t),Iu(e))}function Cu(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Au(e,n)}function Tu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}null!==r&&r.delete(t),Au(e,n)}var Pu=null,Nu=null,Ou=!1,Lu=!1,ju=!1,Ru=0;function Iu(e){e!==Nu&&null===e.next&&(null===Nu?Pu=Nu=e:Nu=Nu.next=e),Lu=!0,Ou||(Ou=!0,Ed(function(){6&pc?ae(ue,Fu):Mu()}))}function Du(e,t){if(!ju&&Lu){ju=!0;do{for(var n=!1,r=Pu;null!==r;){if(!t)if(0!==e){var a=r.pendingLanes;if(0===a)var o=0;else{var i=r.suspendedLanes,l=r.pingedLanes;o=(1<<31-we(42|e)+1)-1,o=201326741&(o&=a&~(i&~l))?201326741&o|1:o?2|o:0}0!==o&&(n=!0,Bu(r,o))}else o=gc,!(3&(o=Ce(r,r===mc?o:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||Te(r,o)||(n=!0,Bu(r,o));r=r.next}}while(n);ju=!1}}function Fu(){Mu()}function Mu(){Lu=Ou=!1;var e=0;0!==Ru&&function(){var e=window.event;if(e&&"popstate"===e.type)return e!==wd&&(wd=e,!0);return wd=null,!1}()&&(e=Ru);for(var t=se(),n=null,r=Pu;null!==r;){var a=r.next,o=zu(r,t);0===o?(r.next=null,null===n?Pu=a:n.next=a,null===a&&(Nu=n)):(n=r,(0!==e||3&o)&&(Lu=!0)),r=a}0!==Fc&&5!==Fc||Du(e,!1),0!==Ru&&(Ru=0)}function zu(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=-62914561&e.pendingLanes;0 title"):null)}function af(e){return!!("stylesheet"!==e.type||3&e.state.loading)}var of=0;function lf(){if(this.count--,0===this.count&&(0===this.imgCount||!this.waitingForImages))if(this.stylesheets)cf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}var sf=null;function cf(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,sf=new Map,t.forEach(uf,e),sf=null,lf.call(e))}function uf(e,t){if(!(4&t.state.loading)){var n=sf.get(e);if(n)var r=n.get(null);else{n=new Map,sf.set(e,n);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o {"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({id:e,message:t}){if(void 0===e&&void 0===t)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[e??t]??t??e}function s({message:e,id:t},n){return o(l({message:e,id:t}),n)}function c({children:e,id:t,values:n}){if(e&&"string"!=typeof e)throw console.warn("Illegal children",e),new Error("The Docusaurus component only accept simple string values");const r=l({message:e,id:t});return(0,a.jsx)(a.Fragment,{children:o(r,n)})}},1422:(e,t,n)=>{"use strict";n.d(t,{N:()=>h,u:()=>s});var r=n(6540),a=n(205),o=n(3109),i=n(4848);const l="ease-in-out";function s({initialState:e}){const[t,n]=(0,r.useState)(e??!1),a=(0,r.useCallback)(()=>{n(e=>!e)},[]);return{collapsed:t,setCollapsed:n,toggleCollapsed:a}}const c={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function d(e,t){const n=t?c:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f({collapsibleRef:e,collapsed:t,animation:n}){const a=(0,r.useRef)(!1);(0,r.useEffect)(()=>{const r=e.current;function i(){const e=r.scrollHeight,t=n?.duration??function(e){if((0,o.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(e);return{transition:`height ${t}ms ${n?.easing??l}`,height:`${e}px`}}function s(){const e=i();r.style.transition=e.transition,r.style.height=e.height}if(!a.current)return d(r,t),void(a.current=!0);return r.style.willChange="height",function(){const e=requestAnimationFrame(()=>{t?(s(),requestAnimationFrame(()=>{r.style.height=c.height,r.style.overflow=c.overflow})):(r.style.display="block",requestAnimationFrame(()=>{s()}))});return()=>cancelAnimationFrame(e)}()},[e,t,n])}function p({as:e="div",collapsed:t,children:n,animation:a,onCollapseTransitionEnd:o,className:l}){const s=(0,r.useRef)(null);return f({collapsibleRef:s,collapsed:t,animation:a}),(0,i.jsx)(e,{ref:s,onTransitionEnd:e=>{"height"===e.propertyName&&(d(s.current,t),o?.(t))},className:l,children:n})}function m({collapsed:e,...t}){const[n,o]=(0,r.useState)(!e),[l,s]=(0,r.useState)(e);return(0,a.A)(()=>{e||o(!0)},[e]),(0,a.A)(()=>{n&&s(e)},[n,e]),n?(0,i.jsx)(p,{...t,collapsed:l}):null}function h({lazy:e,...t}){const n=e?m:p;return(0,i.jsx)(n,{...t})}},1463:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(5260),a=n(4848);function o({locale:e,version:t,tag:n}){const o=e;return(0,a.jsxs)(r.A,{children:[e&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:e}),t&&(0,a.jsx)("meta",{name:"docusaurus_version",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:language",content:o}),t&&(0,a.jsx)("meta",{name:"docsearch:version",content:t}),n&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:n})]})}},1513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>A,yJ:()=>p,sC:()=>T,AO:()=>f});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;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),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 f(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 p(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;r t?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=p(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";n.d(t,{A:()=>o});var r=!0,a="Invariant failed";function o(e,t){if(!e){if(r)throw new Error(a);var n="function"==typeof t?t():t,o=n?"".concat(a,": ").concat(n):a;throw new Error(o)}}},1635:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>I,__assign:()=>o,__asyncDelegator:()=>_,__asyncGenerator:()=>E,__asyncValues:()=>A,__await:()=>x,__awaiter:()=>m,__classPrivateFieldGet:()=>L,__classPrivateFieldIn:()=>R,__classPrivateFieldSet:()=>j,__createBinding:()=>g,__decorate:()=>l,__disposeResources:()=>F,__esDecorate:()=>c,__exportStar:()=>y,__extends:()=>a,__generator:()=>h,__importDefault:()=>O,__importStar:()=>N,__makeTemplateObject:()=>C,__metadata:()=>p,__param:()=>s,__propKey:()=>d,__read:()=>v,__rest:()=>i,__rewriteRelativeImportExtension:()=>M,__runInitializers:()=>u,__setFunctionName:()=>f,__spread:()=>w,__spreadArray:()=>S,__spreadArrays:()=>k,__values:()=>b,default:()=>z});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n =0;l--)(a=e[l])&&(i=(o<3?a(i):o>3?a(t,n,i):a(t,n))||i);return o>3&&i&&Object.defineProperty(t,n,i),i}function s(e,t){return function(n,r){t(n,r,e)}}function c(e,t,n,r,a,o){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var l,s=r.kind,c="getter"===s?"get":"setter"===s?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]="access"===h?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");o.push(i(e||null))};var g=(0,n[p])("accessor"===s?{get:d.get,set:d.set}:d[c],m);if("accessor"===s){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw new TypeError("Object expected");(l=i(g.get))&&(d.get=l),(l=i(g.set))&&(d.set=l),(l=i(g.init))&&a.unshift(l)}else(l=i(g))&&("field"===s?a.unshift(l):d[c]=l)}u&&Object.defineProperty(u,r.name,d),f=!0}function u(e,t,n){for(var r=arguments.length>2,a=0;a 0&&a[a.length-1])||6!==l[0]&&2!==l[0])){o=0;continue}if(3===l[0]&&(!a||l[1]>a[0]&&l[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,o=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(l){a={error:l}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i}function w(){for(var e=[],t=0;t 1||l(e,t)})},t&&(r[e]=t(r[e])))}function l(e,t){try{(n=a[e](t)).value instanceof x?Promise.resolve(n.value.v).then(s,c):u(o[0][2],n)}catch(r){u(o[0][3],r)}var n}function s(e){l("next",e)}function c(e){l("throw",e)}function u(e,t){e(t),o.shift(),o.length&&l(o[0][0],o[0][1])}}function _(e){var t,n;return t={},r("next"),r("throw",function(e){throw e}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,a){t[r]=e[r]?function(t){return(n=!n)?{value:x(e[r](t)),done:!1}:a?a(t):t}:a}}function A(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=b(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,a){(function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)})(r,a,(t=e[n](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var T=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},P=function(e){return P=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},P(e)};function N(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=P(e),r=0;r {"use strict";n.d(t,{A:()=>Pt});var r=n(6540),a=n(4164),o=n(7489),i=n(5500),l=n(6347),s=n(1312),c=n(5062),u=n(4848);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){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&&f(t)},[]);return(0,c.$)(({location:n})=>{e.current&&!n.hash&&"PUSH"===t&&f(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}=p();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 S({width:e=21,height:t=21,color:n="currentColor",strokeWidth:r=1.2,className:a,...o}){return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:e,height:t,...o,children:(0,u.jsx)("g",{stroke:n,strokeWidth:r,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const x={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",x.closeButton,e.className),children:(0,u.jsx)(S,{width:14,height:14,strokeWidth:3.1})})}const _={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)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const C={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function T(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.M)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:i}=e;return(0,u.jsxs)("div",{className:(0,a.A)(g.G.announcementBar.container,C.announcementBar),style:{backgroundColor:r,color:o},role:"banner",children:[i&&(0,u.jsx)("div",{className:C.announcementBarPlaceholder}),(0,u.jsx)(A,{className:C.announcementBarContent}),i&&(0,u.jsx)(E,{onClick:n,className:C.announcementBarClose})]})}var P=n(2069),N=n(3104);var O=n(9532),L=n(5600);const j=r.createContext(null);function R({children:e}){const t=function(){const e=(0,P.M)(),t=(0,L.YL)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,O.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)(j.Provider,{value:t,children:e})}function I(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(j);if(!e)throw new O.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)(()=>n(!1),[n]),o=(0,L.YL)();return(0,r.useMemo)(()=>({shown:t,hide:a,content:I(o)}),[a,o,t])}function F(e){return parseInt(r.version.split(".")[0],10)<19?{inert:e?"":void 0}:{inert:e}}function M({children:e,inert:t}){return(0,u.jsx)("div",{className:(0,a.A)(g.G.layout.navbar.mobileSidebar.panel,"navbar-sidebar__item menu"),...F(t),children:e})}function z({header:e,primaryMenu:t,secondaryMenu:n}){const{shown:r}=D();return(0,u.jsxs)("div",{className:(0,a.A)(g.G.layout.navbar.mobileSidebar.container,"navbar-sidebar"),children:[e,(0,u.jsxs)("div",{className:(0,a.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":r}),children:[(0,u.jsx)(M,{inert:r,children:t}),(0,u.jsx)(M,{inert:!r,children:n})]})]})}var $=n(5293),B=n(2303);function U(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 H(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"})})}function V(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 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"})})}const W="toggle_vylO",G="toggleButton_gllP",q="toggleIcon_g3eP",Y="systemToggleIcon_QzmC",K="lightToggleIcon_pyhR",Q="darkToggleIcon_wfgR",X="toggleButtonDisabled_aARS";function Z(e){switch(e){case null:return(0,s.T)({message:"system mode",id:"theme.colorToggle.ariaLabel.mode.system",description:"The name for the system color mode"});case"light":return(0,s.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"});case"dark":return(0,s.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"});default:throw new Error(`unexpected color mode ${e}`)}}function J(e){return(0,s.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the color mode toggle"},{mode:Z(e)})}function ee(){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(U,{"aria-hidden":!0,className:(0,a.A)(q,K)}),(0,u.jsx)(H,{"aria-hidden":!0,className:(0,a.A)(q,Q)}),(0,u.jsx)(V,{"aria-hidden":!0,className:(0,a.A)(q,Y)})]})}function te({className:e,buttonClassName:t,respectPrefersColorScheme:n,value:r,onChange:o}){const i=(0,B.A)();return(0,u.jsx)("div",{className:(0,a.A)(W,e),children:(0,u.jsx)("button",{className:(0,a.A)("clean-btn",G,!i&&X,t),type:"button",onClick:()=>o(function(e,t){if(!t)return"dark"===e?"light":"dark";switch(e){case null:return"light";case"light":return"dark";case"dark":return null;default:throw new Error(`unexpected color mode ${e}`)}}(r,n)),disabled:!i,title:Z(r),"aria-label":J(r),children:(0,u.jsx)(ee,{})})})}const ne=r.memo(te),re={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function ae({className:e}){const t=(0,w.p)().navbar.style,{disableSwitch:n,respectPrefersColorScheme:r}=(0,w.p)().colorMode,{colorModeChoice:a,setColorMode:o}=(0,$.G)();return n?null:(0,u.jsx)(ne,{className:e,buttonClassName:"dark"===t?re.darkNavbarColorModeToggle:void 0,respectPrefersColorScheme:r,value:a,onChange:o})}var oe=n(3465);function ie(){return(0,u.jsx)(oe.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function le(){const e=(0,P.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)(S,{color:"var(--ifm-color-emphasis-600)"})})}function se(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(ie,{}),(0,u.jsx)(ae,{className:"margin-right--md"}),(0,u.jsx)(le,{})]})}var ce=n(8774),ue=n(6025),de=n(6654);function fe(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var pe=n(3186);function me({activeBasePath:e,activeBaseRegex:t,to:n,href:r,label:a,html:o,isDropdownLink:i,prependBaseUrlToHref:l,...s}){const c=(0,ue.Ay)(n),d=(0,ue.Ay)(e),f=(0,ue.Ay)(r,{forcePrependBaseUrl:!0}),p=a&&r&&!(0,de.A)(r),m=o?{dangerouslySetInnerHTML:{__html:o}}:{children:(0,u.jsxs)(u.Fragment,{children:[a,p&&(0,u.jsx)(pe.A,{...i&&{width:12,height:12}})]})};return r?(0,u.jsx)(ce.A,{href:l?f:r,...s,...m}):(0,u.jsx)(ce.A,{to:c,isNavLink:!0,...(e||t)&&{isActive:(e,n)=>t?fe(t,n.pathname):n.pathname.startsWith(d)},...s,...m})}function he({className:e,isDropdownItem:t,...n}){return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(me,{className:(0,a.A)("menu__link",e),...n})})}function ge({className:e,isDropdownItem:t=!1,...n}){const r=(0,u.jsx)(me,{className:(0,a.A)(t?"dropdown__link":"navbar__item navbar__link",e),isDropdownLink:t,...n});return t?(0,u.jsx)("li",{children:r}):r}function ye({mobile:e=!1,position:t,...n}){const r=e?he:ge;return(0,u.jsx)(r,{...n,activeClassName:n.activeClassName??(e?"menu__link--active":"navbar__link--active")})}var be=n(1422),ve=n(9169),we=n(4586);const ke="dropdownNavbarItemMobile_J0Sd";function Se(e,t){return e.some(e=>function(e,t){return!!(0,ve.ys)(e.to,t)||!!fe(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t))}function xe({collapsed:e,onClick:t}){return(0,u.jsx)("button",{"aria-label":e?(0,s.T)({id:"theme.navbar.mobileDropdown.collapseButton.expandAriaLabel",message:"Expand the dropdown",description:"The ARIA label of the button to expand the mobile dropdown navbar item"}):(0,s.T)({id:"theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel",message:"Collapse the dropdown",description:"The ARIA label of the button to collapse the mobile dropdown navbar item"}),"aria-expanded":!e,type:"button",className:"clean-btn menu__caret",onClick:t})}function Ee({items:e,className:t,position:n,onClick:o,...i}){const s=function(){const{siteConfig:{baseUrl:e}}=(0,we.A)(),{pathname:t}=(0,l.zy)();return t.replace(e,"/")}(),c=(0,ve.ys)(i.to,s),d=Se(e,s),{collapsed:f,toggleCollapsed:p}=function({active:e}){const{collapsed:t,toggleCollapsed:n,setCollapsed:a}=(0,be.u)({initialState:()=>!e});return(0,r.useEffect)(()=>{e&&a(!1)},[e,a]),{collapsed:t,toggleCollapsed:n}}({active:c||d}),m=i.to?void 0:"#";return(0,u.jsxs)("li",{className:(0,a.A)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,u.jsxs)("div",{className:(0,a.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":c}),children:[(0,u.jsx)(me,{role:"button",className:(0,a.A)(ke,"menu__link menu__link--sublist",t),href:m,...i,onClick:e=>{"#"===m&&e.preventDefault(),p()},children:i.children??i.label}),(0,u.jsx)(xe,{collapsed:f,onClick:e=>{e.preventDefault(),p()}})]}),(0,u.jsx)(be.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:e.map((e,t)=>(0,r.createElement)(Be,{mobile:!0,isDropdownItem:!0,onClick:o,activeClassName:"menu__link--active",...e,key:t}))})]})}function _e({items:e,position:t,className:n,onClick:o,...i}){const l=(0,r.useRef)(null),[s,c]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&c(!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)}},[l]),(0,u.jsxs)("div",{ref:l,className:(0,a.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===t,"dropdown--show":s}),children:[(0,u.jsx)(me,{"aria-haspopup":"true","aria-expanded":s,role:"button",href:i.to?void 0:"#",className:(0,a.A)("navbar__link",n),...i,onClick:i.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),c(!s))},children:i.children??i.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:e.map((e,t)=>(0,r.createElement)(Be,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t}))})]})}function Ae({mobile:e=!1,...t}){const n=e?Ee:_e;return(0,u.jsx)(n,{...t})}var Ce=n(2131),Te=n(7485);function Pe({width:e=20,height:t=20,...n}){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:e,height:t,"aria-hidden":!0,...n,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 Ne="iconLanguage_nlXk";function Oe(){const{siteConfig:e,i18n:{localeConfigs:t}}=(0,we.A)(),n=(0,Ce.o)(),r=(0,Te.Hl)(e=>e.location.search),a=(0,Te.Hl)(e=>e.location.hash),o=e=>{const n=t[e];if(!n)throw new Error(`Docusaurus bug, no locale config found for locale=${e}`);return n};return{getURL:(t,i)=>{const l=(0,Te.jy)([r,i.queryString],"append");return`${(t=>o(t).url===e.url?`pathname://${n.createUrl({locale:t,fullyQualified:!1})}`:n.createUrl({locale:t,fullyQualified:!0}))(t)}${l}${a}`},getLabel:e=>o(e).label,getLang:e=>o(e).htmlLang}}var Le=n(418);const je={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Re({children:e,className:t}){return(0,u.jsx)("div",{className:(0,a.A)(t,je.navbarSearchContainer),children:e})}var Ie=n(4070),De=n(6972);var Fe=n(3886);function Me({docsPluginId:e,configs:t}){return function(e,t){if(t){const n=new Map(e.map(e=>[e.name,e])),r=(t,r)=>{const a=n.get(t);if(!a)throw new Error(`No docs version exist for name '${t}', please verify your 'docsVersionDropdown' navbar item versions config.\nAvailable version names:\n- ${e.map(e=>`${e.name}`).join("\n- ")}`);return{version:a,label:r?.label??a.label}};return Array.isArray(t)?t.map(e=>r(e,void 0)):Object.entries(t).map(([e,t])=>r(e,t))}return e.map(e=>({version:e,label:e.label}))}((0,Ie.jh)(e),t)}function ze(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find(t=>t.id===e.mainDocId)}(e)}const $e={default:ye,localeDropdown:function({mobile:e,dropdownItemsBefore:t,dropdownItemsAfter:n,queryString:r,...a}){const o=Oe(),{i18n:{currentLocale:i,locales:l}}=(0,we.A)(),c=[...t,...l.map(t=>({label:o.getLabel(t),lang:o.getLang(t),to:o.getURL(t,{queryString:r}),target:"_self",autoAddBaseUrl:!1,className:t===i?e?"menu__link--active":"dropdown__link--active":""})),...n],d=e?(0,s.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):o.getLabel(i);return(0,u.jsx)(Ae,{...a,mobile:e,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Pe,{className:Ne}),d]}),items:c})},search:function({mobile:e,className:t}){return e?null:(0,u.jsx)(Re,{className:t,children:(0,u.jsx)(Le.A,{})})},dropdown:Ae,html:function({value:e,className:t,mobile:n=!1,isDropdownItem:r=!1}){const o=r?"li":"div";return(0,u.jsx)(o,{className:(0,a.A)({navbar__item:!n&&!r,"menu__list-item":n},t),dangerouslySetInnerHTML:{__html:e}})},doc:function({docId:e,label:t,docsPluginId:n,...r}){const{activeDoc:a}=(0,Ie.zK)(n),o=(0,De.QB)(e,n),i=a?.path===o?.path;return null===o||o.unlisted&&!i?null:(0,u.jsx)(ye,{exact:!0,...r,isActive:()=>i||!!a?.sidebar&&a.sidebar===o.sidebar,label:t??o.id,to:o.path})},docSidebar:function({sidebarId:e,label:t,docsPluginId:n,...r}){const{activeDoc:a}=(0,Ie.zK)(n),o=(0,De.fW)(e,n).link;if(!o)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${e}" doesn't have anything to be linked to.`);return(0,u.jsx)(ye,{exact:!0,...r,isActive:()=>a?.sidebar===e,label:t??o.label,to:o.path})},docsVersion:function({label:e,to:t,docsPluginId:n,...r}){const a=(0,De.Vd)(n)[0],o=e??a.label,i=t??(e=>e.docs.find(t=>t.id===e.mainDocId))(a).path;return(0,u.jsx)(ye,{...r,label:o,to:i})},docsVersionDropdown:function({mobile:e,docsPluginId:t,dropdownActiveClassDisabled:n,dropdownItemsBefore:r,dropdownItemsAfter:a,versions:o,...i}){const l=(0,Te.Hl)(e=>e.location.search),c=(0,Te.Hl)(e=>e.location.hash),d=(0,Ie.zK)(t),{savePreferredVersionName:f}=(0,Fe.g1)(t),p=Me({docsPluginId:t,configs:o}),m=function({docsPluginId:e,versionItems:t}){return(0,De.Vd)(e).map(e=>t.find(t=>t.version===e)).filter(e=>void 0!==e)[0]??t[0]}({docsPluginId:t,versionItems:p}),h=[...r,...p.map(function({version:e,label:t}){return{label:t,to:`${ze(e,d).path}${l}${c}`,isActive:()=>e===d.activeVersion,onClick:()=>f(e.name)}}),...a],g=e&&h.length>1?(0,s.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,y=e&&h.length>1?void 0:ze(m.version,d).path;return h.length<=1?(0,u.jsx)(ye,{...i,mobile:e,label:g,to:y,isActive:n?()=>!1:void 0}):(0,u.jsx)(Ae,{...i,mobile:e,label:g,to:y,items:h,isActive:n?()=>!1:void 0})}};function Be({type:e,...t}){const n=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(e,t),r=$e[n];if(!r)throw new Error(`No NavbarItem component found for type "${e}".`);return(0,u.jsx)(r,{...t})}function Ue(){const e=(0,P.M)(),t=(0,w.p)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map((t,n)=>(0,r.createElement)(Be,{mobile:!0,...t,onClick:()=>e.toggle(),key:n}))})}function He(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 Ve(){const e=0===(0,w.p)().navbar.items.length,t=D();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(He,{onClick:()=>t.hide()}),t.content]})}function We(){const e=(0,P.M)();return function(e=!0){(0,r.useEffect)(()=>(document.body.style.overflow=e?"hidden":"visible",()=>{document.body.style.overflow="visible"}),[e])}(e.shown),e.shouldRender?(0,u.jsx)(z,{header:(0,u.jsx)(se,{}),primaryMenu:(0,u.jsx)(Ue,{}),secondaryMenu:(0,u.jsx)(Ve,{})}):null}const Ge={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function qe(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,a.A)("navbar-sidebar__backdrop",e.className)})}function Ye({children:e}){const{navbar:{hideOnScroll:t,style:n}}=(0,w.p)(),o=(0,P.M)(),{navbarRef:i,isNavbarVisible:l}=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,N.Mq)(({scrollY:t},r)=>{if(!e)return;if(t =i?n(!1):t+s {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}}(t);return(0,u.jsxs)("nav",{ref:i,"aria-label":(0,s.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.A)(g.G.layout.navbar.container,"navbar","navbar--fixed-top",t&&[Ge.navbarHideable,!l&&Ge.navbarHidden],{"navbar--dark":"dark"===n,"navbar--primary":"primary"===n,"navbar-sidebar--show":o.shown}),children:[e,(0,u.jsx)(qe,{onClick:o.toggle}),(0,u.jsx)(We,{})]})}var Ke=n(440);const Qe={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function Xe(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 Ze({error:e}){const t=(0,Ke.rA)(e).map(e=>e.message).join("\n\nCause:\n");return(0,u.jsx)("p",{className:Qe.errorBoundaryError,children:t})}class Je extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const et="right";function tt({width:e=30,height:t=30,className:n,...r}){return(0,u.jsx)("svg",{className:n,width:e,height:t,viewBox:"0 0 30 30","aria-hidden":"true",...r,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function nt(){const{toggle:e,shown:t}=(0,P.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)(tt,{})})}const rt={colorModeToggle:"colorModeToggle_DEke"};function at({items:e}){return(0,u.jsx)(u.Fragment,{children:e.map((e,t)=>(0,u.jsx)(Je,{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)(Be,{...e})},t))})}function ot({left:e,right:t}){return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:(0,a.A)(g.G.layout.navbar.containerLeft,"navbar__items"),children:e}),(0,u.jsx)("div",{className:(0,a.A)(g.G.layout.navbar.containerRight,"navbar__items navbar__items--right"),children:t})]})}function it(){const e=(0,P.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??et)}return[e.filter(t),e.filter(e=>!t(e))]}(t),a=t.find(e=>"search"===e.type);return(0,u.jsx)(ot,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(nt,{}),(0,u.jsx)(ie,{}),(0,u.jsx)(at,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(at,{items:r}),(0,u.jsx)(ae,{className:rt.colorModeToggle}),!a&&(0,u.jsx)(Re,{children:(0,u.jsx)(Le.A,{})})]})})}function lt(){return(0,u.jsx)(Ye,{children:(0,u.jsx)(it,{})})}function st({item:e}){const{to:t,href:n,label:r,prependBaseUrlToHref:o,className:i,...l}=e,s=(0,ue.Ay)(t),c=(0,ue.Ay)(n,{forcePrependBaseUrl:!0});return(0,u.jsxs)(ce.A,{className:(0,a.A)("footer__link-item",i),...n?{href:o?c:n}:{to:s},...l,children:[r,n&&!(0,de.A)(n)&&(0,u.jsx)(pe.A,{})]})}function ct({item:e}){return e.html?(0,u.jsx)("li",{className:(0,a.A)("footer__item",e.className),dangerouslySetInnerHTML:{__html:e.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(st,{item:e})},e.href??e.to)}function ut({column:e}){return(0,u.jsxs)("div",{className:(0,a.A)(g.G.layout.footer.column,"col footer__col",e.className),children:[(0,u.jsx)("div",{className:"footer__title",children:e.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:e.items.map((e,t)=>(0,u.jsx)(ct,{item:e},t))})]})}function dt({columns:e}){return(0,u.jsx)("div",{className:"row footer__links",children:e.map((e,t)=>(0,u.jsx)(ut,{column:e},t))})}function ft(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function pt({item:e}){return e.html?(0,u.jsx)("span",{className:(0,a.A)("footer__link-item",e.className),dangerouslySetInnerHTML:{__html:e.html}}):(0,u.jsx)(st,{item:e})}function mt({links:e}){return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:e.map((t,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(pt,{item:t}),e.length!==n+1&&(0,u.jsx)(ft,{})]},n))})})}function ht({links:e}){return function(e){return"title"in e[0]}(e)?(0,u.jsx)(dt,{columns:e}):(0,u.jsx)(mt,{links:e})}var gt=n(1122);const yt="footerLogoLink_BH7S";function bt({logo:e}){const{withBaseUrl:t}=(0,ue.hH)(),n={light:t(e.src),dark:t(e.srcDark??e.src)};return(0,u.jsx)(gt.A,{className:(0,a.A)("footer__logo",e.className),alt:e.alt,sources:n,width:e.width,height:e.height,style:e.style})}function vt({logo:e}){return e.href?(0,u.jsx)(ce.A,{href:e.href,className:yt,target:e.target,children:(0,u.jsx)(bt,{logo:e})}):(0,u.jsx)(bt,{logo:e})}function wt({copyright:e}){return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:e}})}function kt({style:e,links:t,logo:n,copyright:r}){return(0,u.jsx)("footer",{className:(0,a.A)(g.G.layout.footer.container,"footer",{"footer--dark":"dark"===e}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[t,(n||r)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[n&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:n}),r]})]})})}function St(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,u.jsx)(kt,{style:a,links:n&&n.length>0&&(0,u.jsx)(ht,{links:n}),logo:r&&(0,u.jsx)(vt,{logo:r}),copyright:t&&(0,u.jsx)(wt,{copyright:t})})}const xt=r.memo(St),Et=(0,O.fM)([$.a,k.o,N.Tv,Fe.VQ,i.Jx,function({children:e}){return(0,u.jsx)(L.y_,{children:(0,u.jsx)(P.e,{children:(0,u.jsx)(R,{children:e})})})}]);function _t({children:e}){return(0,u.jsx)(Et,{children:e})}var At=n(1107);function Ct({error:e,tryAgain:t}){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)(At.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)(Xe,{onClick:t,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(Ze,{error:e})})]})})})}const Tt={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)(_t,{children:[(0,u.jsx)(i.be,{title:l,description:s}),(0,u.jsx)(v,{}),(0,u.jsx)(T,{}),(0,u.jsx)(lt,{}),(0,u.jsx)("div",{id:d,className:(0,a.A)(g.G.layout.main.container,g.G.wrapper.main,Tt.mainWrapper,r),children:(0,u.jsx)(o.A,{fallback:e=>(0,u.jsx)(Ct,{...e}),children:t})}),!n&&(0,u.jsx)(xt,{})]})}},1682:(e,t,n)=>{"use strict";function r(e,t=(e,t)=>e===t){return e.filter((n,r)=>e.findIndex(e=>t(e,n))!==r)}function a(e){return Array.from(new Set(e))}n.d(t,{XI:()=>r,sb:()=>a})},1765:(e,t,n)=>{"use strict";n.d(t,{My:()=>C,f4:()=>ne});var r,a,o,i,l,s,c,u=n(6540),d=n(4164),f=Object.create,p=Object.defineProperty,m=Object.defineProperties,h=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertyNames,b=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,S=(e,t,n)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x=(e,t)=>{for(var n in t||(t={}))w.call(t,n)&&S(e,n,t[n]);if(b)for(var n of b(t))k.call(t,n)&&S(e,n,t[n]);return e},E=(e,t)=>m(e,g(t)),_=(e,t)=>{var n={};for(var r in e)w.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&b)for(var r of b(e))t.indexOf(r)<0&&k.call(e,r)&&(n[r]=e[r]);return n},A=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);x+=S.value.length,S=S.next){var E=S.value;if(t.length>e.length)return;if(!(E instanceof a)){var _,A=1;if(b){if(!(_=o(k,x,e,y))||_.index>=e.length)break;var C=_.index,T=_.index+_[0].length,P=x;for(P+=S.value.length;C>=P;)P+=(S=S.next).value.length;if(x=P-=S.value.length,S.value instanceof a)continue;for(var N=S;N!==t.tail&&(P d.reach&&(d.reach=R);var I=S.prev;if(L&&(I=s(t,I,L),x+=L.length),c(t,I,A),S=s(t,I,new a(f,g?r.tokenize(O,g):O,v,O)),j&&s(t,S,j),A>1){var D={cause:f+","+m,reach:R};i(e,t,n,S.prev,x,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function c(e,t,n){for(var r=t.next,a=0;a "+o.content+""+o.tag+">"},r}();t.exports=n,n.default=n}},function(){return a||(0,r[y(r)[0]])((a={exports:{}}).exports,a),a.exports}),C=((e,t,n)=>(n=null!=e?f(v(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of y(t))w.call(e,a)||a===n||p(e,a,{get:()=>t[a],enumerable:!(r=h(t,a))||r.enumerable});return e})(!t&&e&&e.__esModule?n:p(n,"default",{value:e,enumerable:!0}),e)))(A());C.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/?[\da-f]{1,8};/i]},C.languages.markup.tag.inside["attr-value"].inside.entity=C.languages.markup.entity,C.languages.markup.doctype.inside["internal-subset"].inside=C.languages.markup,C.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(C.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:C.languages[t]},n.cdata=/^$/i,{"included-cdata":{pattern://i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:C.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:n},C.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(C.languages.markup.tag,"addAttribute",{value:function(e,t){C.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:C.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),C.languages.html=C.languages.markup,C.languages.mathml=C.languages.markup,C.languages.svg=C.languages.markup,C.languages.xml=C.languages.extend("markup",{}),C.languages.ssml=C.languages.xml,C.languages.atom=C.languages.xml,C.languages.rss=C.languages.xml,o=C,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},s="(?:[^\\\\-]|"+(l=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",s=RegExp(s+"-"+s),c={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},o.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:s,inside:{escape:l,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:l}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":c}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:l,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":c}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},C.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},C.languages.javascript=C.languages.extend("clike",{"class-name":[C.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),C.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,C.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:C.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:C.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:C.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:C.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:C.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),C.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:C.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),C.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),C.languages.markup&&(C.languages.markup.tag.addInlined("script","javascript"),C.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),C.languages.js=C.languages.javascript,C.languages.actionscript=C.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<|>>?>?|[!=]=?)=?|[~?@]/}),C.languages.actionscript["class-name"].alias="function",delete C.languages.actionscript.parameter,delete C.languages.actionscript["literal-property"],C.languages.markup&&C.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:C.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(C),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach(function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},a="doc-comment";if(o=e.languages[t]){var o,i=o[a];if((i=i||(o=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[a])instanceof RegExp&&(i=o[a]={pattern:i}),Array.isArray(i))for(var l=0,s=i.length;l |\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(C),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:]) |: ))*/.source.replace(/ /g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s< >[ \t]+)?)(?:< >)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/< >/g,function(){return r}).replace(/< >/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s< >[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/< >/g,function(){return r})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:< >[ \t]+)?)< >(?=\s*:\s)/.source.replace(/< >/g,function(){return r}).replace(/< >/g,function(){return"(?:"+a+"|"+o+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(C),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/ /g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return r}),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_) |_(?:(?!_) )+_)+__\b|\*\*(?:(?!\*) |\*(?:(?!\*) )+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_) |__(?:(?!_) )+__)+_\b|\*(?:(?!\*) |\*\*(?:(?!\*) )+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~) )+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]) )+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]) )+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(t){["url","bold","italic","strike","code-snippet"].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add("after-tokenize",function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n ",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(C),C.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:C.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},C.hooks.add("after-tokenize",function(e){if("graphql"===e.language)for(var t=e.tokens.filter(function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type}),n=0;n ?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function s(t,n,i){var s=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),c=0,u={},d=(s=l(s.map(function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=c++,n="___"+i.toUpperCase()+"_"+r+"___")););return u[n]=e,n}).join(""),n,i),Object.keys(u));return c=0,function t(n){for(var o=0;o =d.length)return;var i,s,f,p,m,h,g,y=n[o];"string"==typeof y||"string"==typeof y.content?(i=d[c],-1!==(g=(h="string"==typeof y?y:y.content).indexOf(i))&&(++c,s=h.substring(0,g),m=u[i],f=void 0,(p={})["interpolation-punctuation"]=a,3===(p=e.tokenize(m,p)).length&&((f=[1,1]).push.apply(f,l(p[1],e.languages.javascript,"javascript")),p.splice.apply(p,f)),f=new e.Token("interpolation",p,r.alias,m),p=h.substring(g+i.length),m=[],s&&m.push(s),m.push(f),p&&(t(h=[p]),m.push.apply(m,h)),"string"==typeof y?(n.splice.apply(n,[o,1].concat(m)),o+=m.length-1):y.content=m)):(g=y.content,Array.isArray(g)?t(g):t([g]))}}(s),new e.Token(i,s,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var c={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(u).join(""):u(e.content)}e.hooks.add("after-tokenize",function(t){t.language in c&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(C),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?: \s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/ /g,function(){return n})),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(C),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(C),C.languages.n4js=C.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),C.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),C.languages.n4jsd=C.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/ /g,function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source}),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?: (?:\s*,\s*(?:\*\s*as\s+ |\{[^{}]*\}))?|\*\s*as\s+ |\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+ )?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#? /.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r *\.{3}(?:[^{}]| )*\})/.source;function o(e,t){return e=e.replace(/ /g,function(){return n}).replace(//g,function(){return r}).replace(/ /g,function(){return a}),RegExp(e,t)}function i(t){for(var n=[],r=0;r "!==a.content[a.content.length-1].content&&n.push({tagName:l(a.content[0].content[1]),openedBraces:0}):0 +(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+| ))?| ))* *\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/= /.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var l=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(l).join(""):""};e.hooks.add("after-tokenize",function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)})}(C),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(C),C.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},C.languages.swift["string-literal"].forEach(function(e){e.inside.interpolation.inside=C.languages.swift}),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(C),C.languages.c=C.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),C.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),C.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},C.languages.c.string],char:C.languages.c.char,comment:C.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:C.languages.c}}}}),C.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete C.languages.c.boolean,C.languages.objectivec=C.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete C.languages.objectivec["class-name"],C.languages.objc=C.languages.objectivec,C.languages.reason=C.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),C.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete C.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)| )*\*\//.source,n=0;n<2;n++)t=t.replace(/ /g,function(){return t});t=t.replace(/ /g,function(){return/[^\s\S]/.source}),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(C),C.languages.go=C.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),C.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete C.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?! )\w+(?:\s*\.\s*\w+)*\b/.source.replace(/ /g,function(){return t.source});e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?! )\w+/.source.replace(/ /g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/ (?:\s*:\s* )?|:\s* /.source.replace(/ /g,function(){return n})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(C),C.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern://,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},C.languages.python["string-interpolation"].inside.interpolation.inside.rest=C.languages.python,C.languages.py=C.languages.python,C.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},C.languages.webmanifest=C.languages.json;((e,t)=>{for(var n in t)p(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>T,duotoneDark:()=>P,duotoneLight:()=>N,github:()=>O,gruvboxMaterialDark:()=>Y,gruvboxMaterialLight:()=>K,jettwaveDark:()=>V,jettwaveLight:()=>W,nightOwl:()=>L,nightOwlLight:()=>j,oceanicNext:()=>D,okaidia:()=>F,oneDark:()=>G,oneLight:()=>q,palenight:()=>M,shadesOfPurple:()=>z,synthwave84:()=>$,ultramin:()=>B,vsDark:()=>U,vsLight:()=>H});var T={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},P={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},N={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},O={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},L={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},j={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},R="#c5a5c5",I="#8dc891",D={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:R}},{types:["attr-value"],style:{color:I}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:I}},{types:["punctuation"],style:{color:I}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:R}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},F={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},M={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},z={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},$={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},B={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},U={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},H={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},V={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},W={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},G={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},q={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},Y={plain:{color:"#ebdbb2",backgroundColor:"#292828"},styles:[{types:["imports","class-name","maybe-class-name","constant","doctype","builtin","function"],style:{color:"#d8a657"}},{types:["property-access"],style:{color:"#7daea3"}},{types:["tag"],style:{color:"#e78a4e"}},{types:["attr-name","char","url","regex"],style:{color:"#a9b665"}},{types:["attr-value","string"],style:{color:"#89b482"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#ea6962"}},{types:["entity","number","symbol"],style:{color:"#d3869b"}}]},K={plain:{color:"#654735",backgroundColor:"#f9f5d7"},styles:[{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#af2528"}},{types:["imports","class-name","maybe-class-name","constant","doctype","builtin"],style:{color:"#b4730e"}},{types:["string","attr-value"],style:{color:"#477a5b"}},{types:["property-access"],style:{color:"#266b79"}},{types:["function","attr-name","char","url"],style:{color:"#72761e"}},{types:["tag"],style:{color:"#b94c07"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["entity","number","symbol"],style:{color:"#924f79"}}]},Q=/\r\n|\r|\n/,X=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},Z=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},J=e=>{const t=[[]],n=[e],r=[0],a=[e.length];let o=0,i=0,l=[];const s=[l];for(;i>-1;){for(;(o=r[i]++)0?c:["plain"],e=u):(c=Z(c,u.type),u.alias&&(c=Z(c,u.alias)),e=u.content),"string"!=typeof e){i++,t.push(c),n.push(e),r.push(0),a.push(e.length);continue}const d=e.split(Q),f=d.length;l.push({types:c,content:d[0]});for(let t=1;t {const{plain:n}=e,r=e.styles.reduce((e,n)=>{const{languages:r,style:a}=n;return r&&!r.includes(t)||n.types.forEach(t=>{const n=x(x({},e[t]),a);e[t]=n}),e},{});return r.root=n,r.plain=E(x({},n),{backgroundColor:void 0}),r},te=({children:e,language:t,code:n,theme:r,prism:a})=>{const o=t.toLowerCase(),i=ee(r,o),l=(e=>(0,u.useCallback)(t=>{var n=t,{className:r,style:a,line:o}=n,i=_(n,["className","style","line"]);const l=E(x({},i),{className:(0,d.A)("token-line",r)});return"object"==typeof e&&"plain"in e&&(l.style=e.plain),"object"==typeof a&&(l.style=x(x({},l.style||{}),a)),l},[e]))(i),s=(e=>{const t=(0,u.useCallback)(({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map(t=>e[t]))},[e]);return(0,u.useCallback)(e=>{var n=e,{token:r,className:a,style:o}=n,i=_(n,["token","className","style"]);const l=E(x({},i),{className:(0,d.A)("token",...r.types,a),children:r.content,style:t(r)});return null!=o&&(l.style=x(x({},l.style||{}),o)),l},[t])})(i),c=(({prism:e,code:t,grammar:n,language:r})=>(0,u.useMemo)(()=>{if(null==n)return J([t]);const a={code:t,grammar:n,language:r,tokens:[]};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(t,n),e.hooks.run("after-tokenize",a),J(a.tokens)},[t,n,r,e]))({prism:a,language:o,code:n,grammar:a.languages[o]});return e({tokens:c,className:`prism-code language-${o}`,style:null!=i?i.root:{},getLineProps:l,getTokenProps:s})},ne=e=>(0,u.createElement)(te,E(x({},e),{prism:e.prism||C,theme:e.theme||U,code:e.code,language:e.language}))},2069:(e,t,n)=>{"use strict";n.d(t,{M:()=>m,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,[i,s]=(0,r.useState)(!1),c=(0,r.useCallback)(()=>{s(e=>!e)},[]);return(0,r.useEffect)(()=>{"desktop"===t&&s(!1)},[t]),(0,r.useMemo)(()=>({disabled:e,shouldRender:n,toggle:c,shown:i}),[e,n,c,i])}function f({handler:e}){return(0,i.$Z)(e),null}function p({children:e}){const t=d();return(0,c.jsxs)(c.Fragment,{children:[t.shown&&(0,c.jsx)(f,{handler:()=>(t.toggle(),!1)}),(0,c.jsx)(u.Provider,{value:t,children:e})]})}function m(){const e=r.useContext(u);if(void 0===e)throw new s.dV("NavbarMobileSidebarProvider");return e}},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,trailingSlash:t},i18n:{localeConfigs:n}}=(0,r.A)(),{pathname:i}=(0,a.zy)(),l=(0,o.Ks)(i,{trailingSlash:t,baseUrl:e}).replace(e,"");return{createUrl:function({locale:e,fullyQualified:t}){const r=function(e){const t=n[e];if(!t)throw new Error(`Unexpected Docusaurus bug, no locale config found for locale=${e}`);return t}(e);return`${`${t?r.url:""}`}${r.baseUrl}${l}`}}}},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)}},2318:(e,t,n)=>{var r={"./prism-bash":7022};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=2318},2566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return 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}},2654:e=>{"use strict";e.exports={}},2694:(e,t,n)=>{"use strict";var r=n(6925);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},2799:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,l=n?Symbol.for("react.profiler"):60114,s=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,h=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,y=n?Symbol.for("react.block"):60121,b=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case o:case l:case i:case p:return e;default:switch(e=e&&e.$$typeof){case c:case f:case g:case h:case s:return e;default:return t}}case a:return t}}}function S(e){return k(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=s,t.Element=r,t.ForwardRef=f,t.Fragment=o,t.Lazy=g,t.Memo=h,t.Portal=a,t.Profiler=l,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return S(e)||k(e)===u},t.isConcurrentMode=S,t.isContextConsumer=function(e){return k(e)===c},t.isContextProvider=function(e){return k(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===f},t.isFragment=function(e){return k(e)===o},t.isLazy=function(e){return k(e)===g},t.isMemo=function(e){return k(e)===h},t.isPortal=function(e){return k(e)===a},t.isProfiler=function(e){return k(e)===l},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===l||e===i||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===h||e.$$typeof===s||e.$$typeof===c||e.$$typeof===f||e.$$typeof===b||e.$$typeof===v||e.$$typeof===w||e.$$typeof===y)},t.typeOf=k},2831:(e,t,n)=>{"use strict";n.d(t,{u:()=>i,v:()=>l});var r=n(6347),a=n(8168),o=n(6540);function i(e,t,n){return void 0===n&&(n=[]),e.some(function(e){var a=e.path?(0,r.B6)(t,e):n.length?n[n.length-1].match:r.Ix.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&i(e.routes,t,n)),a}),n}function l(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.dO,n,e.map(function(e,n){return o.createElement(r.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.A)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.A)({},n,t,{route:e}))}})})):null}},2833:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),s=0;s {"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{A:()=>a})},2983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),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,c=n,c?a(s):o(s));var s,c;return e.replace(i,l)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=o;const r=n(2566);function a(e){return e.endsWith("/")?e:`${e}/`}function o(e){return(0,r.removeSuffix)(e,"/")}},3001:(e,t,n)=>{"use strict";n.r(t)},3025:(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({children:e,version:t}){return(0,o.jsx)(i.Provider,{value:t,children:e})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new a.dV("DocsVersionProvider");return e}},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({children:e,value:t}){const n=r.useContext(o),i=(0,r.useMemo)(()=>function({parent:e,value:t}){if(!e){if(!t)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in t))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return t}const n={...e.data,...t?.data};return{plugin:e.plugin,data:n}}({parent:n,value:t}),[n,t]);return(0,a.jsx)(o.Provider,{value:i,children:e})}},3104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>u,a_:()=>m,gk:()=>h});var r=n(6540),a=n(8193),o=n(2303),i=n(205),l=n(9532),s=n(4848);const c=r.createContext(void 0);function u({children:e}){const t=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)(()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}}),[])}();return(0,s.jsx)(c.Provider,{value:t,children:e})}function d(){const e=(0,r.useContext)(c);if(null==e)throw new l.dV("ScrollControllerProvider");return e}const f=()=>a.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t=[]){const{scrollEventsEnabledRef:n}=d(),a=(0,r.useRef)(f()),o=(0,l._q)(e);(0,r.useEffect)(()=>{const e=()=>{if(!n.current)return;const e=f();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 m(){const e=d(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)(t=>{e.current={elem:t,top:t.getBoundingClientRect().top}},[]),n=(0,r.useCallback)(()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}},[]);return(0,r.useMemo)(()=>({save:t,restore:n}),[n,t])}(),n=(0,r.useRef)(void 0),a=(0,r.useCallback)(r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}},[e,t]);return(0,i.A)(()=>{queueMicrotask(()=>n.current?.())}),{blockElementScrollPositionUntilNextRender:a}}function h(){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&&a t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},3186:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});n(6540);var r=n(1312);const a={iconExternalLink:"iconExternalLink_nPIU"};var o=n(4848);const i="#theme-svg-external-link";function l({width:e=13.5,height:t=13.5}){return(0,o.jsx)("svg",{width:e,height:t,"aria-label":(0,r.T)({id:"theme.IconExternalLink.ariaLabel",message:"(opens in new tab)",description:"The ARIA label for the external link icon"}),className:a.iconExternalLink,children:(0,o.jsx)("use",{href:i})})}},3259:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t {"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()}},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({logo:e,alt:t,imageClassName:n}){const r={light:(0,a.Ay)(e.src),dark:(0,a.Ay)(e.srcDark||e.src)},o=(0,s.jsx)(l.A,{className:e.className,sources:r,height:e.height,width:e.width,alt:t,style:e.style});return n?(0,s.jsx)("div",{className:n,children:o}):o}function u(e){const{siteConfig:{title:t}}=(0,o.A)(),{navbar:{title:n,logo:l}}=(0,i.p)(),{imageClassName:u,titleClassName:d,...f}=e,p=(0,a.Ay)(l?.href||"/"),m=n?"":t,h=l?.alt??m;return(0,s.jsxs)(r.A,{to:p,...f,...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})]})}},3535:(e,t,n)=>{"use strict";n.d(t,{v:()=>o});var r=n(6342);const a={anchorTargetStickyNavbar:"anchorTargetStickyNavbar_Vzrq",anchorTargetHideOnScrollNavbar:"anchorTargetHideOnScrollNavbar_vjPI"};function o(e){const{navbar:{hideOnScroll:t}}=(0,r.p)();if(void 0!==e)return t?a.anchorTargetHideOnScrollNavbar:a.anchorTargetStickyNavbar}},3886:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,g1:()=>b});var r=n(6540),a=n(4070),o=n(7065),i=n(6342),l=n(679),s=n(9532),c=n(4848);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,l.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,l.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,l.Wf)(u(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map(e=>[e,{preferredVersionName:null}]));const p=r.createContext(null);function m(){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({pluginIds:e,versionPersistence:t,allDocsData:n}){function r(e){const r=d.read(e,t);return n[e].versions.some(e=>e.name===r)?{preferredVersionName:r}:(d.clear(e,t),{preferredVersionName:null})}return Object.fromEntries(e.map(e=>[e,r(e)]))}({allDocsData:e,versionPersistence:t,pluginIds:n}))},[e,t,n]);return[o,(0,r.useMemo)(()=>({savePreferredVersion:function(e,n){d.save(e,t,n),l(t=>({...t,[e]:{preferredVersionName:n}}))}}),[t])]}function h({children:e}){const t=m();return(0,c.jsx)(p.Provider,{value:t,children:e})}function g({children:e}){return(0,c.jsx)(h,{children:e})}function y(){const e=(0,r.useContext)(p);if(!e)throw new s.dV("DocsPreferredVersionContextProvider");return e}function b(e=o.W){const t=(0,a.ht)(e),[n,i]=y(),{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])}}},4054:e=>{"use strict";e.exports=JSON.parse('{"/trip/docs-6fd":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/trip/docs-416":{"__comp":"a7bd4aaa","__props":"b62cd033"},"/trip/docs-7a0":{"__comp":"a94703ab"},"/trip/docs/category/getting-started-409":{"__comp":"14eb3368","__props":"26922847"},"/trip/docs/category/map-tracker-7ce":{"__comp":"14eb3368","__props":"3a165c72"},"/trip/docs/category/miscelaneous-a29":{"__comp":"14eb3368","__props":"6fd453cb"},"/trip/docs/category/trips-planner-f1f":{"__comp":"14eb3368","__props":"39a9af6f"},"/trip/docs/contributing-b87":{"__comp":"17896441","content":"4d54d076"},"/trip/docs/getting-started/configuration-fe2":{"__comp":"17896441","content":"009f1e98"},"/trip/docs/getting-started/deploy-4a6":{"__comp":"17896441","content":"e1ff7207"},"/trip/docs/intro-22a":{"__comp":"17896441","content":"0e384e19"},"/trip/docs/map-tracker/introduction-1c7":{"__comp":"17896441","content":"a199cff3"},"/trip/docs/map-tracker/map-filtering-09e":{"__comp":"17896441","content":"3b6bb3a0"},"/trip/docs/map-tracker/map-panel-1a8":{"__comp":"17896441","content":"c3ff9a3c"},"/trip/docs/map-tracker/places-2ce":{"__comp":"17896441","content":"66a53f71"},"/trip/docs/map-tracker/places-creation-0e1":{"__comp":"17896441","content":"7e910379"},"/trip/docs/map-tracker/settings-159":{"__comp":"17896441","content":"c6b70549"},"/trip/docs/misc/backup-8f9":{"__comp":"17896441","content":"2d727d9f"},"/trip/docs/misc/synology-aa3":{"__comp":"17896441","content":"bc3400a6"},"/trip/docs/trips-planner/introduction-19b":{"__comp":"17896441","content":"82b76652"},"/trip/docs/trips-planner/trip-ano-share-511":{"__comp":"17896441","content":"7fd16edc"},"/trip/docs/trips-planner/trip-archive-6cd":{"__comp":"17896441","content":"ceb477ef"},"/trip/docs/trips-planner/trip-attachments-lists-536":{"__comp":"17896441","content":"0628ec19"},"/trip/docs/trips-planner/trip-collaboration-43f":{"__comp":"17896441","content":"7a8dce06"},"/trip/docs/trips-planner/trip-concepts-aea":{"__comp":"17896441","content":"34f354b2"},"/trip/docs/trips-planner/trip-creation-c29":{"__comp":"17896441","content":"70366980"},"/trip/docs/trips-planner/trip-export-b08":{"__comp":"17896441","content":"1aa3da28"},"/trip/docs/trips-planner/trip-map-903":{"__comp":"17896441","content":"7bbb8eb5"},"/trip/docs/trips-planner/trip-places-af9":{"__comp":"17896441","content":"6e0ab1b4"},"/trip/docs/trips-planner/trip-plan-creation-0f9":{"__comp":"17896441","content":"ea11414a"},"/trip/docs/trips-planner/trip-plans-2de":{"__comp":"17896441","content":"1d246e39"},"/trip/docs/trips-planner/trips-1b6":{"__comp":"17896441","content":"7454facd"},"/trip/-252":{"__comp":"1df93b7f","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"}}')},4070:(e,t,n)=>{"use strict";n.d(t,{zK:()=>h,vT:()=>f,Gy:()=>u,HW:()=>g,ht:()=>d,r7:()=>m,jh:()=>p});var r=n(6347),a=n(4586),o=n(7065);function i(e,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=function(e,t){return[...e.versions].sort((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0).find(e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1}))}(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 c={},u=()=>i("docusaurus-plugin-content-docs")??c,d=e=>{try{return function(e,t=o.W,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={}){const t=u(),{pathname:n}=(0,r.zy)();return function(e,t,n={}){const a=Object.entries(e).sort((e,t)=>t[1].path.localeCompare(e[1].path)).find(([,e])=>!!(0,r.B6)(t,{path:e.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 p(e){return d(e).versions}function m(e){const t=d(e);return l(t)}function h(e){const t=d(e),{pathname:n}=(0,r.zy)();return s(t,n)}function g(e){const t=d(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},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)}},[])}},4146:(e,t,n)=>{"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,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(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";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t a});const a=function(){for(var e,t,n=0,a="",o=arguments.length;n {"use strict";e.exports=n(2799)},4477:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0 >>1,a=e[r];if(!(0 >>1;ro(s,n))co(u,s)?(e[r]=u,e[c]=n,r=c):(e[r]=s,e[l]=n,r=l);else{if(!(co(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}var c=[],u=[],d=1,f=null,p=3,m=!1,h=!1,g=!1,y=!1,b="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,w="undefined"!=typeof setImmediate?setImmediate:null;function k(e){for(var t=r(u);null!==t;){if(null===t.callback)a(u);else{if(!(t.startTime<=e))break;a(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function S(e){if(g=!1,k(e),!h)if(null!==r(c))h=!0,E||(E=!0,x());else{var t=r(u);null!==t&&L(S,t.startTime-e)}}var x,E=!1,_=-1,A=5,C=-1;function T(){return!!y||!(t.unstable_now()-Ce&&T());){var i=f.callback;if("function"==typeof i){f.callback=null,p=f.priorityLevel;var l=i(f.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof l){f.callback=l,k(e),n=!0;break t}f===r(c)&&a(c),k(e)}else a(c);f=r(c)}if(null!==f)n=!0;else{var s=r(u);null!==s&&L(S,s.startTime-e),n=!1}}break e}finally{f=null,p=o,m=!1}n=void 0}}finally{n?x():E=!1}}}if("function"==typeof w)x=function(){w(P)};else if("undefined"!=typeof MessageChannel){var N=new MessageChannel,O=N.port2;N.port1.onmessage=P,x=function(){O.postMessage(null)}}else x=function(){b(P,0)};function L(e,n){_=b(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125 i?(e.sortIndex=o,n(u,e),null===r(c)&&e===r(u)&&(g?(v(_),_=-1):g=!0,L(S,o-i))):(e.sortIndex=l,n(c,e),h||m||(h=!0,E||(E=!0,x()))),e},t.unstable_shouldYield=T,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},4563:(e,t,n)=>{"use strict";n.d(t,{AL:()=>u,s$:()=>d});var r=n(6540),a=n(4586),o=n(6803),i=n(9532),l=n(4848);const s=({title:e,siteTitle:t,titleDelimiter:n})=>{const r=e?.trim();return r&&r!==t?`${r} ${n} ${t}`:t},c=(0,r.createContext)(null);function u({formatter:e,children:t}){return(0,l.jsx)(c.Provider,{value:e,children:t})}function d(){const e=function(){const e=(0,r.useContext)(c);if(null===e)throw new i.dV("TitleFormatterProvider");return e}(),{siteConfig:t}=(0,a.A)(),{title:n,titleDelimiter:l}=t,{plugin:u}=(0,o.A)();return{format:t=>e({title:t,siteTitle:n,titleDelimiter:l,plugin:u,defaultFormatter:s})}}},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({desktopBreakpoint:e=i}={}){const[t,n]=(0,r.useState)(()=>"ssr");return(0,r.useEffect)(()=>{function t(){n(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}(e))}return t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[e]),t}},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)}},4625:(e,t,n)=>{"use strict";n.d(t,{I9:()=>d,Kd:()=>u,N_:()=>y,k2:()=>w});var r=n(6347),a=n(2892),o=n(6540),i=n(1513),l=n(8168),s=n(8587),c=n(1561),u=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a {e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},4784:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"TRIP",tagline:"Minimalist POI Map Tracker and Trip Planner",favicon:"img/favicon.png",future:{v4:{removeLegacyPostBuildHeadAttribute:!0,useCssCascadeLayers:!0},experimental_faster:{swcJsLoader:!1,swcJsMinimizer:!1,swcHtmlMinimizer:!1,lightningCssMinimizer:!1,mdxCrossCompilerCache:!1,rspackBundler:!1,rspackPersistentCache:!1,ssgWorkerThreads:!1},experimental_storage:{type:"localStorage",namespace:!1},experimental_router:"browser"},url:"https://itskovacs.github.io",baseUrl:"/trip/",organizationName:"itskovacs",projectName:"trip",onBrokenLinks:"throw",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},presets:[["classic",{docs:{sidebarPath:"./sidebars.ts"},theme:{customCss:"./src/css/custom.css"}}]],themeConfig:{image:"img/favicon.png",colorMode:{respectPrefersColorScheme:!0,defaultMode:"light",disableSwitch:!1},navbar:{title:"TRIP",logo:{alt:"TRIP Logo",src:"img/favicon.png"},items:[{type:"docSidebar",sidebarId:"docSidebar",position:"left",label:"Documentation"},{href:"https://github.com/itskovacs/trip",className:"header-github-link",position:"right",ariaLabel:"GitHub repository"}],hideOnScroll:!1},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["bash"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},blog:{sidebar:{groupByYear:!0}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},plugins:[],themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,emoji:!0,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1},hooks:{onBrokenMarkdownLinks:"warn",onBrokenMarkdownImages:"throw"}}}},4848:(e,t,n)=>{"use strict";e.exports=n(9698)},5041:(e,t,n)=>{"use strict";n.d(t,{M:()=>h,o:()=>m});var r=n(6540),a=n(2303),o=n(679),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(),f=e=>c.set(String(e)),p=r.createContext(null);function m({children:e}){const t=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)(()=>{f(!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&&f(!1),!r&&d()||o(!1)},[e]),(0,r.useMemo)(()=>({isActive:!!e&&!n,close:i}),[e,n,i])}();return(0,s.jsx)(p.Provider,{value:t,children:e})}function h(){const e=(0,r.useContext)(p);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},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])}},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})}},5293:(e,t,n)=>{"use strict";n.d(t,{G:()=>k,a:()=>w});var r=n(6540),a=n(2303),o=n(9532),i=n(679),l=n(6342),s=n(4848);function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function u(e){return function(e,t){const n=window.matchMedia(e);return n.addEventListener("change",t),()=>n.removeEventListener("change",t)}("(prefers-color-scheme: dark)",()=>e(c()))}const d=r.createContext(void 0),f=(0,i.Wf)("theme"),p="system",m=e=>"dark"===e?"dark":"light",h=e=>null===e||e===p?null:m(e),g={get:()=>m(document.documentElement.getAttribute("data-theme")),set:e=>{document.documentElement.setAttribute("data-theme",m(e))}},y={get:()=>h(document.documentElement.getAttribute("data-theme-choice")),set:e=>{document.documentElement.setAttribute("data-theme-choice",h(e)??p)}},b=e=>{null===e?f.del():f.set(m(e))};function v(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),{colorMode:o,setColorModeState:i,colorModeChoice:s,setColorModeChoiceState:d}=function(){const{colorMode:{defaultMode:e}}=(0,l.p)(),t=(0,a.A)(),[n,o]=(0,r.useState)(t?g.get():e),[i,s]=(0,r.useState)(t?y.get():null);return(0,r.useEffect)(()=>{o(g.get()),s(y.get())},[]),{colorMode:n,setColorModeState:o,colorModeChoice:i,setColorModeChoiceState:s}}();(0,r.useEffect)(()=>{t&&f.del()},[t]);const p=(0,r.useCallback)((t,r={})=>{const{persist:a=!0}=r;if(null===t){const t=n?c():e;g.set(t),i(t),y.set(null),d(null)}else g.set(t),y.set(t),i(t),d(t);a&&b(t)},[i,d,n,e]);return(0,r.useEffect)(()=>f.listen(e=>{p(h(e.newValue))}),[p]),(0,r.useEffect)(()=>{if(null===s&&n)return u(e=>{i(e),g.set(e)})},[n,s,i]),(0,r.useMemo)(()=>({colorMode:o,colorModeChoice:s,setColorMode:p,get isDarkTheme(){return"dark"===o},setLightTheme(){p("light")},setDarkTheme(){p("dark")}}),[o,s,p])}function w({children:e}){const t=v();return(0,s.jsx)(d.Provider,{value:t,children:e})}function k(){const e=(0,r.useContext)(d);if(null==e)throw new o.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},5302:(e,t,n)=>{var r=n(4634);e.exports=h,e.exports.parse=o,e.exports.compile=function(e,t){return c(o(e,t),t)},e.exports.tokensToFunction=c,e.exports.tokensToRegExp=m;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,l=0,s="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var u=n[0],f=n[1],p=n.index;if(s+=e.slice(l,p),l=p+u.length,f)s+=f[1];else{var m=e[l],h=n[2],g=n[3],y=n[4],b=n[5],v=n[6],w=n[7];s&&(r.push(s),s="");var k=null!=h&&null!=m&&m!==h,S="+"===v||"*"===v,x="?"===v||"*"===v,E=h||c,_=y||b,A=h||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:g||o++,prefix:h||"",delimiter:E,optional:x,repeat:S,partial:k,asterisk:!!w,pattern:_?d(_):w?".*":i(E,A)})}}return l -1?"[^"+u(e)+"]+?":u(t)+"|(?:(?!"+u(t)+")[^"+u(e)+"])+?"}function l(e){return encodeURI(e).replace(/[\/?#]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}function s(e){return encodeURI(e).replace(/[?#]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}function c(e,t){for(var n=new Array(e.length),a=0;a {"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(1247)},5500:(e,t,n)=>{"use strict";n.d(t,{Jx:()=>y,be:()=>m,e3:()=>g});var r=n(6540),a=n(4164),o=n(5260),i=n(6803),l=n(6025),s=n(4563),c=n(4848);function u({title:e}){const t=(0,s.s$)().format(e);return(0,c.jsxs)(o.A,{children:[(0,c.jsx)("title",{children:t}),(0,c.jsx)("meta",{property:"og:title",content:t})]})}function d({description:e}){return(0,c.jsxs)(o.A,{children:[(0,c.jsx)("meta",{name:"description",content:e}),(0,c.jsx)("meta",{property:"og:description",content:e})]})}function f({image:e}){const{withBaseUrl:t}=(0,l.hH)(),n=t(e,{absolute:!0});return(0,c.jsxs)(o.A,{children:[(0,c.jsx)("meta",{property:"og:image",content:n}),(0,c.jsx)("meta",{name:"twitter:image",content:n})]})}function p({keywords:e}){return(0,c.jsx)(o.A,{children:(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(e)?e.join(","):e})})}function m({title:e,description:t,keywords:n,image:r,children:a}){return(0,c.jsxs)(c.Fragment,{children:[e&&(0,c.jsx)(u,{title:e}),t&&(0,c.jsx)(d,{description:t}),n&&(0,c.jsx)(p,{keywords:n}),r&&(0,c.jsx)(f,{image:r}),a&&(0,c.jsx)(o.A,{children:a})]})}const h=r.createContext(void 0);function g({className:e,children:t}){const n=r.useContext(h),i=(0,a.A)(n,e);return(0,c.jsxs)(h.Provider,{value:i,children:[(0,c.jsx)(o.A,{children:(0,c.jsx)("html",{className:i})}),t]})}function y({children:e}){const t=(0,i.A)(),n=`plugin-${t.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const r=`plugin-id-${t.plugin.id}`;return(0,c.jsx)(g,{className:(0,a.A)(n,r),children:e})}},5556:(e,t,n)=>{e.exports=n(2694)()},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({children:e}){const t=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:t,children:e})}function s(){const e=(0,r.useContext)(i);if(!e)throw new a.dV("NavbarSecondaryMenuContentProvider");return e[0]}function c({component:e,props:t}){const n=(0,r.useContext)(i);if(!n)throw new a.dV("NavbarSecondaryMenuContentProvider");const[,o]=n,l=(0,a.Be)(t);return(0,r.useEffect)(()=>{o({component:e,props:l})},[o,e,l]),(0,r.useEffect)(()=>()=>o({component:null,props:null}),[o]),null}},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:' '};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),c=o.querySelector(r.barSelector),u=r.speed,d=r.easing;return o.offsetWidth,l(function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(c,i(e,u,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout(function(){s(o,{transition:"all "+u+"ms linear",opacity:0}),setTimeout(function(){n.remove(),t()},u)},u)):setTimeout(t,u)}),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout(function(){n.status&&(n.trickle(),e())},r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always(function(){0===--t?(e=0,n.done()):n.set((e-t)/e)}),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),c=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(e,t){return t.toUpperCase()})}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function c(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=f(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},6025:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>l,hH:()=>i});var r=n(6540),a=n(4586),o=n(6654);function i(){const{siteConfig:e}=(0,a.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,l=(0,r.useCallback)((e,r)=>function({siteUrl:e,baseUrl:t,url:n,options:{forcePrependBaseUrl:r=!1,absolute:a=!1}={},router:i}){if(!n||n.startsWith("#")||(0,o.z)(n))return n;if("hash"===i)return n.startsWith("/")?`.${n}`:`./${n}`;if(r)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return a?e+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i}),[n,t,i]);return{withBaseUrl:l}}function l(e,t={}){const{withBaseUrl:n}=i();return n(e,t)}},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>o,x:()=>i});var r=n(6540),a=n(4848);const o=r.createContext(!1);function i({children:e}){const[t,n]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{n(!0)},[]),(0,a.jsx)(o.Provider,{value:t,children:e})}},6134:(e,t,n)=>{"use strict";var r=n(1765),a=n(4784);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t,o=globalThis.Prism;globalThis.Prism=e,r.forEach(e=>{"php"===e&&n(9700),n(2318)(`./prism-${e}`)}),delete globalThis.Prism,void 0!==o&&(globalThis.Prism=e)}(r.My)},6221:(e,t,n)=>{"use strict";var r=n(6540);function a(e){var t="https://react.dev/errors/"+e;if(1 {"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({location:e,previousLocation:t}){if(t&&e.pathname!==t.pathname){const e=window.setTimeout(()=>{a().start()},200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(4586);function a(){return(0,r.A)().siteConfig.themeConfig}},6347:(e,t,n)=>{"use strict";n.d(t,{B6:()=>x,Ix:()=>v,W6:()=>L,XZ:()=>b,dO:()=>N,qh:()=>E,zy:()=>j});var r=n(2892),a=n(6540),o=n(5556),i=n.n(o),l=n(1513),s=n(1561),c=n(8168),u=n(5302),d=n.n(u),f=(n(4363),n(8587)),p=(n(4146),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var h=a.createContext||function(e,t){var n,o,l="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",s=function(e){function n(){for(var t,n,r,a=arguments.length,o=new Array(a),i=0;i{"use strict";e.exports=n(9869)},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})},6803:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(3102);function o(){const e=r.useContext(a.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}},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,o])=>{const i=a?`${a}.${n}`:n;r(o)?e(o,i):t[i]=o})}(e),t}},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},6972:(e,t,n)=>{"use strict";n.d(t,{$S:()=>m,B5:()=>A,Nr:()=>p,OF:()=>S,QB:()=>_,Vd:()=>x,Y:()=>w,a4:()=>h,cC:()=>f,d1:()=>C,fW:()=>E,w8:()=>b});var r=n(6540),a=n(6347),o=n(2831),i=n(4070),l=n(9169),s=n(1682),c=n(3886),u=n(3025),d=n(609);function f(e){const t=(0,u.r)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function p(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=p(t);if(e)return e}}(e):void 0:e.href}function m(){const{pathname:e}=(0,a.zy)(),t=(0,d.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}function h(){const{pathname:e}=(0,a.zy)(),t=(0,d.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];return n?.items??t.items}const g=(e,t)=>void 0!==e&&(0,l.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)||void 0!==e.href&&!e.linkUnlisted||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({sidebarItems:e,pathname:t,onlyCategories:n=!1}){const r=[];return function e(a){for(const o of a)if("category"===o.type&&((0,l.ys)(o.href,t)||e(o.items))||"link"===o.type&&(0,l.ys)(o.href,t)){return n&&"category"!==o.type||r.unshift(o),!0}return!1}(e),r}function S(){const e=(0,d.t)(),{pathname:t}=(0,a.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?k({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,c.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)(()=>(0,s.sb)([t,n,a].filter(Boolean)),[t,n,a])}function E(e,t){const n=x(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 _(e,t){const n=x(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- ${(0,s.sb)(t.map(e=>e.id)).join("\n- ")}`)}return r},[e,n])}function A({route:e}){const t=(0,a.zy)(),n=(0,u.r)(),r=e.routes,i=r.find(e=>(0,a.B6)(t.pathname,e));if(!i)return null;const l=i.sidebar,s=l?n.docsSidebars[l]:void 0;return{docElement:(0,o.v)(r),sidebarName:l,sidebarItems:s}}function C(e){return e.filter(e=>!("category"===e.type||"link"===e.type)||!!p(e))}},6988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>f});var r=n(6540),a=n(4784);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/trip/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/trip/docs","mainDocId":"intro","docs":[{"id":"contributing","path":"/trip/docs/contributing","sidebar":"docSidebar"},{"id":"getting-started/configuration","path":"/trip/docs/getting-started/configuration","sidebar":"docSidebar"},{"id":"getting-started/deploy","path":"/trip/docs/getting-started/deploy","sidebar":"docSidebar"},{"id":"intro","path":"/trip/docs/intro","sidebar":"docSidebar"},{"id":"map-tracker/introduction","path":"/trip/docs/map-tracker/introduction","sidebar":"docSidebar"},{"id":"map-tracker/map-filtering","path":"/trip/docs/map-tracker/map-filtering","sidebar":"docSidebar"},{"id":"map-tracker/map-panel","path":"/trip/docs/map-tracker/map-panel","sidebar":"docSidebar"},{"id":"map-tracker/places","path":"/trip/docs/map-tracker/places","sidebar":"docSidebar"},{"id":"map-tracker/places-creation","path":"/trip/docs/map-tracker/places-creation","sidebar":"docSidebar"},{"id":"map-tracker/settings","path":"/trip/docs/map-tracker/settings","sidebar":"docSidebar"},{"id":"misc/backup","path":"/trip/docs/misc/backup","sidebar":"docSidebar"},{"id":"misc/synology","path":"/trip/docs/misc/synology","sidebar":"docSidebar"},{"id":"trips-planner/introduction","path":"/trip/docs/trips-planner/introduction","sidebar":"docSidebar"},{"id":"trips-planner/trip-ano-share","path":"/trip/docs/trips-planner/trip-ano-share","sidebar":"docSidebar"},{"id":"trips-planner/trip-archive","path":"/trip/docs/trips-planner/trip-archive","sidebar":"docSidebar"},{"id":"trips-planner/trip-attachments-lists","path":"/trip/docs/trips-planner/trip-attachments-lists","sidebar":"docSidebar"},{"id":"trips-planner/trip-collaboration","path":"/trip/docs/trips-planner/trip-collaboration","sidebar":"docSidebar"},{"id":"trips-planner/trip-concepts","path":"/trip/docs/trips-planner/trip-concepts","sidebar":"docSidebar"},{"id":"trips-planner/trip-creation","path":"/trip/docs/trips-planner/trip-creation","sidebar":"docSidebar"},{"id":"trips-planner/trip-export","path":"/trip/docs/trips-planner/trip-export","sidebar":"docSidebar"},{"id":"trips-planner/trip-map","path":"/trip/docs/trips-planner/trip-map","sidebar":"docSidebar"},{"id":"trips-planner/trip-places","path":"/trip/docs/trips-planner/trip-places","sidebar":"docSidebar"},{"id":"trips-planner/trip-plan-creation","path":"/trip/docs/trips-planner/trip-plan-creation","sidebar":"docSidebar"},{"id":"trips-planner/trip-plans","path":"/trip/docs/trips-planner/trip-plans","sidebar":"docSidebar"},{"id":"trips-planner/trips","path":"/trip/docs/trips-planner/trips","sidebar":"docSidebar"},{"id":"/category/getting-started","path":"/trip/docs/category/getting-started","sidebar":"docSidebar"},{"id":"/category/map-tracker","path":"/trip/docs/category/map-tracker","sidebar":"docSidebar"},{"id":"/category/trips-planner","path":"/trip/docs/category/trips-planner","sidebar":"docSidebar"},{"id":"/category/miscelaneous","path":"/trip/docs/category/miscelaneous","sidebar":"docSidebar"}],"draftIds":[],"sidebars":{"docSidebar":{"link":{"path":"/trip/docs/intro","label":"intro"}}}}],"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","translate":false,"url":"https://itskovacs.github.io","baseUrl":"/trip/"}}}');var l=n(2654);const s=JSON.parse('{"docusaurusVersion":"3.9.2","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-css-cascade-layers":{"type":"package","name":"@docusaurus/plugin-css-cascade-layers","version":"3.9.2"},"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.9.2"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.9.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.9.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.9.2"},"docusaurus-plugin-svgr":{"type":"package","name":"@docusaurus/plugin-svgr","version":"3.9.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.9.2"}}}');var c=n(4848);const u={siteConfig:a.default,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},d=r.createContext(u);function f({children:e}){return(0,c.jsx)(d.Provider,{value:u,children:e})}},7022:()=>{!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i {"use strict";n.d(t,{W:()=>r});const r="default"},7485:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>i,Hl:()=>l,aZ:()=>s,jy:()=>c});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){const t=(0,a.W6)();return(0,r.useSyncExternalStore)(t.listen,()=>e(t),()=>e({...t,location:{...t.location,search:"",hash:"",state:void 0}}))}function s(e){return l(t=>null===e?null:new URLSearchParams(t.location.search).get(e))}function c(e,t){const n=function(e,t){const n=new URLSearchParams;for(const r of e)for(const[e,a]of r.entries())"append"===t?n.append(e,a):n.set(e,a);return n}(e.map(e=>new URLSearchParams(e??"")),t),r=n.toString();return r?`?${r}`:r}},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(1656),s=n(3102),c=n(4848);function u({error:e,tryAgain:t}){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:t,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:e})]})}function d({error:e}){const t=(0,i.rA)(e).map(e=>e.message).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:t})}function f({children:e}){return(0,c.jsx)(s.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:e})}function p({error:e,tryAgain:t}){return(0,c.jsx)(f,{children:(0,c.jsxs)(h,{fallback:()=>(0,c.jsx)(u,{error:e,tryAgain:t}),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:e,tryAgain:t})})]})})}const m=e=>(0,c.jsx)(p,{...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}}},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",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-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",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},announcementBar:{container:"theme-announcement-bar"},tabs:{container:"theme-tabs-container"},layout:{navbar:{container:"theme-layout-navbar",containerLeft:"theme-layout-navbar-left",containerRight:"theme-layout-navbar-right",mobileSidebar:{container:"theme-layout-navbar-sidebar",panel:"theme-layout-navbar-sidebar-panel"}},main:{container:"theme-layout-main"},footer:{container:"theme-layout-footer",column:"theme-layout-footer-column"}},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"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},8168:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t r})},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}},8328:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});n(6540);var r=n(3259),a=n.n(r),o=n(4054);const i={"009f1e98":[()=>n.e(715).then(n.bind(n,3511)),"@site/docs/getting-started/configuration.md",3511],"0628ec19":[()=>n.e(165).then(n.bind(n,3468)),"@site/docs/trips-planner/trip-attachments-lists.md",3468],"0e384e19":[()=>n.e(976).then(n.bind(n,2053)),"@site/docs/intro.md",2053],"14eb3368":[()=>Promise.all([n.e(869),n.e(969)]).then(n.bind(n,6098)),"@theme/DocCategoryGeneratedIndexPage",6098],17896441:[()=>Promise.all([n.e(869),n.e(401)]).then(n.bind(n,3262)),"@theme/DocItem",3262],"1aa3da28":[()=>n.e(922).then(n.bind(n,2593)),"@site/docs/trips-planner/trip-export.md",2593],"1d246e39":[()=>n.e(733).then(n.bind(n,7465)),"@site/docs/trips-planner/trip-plans.md",7465],"1df93b7f":[()=>Promise.all([n.e(869),n.e(583)]).then(n.bind(n,2082)),"@site/src/pages/index.tsx",2082],26922847:[()=>n.e(687).then(n.t.bind(n,9674,19)),"@generated/docusaurus-plugin-content-docs/default/p/trip-docs-category-getting-started-f32.json",9674],"2d727d9f":[()=>n.e(582).then(n.bind(n,5475)),"@site/docs/misc/backup.md",5475],"34f354b2":[()=>n.e(760).then(n.bind(n,2325)),"@site/docs/trips-planner/trip-concepts.md",2325],"39a9af6f":[()=>n.e(588).then(n.t.bind(n,3539,19)),"@generated/docusaurus-plugin-content-docs/default/p/trip-docs-category-trips-planner-7fd.json",3539],"3a165c72":[()=>n.e(293).then(n.t.bind(n,4488,19)),"@generated/docusaurus-plugin-content-docs/default/p/trip-docs-category-map-tracker-24d.json",4488],"3b6bb3a0":[()=>n.e(138).then(n.bind(n,3266)),"@site/docs/map-tracker/map-filtering.md",3266],"4d54d076":[()=>n.e(459).then(n.bind(n,2199)),"@site/docs/contributing.md",2199],"5e95c892":[()=>n.e(647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"66a53f71":[()=>n.e(886).then(n.bind(n,9617)),"@site/docs/map-tracker/places.md",9617],"6e0ab1b4":[()=>n.e(972).then(n.bind(n,2541)),"@site/docs/trips-planner/trip-places.md",2541],"6fd453cb":[()=>n.e(20).then(n.t.bind(n,3140,19)),"@generated/docusaurus-plugin-content-docs/default/p/trip-docs-category-miscelaneous-030.json",3140],70366980:[()=>n.e(674).then(n.bind(n,6135)),"@site/docs/trips-planner/trip-creation.md",6135],"7454facd":[()=>n.e(691).then(n.bind(n,1931)),"@site/docs/trips-planner/trips.md",1931],"7a8dce06":[()=>n.e(653).then(n.bind(n,798)),"@site/docs/trips-planner/trip-collaboration.md",798],"7bbb8eb5":[()=>n.e(970).then(n.bind(n,6211)),"@site/docs/trips-planner/trip-map.md",6211],"7e910379":[()=>n.e(906).then(n.bind(n,5923)),"@site/docs/map-tracker/places-creation.md",5923],"7fd16edc":[()=>n.e(89).then(n.bind(n,4578)),"@site/docs/trips-planner/trip-ano-share.md",4578],"82b76652":[()=>n.e(470).then(n.bind(n,2426)),"@site/docs/trips-planner/introduction.md",2426],a199cff3:[()=>n.e(409).then(n.bind(n,7558)),"@site/docs/map-tracker/introduction.md",7558],a7456010:[()=>n.e(235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(98).then(n.bind(n,1723)),"@theme/DocVersionRoot",1723],a94703ab:[()=>Promise.all([n.e(869),n.e(48)]).then(n.bind(n,8115)),"@theme/DocRoot",8115],aba21aa0:[()=>n.e(742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],b62cd033:[()=>n.e(192).then(n.t.bind(n,3182,19)),"@generated/docusaurus-plugin-content-docs/default/p/trip-docs-fe2.json",3182],bc3400a6:[()=>Promise.all([n.e(869),n.e(26)]).then(n.bind(n,1270)),"@site/docs/misc/synology.md",1270],c3ff9a3c:[()=>n.e(350).then(n.bind(n,8230)),"@site/docs/map-tracker/map-panel.md",8230],c6b70549:[()=>n.e(546).then(n.bind(n,2719)),"@site/docs/map-tracker/settings.md",2719],ceb477ef:[()=>n.e(394).then(n.bind(n,4449)),"@site/docs/trips-planner/trip-archive.md",4449],e1ff7207:[()=>n.e(185).then(n.bind(n,2403)),"@site/docs/getting-started/deploy.md",2403],ea11414a:[()=>n.e(903).then(n.bind(n,4579)),"@site/docs/trips-planner/trip-plan-creation.md",4579]};var l=n(4848);function s({error:e,retry:t,pastDelay:n}){return e?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(e)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:t,children:"Retry"})})]}):n?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(6921),u=n(3102);function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e(237).then(n.bind(n,2237)),modules:["@theme/NotFound"],webpack:()=>[2237],render(e,t){const n=e.default;return(0,l.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},f=[],p=[],m=(0,c.A)(r);return Object.entries(m).forEach(([e,t])=>{const n=i[t];n&&(d[e]=n[0],f.push(n[1]),p.push(n[2]))}),a().Map({loading:s,loader:d,modules:f,webpack:()=>p,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach(([t,n])=>{const r=n.default;if(!r)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof r&&"function"!=typeof r||Object.keys(n).filter(e=>"default"!==e).forEach(e=>{r[e]=n[e]});let o=a;const i=t.split(".");i.slice(0,-1).forEach(e=>{o=o[e]}),o[i[i.length-1]]=r});const o=a.__comp;delete a.__comp;const i=a.__context;delete a.__context;const s=a.__props;return delete a.__props,(0,l.jsx)(u.W,{value:i,children:(0,l.jsx)(o,{...a,...s,...n})})}})}const f=[{path:"/trip/docs",component:d("/trip/docs","6fd"),routes:[{path:"/trip/docs",component:d("/trip/docs","416"),routes:[{path:"/trip/docs",component:d("/trip/docs","7a0"),routes:[{path:"/trip/docs/category/getting-started",component:d("/trip/docs/category/getting-started","409"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/category/map-tracker",component:d("/trip/docs/category/map-tracker","7ce"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/category/miscelaneous",component:d("/trip/docs/category/miscelaneous","a29"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/category/trips-planner",component:d("/trip/docs/category/trips-planner","f1f"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/contributing",component:d("/trip/docs/contributing","b87"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/getting-started/configuration",component:d("/trip/docs/getting-started/configuration","fe2"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/getting-started/deploy",component:d("/trip/docs/getting-started/deploy","4a6"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/intro",component:d("/trip/docs/intro","22a"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/map-tracker/introduction",component:d("/trip/docs/map-tracker/introduction","1c7"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/map-tracker/map-filtering",component:d("/trip/docs/map-tracker/map-filtering","09e"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/map-tracker/map-panel",component:d("/trip/docs/map-tracker/map-panel","1a8"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/map-tracker/places",component:d("/trip/docs/map-tracker/places","2ce"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/map-tracker/places-creation",component:d("/trip/docs/map-tracker/places-creation","0e1"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/map-tracker/settings",component:d("/trip/docs/map-tracker/settings","159"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/misc/backup",component:d("/trip/docs/misc/backup","8f9"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/misc/synology",component:d("/trip/docs/misc/synology","aa3"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/introduction",component:d("/trip/docs/trips-planner/introduction","19b"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/trip-ano-share",component:d("/trip/docs/trips-planner/trip-ano-share","511"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/trip-archive",component:d("/trip/docs/trips-planner/trip-archive","6cd"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/trip-attachments-lists",component:d("/trip/docs/trips-planner/trip-attachments-lists","536"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/trip-collaboration",component:d("/trip/docs/trips-planner/trip-collaboration","43f"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/trip-concepts",component:d("/trip/docs/trips-planner/trip-concepts","aea"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/trip-creation",component:d("/trip/docs/trips-planner/trip-creation","c29"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/trip-export",component:d("/trip/docs/trips-planner/trip-export","b08"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/trip-map",component:d("/trip/docs/trips-planner/trip-map","903"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/trip-places",component:d("/trip/docs/trips-planner/trip-places","af9"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/trip-plan-creation",component:d("/trip/docs/trips-planner/trip-plan-creation","0f9"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/trip-plans",component:d("/trip/docs/trips-planner/trip-plans","2de"),exact:!0,sidebar:"docSidebar"},{path:"/trip/docs/trips-planner/trips",component:d("/trip/docs/trips-planner/trips","1b6"),exact:!0,sidebar:"docSidebar"}]}]}]},{path:"/trip/",component:d("/trip/","252"),exact:!0},{path:"*",component:d("*")}]},8587:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}n.d(t,{A:()=>r})},8600:(e,t,n)=>{"use strict";var r=n(6540),a=n(5338),o=n(545),i=n(4625),l=n(4784),s=n(8193);const c=[n(3001),n(119),n(6134),n(6294),n(1043)];var u=n(8328),d=n(6347),f=n(2831),p=n(4848);function m({children:e}){return(0,p.jsx)(p.Fragment,{children:e})}var h=n(4563);const g=e=>e.defaultFormatter(e);function y({children:e}){return(0,p.jsx)(h.AL,{formatter:g,children:e})}function b({children:e}){return(0,p.jsx)(y,{children:e})}var v=n(5260),w=n(4586),k=n(6025),S=n(6342),x=n(5500),E=n(2131),_=n(4090);var A=n(440),C=n(1463);function T(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,w.A)(),r=(0,E.o)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,p.jsxs)(v.A,{children:[Object.entries(n).map(([e,{htmlLang:t}])=>(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:e,fullyQualified:!0}),hrefLang:t},e)),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter(e=>a!==e.htmlLang).map(e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`))]})}function P({permalink:e}){const{siteConfig:{url:t}}=(0,w.A)(),n=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,w.A)(),{pathname:r}=(0,d.zy)();return e+(0,A.Ks)((0,k.Ay)(r),{trailingSlash:n,baseUrl:t})}(),r=e?`${t}${e}`:n;return(0,p.jsxs)(v.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:r}),(0,p.jsx)("link",{rel:"canonical",href:r})]})}function N(){const{i18n:{currentLocale:e}}=(0,w.A)(),{metadata:t,image:n}=(0,S.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(v.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:_.w})]}),n&&(0,p.jsx)(x.be,{image:n}),(0,p.jsx)(P,{}),(0,p.jsx)(T,{}),(0,p.jsx)(C.A,{tag:"default",locale:e}),(0,p.jsx)(v.A,{children:t.map((e,t)=>(0,p.jsx)("meta",{...e},t))})]})}const O=new Map;var L=n(6125),j=n(6988),R=n(205);function I(e,...t){const n=c.map(n=>{const r=n.default?.[e]??n[e];return r?.(...t)});return()=>n.forEach(e=>e?.())}const D=function({children:e,location:t,previousLocation:n}){return(0,R.A)(()=>{n!==t&&(!function({location:e,previousLocation:t}){if(!t)return;const n=e.pathname===t.pathname,r=e.hash===t.hash,a=e.search===t.search;if(n&&r&&!a)return;const{hash:o}=e;if(o){const e=decodeURIComponent(o.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:t,previousLocation:n}),I("onRouteDidUpdate",{previousLocation:n,location:t}))},[n,t]),e};function F(e){const t=Array.from(new Set([e,decodeURI(e)])).map(e=>(0,f.u)(u.A,e)).flat();return Promise.all(t.map(e=>e.route.component.preload?.()))}class M extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.A.canUseDOM?I("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=I("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),F(n.pathname).then(()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})}).catch(e=>{console.warn(e),window.location.reload()}),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(D,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(d.qh,{location:t,render:()=>e})})}}const z=M,$="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '__docusaurus-base-url-issue-banner-container';\n var bannerHtml = ${JSON.stringify(function(e){return`\n\n`}(e)).replace(/!0===e.exact))return O.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return O.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,p.jsx)(z,{location:e,children:Y})}function Q(){return(0,p.jsx)(W.A,{children:(0,p.jsx)(j.l,{children:(0,p.jsxs)(L.x,{children:[(0,p.jsx)(m,{children:(0,p.jsxs)(b,{children:[(0,p.jsx)(V,{}),(0,p.jsx)(N,{}),(0,p.jsx)(H,{}),(0,p.jsx)(K,{})]})}),(0,p.jsx)(q,{})]})})})}var X=n(4054);const Z=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise((t,n)=>{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 J=n(6921);const ee=new Set,te=new Set,ne=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,re={prefetch:e=>{if(!(e=>!ne()&&!te.has(e)&&!ee.has(e))(e))return!1;ee.add(e);const t=(0,f.u)(u.A,e).flatMap(e=>{return t=e.route.path,Object.entries(X).filter(([e])=>e.replace(/-[^-]+$/,"")===t).flatMap(([,e])=>Object.values((0,J.A)(e)));var t});return Promise.all(t.map(e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Z(t).catch(()=>{}):Promise.resolve()}))},preload:e=>!!(e=>!ne()&&!te.has(e))(e)&&(te.add(e),F(e))},ae=Object.freeze(re);function oe({children:e}){return"hash"===l.default.future.experimental_router?(0,p.jsx)(i.I9,{children:e}):(0,p.jsx)(i.Kd,{children:e})}const ie=Boolean(!0);if(s.A.canUseDOM){window.docusaurus=ae;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(o.vd,{children:(0,p.jsx)(oe,{children:(0,p.jsx)(Q,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ie)window.docusaurusRoot=a.hydrateRoot(e,t,{onRecoverableError:n});else{const r=a.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};F(window.location.pathname).then(()=>{(0,r.startTransition)(i)})}},8774:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});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 f({isNavLink:e,to:t,href:n,activeClassName:f,isActive:p,"data-noBrokenLinkCheck":m,autoAddBaseUrl:h=!0,...g},y){const{siteConfig:b}=(0,i.A)(),{trailingSlash:v,baseUrl:w}=b,k=b.future.experimental_router,{withBaseUrl:S}=(0,u.hH)(),x=(0,c.A)(),E=(0,r.useRef)(null);(0,r.useImperativeHandle)(y,()=>E.current);const _=t||n;const A=(0,l.A)(_),C=_?.replace("pathname://","");let T=void 0!==C?(P=C,h&&(e=>e.startsWith("/"))(P)?S(P):P):void 0;var P;"hash"===k&&T?.startsWith("./")&&(T=T?.slice(1)),T&&A&&(T=(0,o.Ks)(T,{trailingSlash:v,baseUrl:w}));const N=(0,r.useRef)(!1),O=e?a.k2:a.N_,L=s.A.canUseIntersectionObserver,j=(0,r.useRef)(),R=()=>{N.current||null==T||(window.docusaurus.preload(T),N.current=!0)};(0,r.useEffect)(()=>(!L&&A&&s.A.canUseDOM&&null!=T&&window.docusaurus.prefetch(T),()=>{L&&j.current&&j.current.disconnect()}),[j,T,L,A]);const I=T?.startsWith("#")??!1,D=!g.target||"_self"===g.target,F=!T||!A||!D||I&&"hash"!==k;m||!I&&F||x.collectLink(T),g.id&&x.collectAnchor(g.id);const M={};return F?(0,d.jsx)("a",{ref:E,href:T,..._&&!A&&{target:"_blank",rel:"noopener noreferrer"},...g,...M}):(0,d.jsx)(O,{...g,onMouseEnter:R,onTouchStart:R,innerRef:e=>{E.current=e,L&&e&&A&&(j.current=new window.IntersectionObserver(t=>{t.forEach(t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(j.current.unobserve(e),j.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))})}),j.current.observe(e))},to:T,...e&&{isActive:p,activeClassName:f},...M})}const p=r.forwardRef(f)},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({baseUrl:e,routes:t}){function n(t){return t.path===e&&!0===t.exact}function r(t){return t.path===e&&!t.exact}return function e(t){if(0===t.length)return;return t.find(n)||e(t.filter(r).flatMap(e=>e.routes??[]))}(t)}({routes:a.A,baseUrl:e}),[e])}},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)((...e)=>t.current(...e),[])}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({children:t})=>(0,o.jsx)(o.Fragment,{children:e.reduceRight((e,t)=>(0,o.jsx)(t,{children:e}),t)})}},9698:(e,t)=>{"use strict";var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function a(e,t,r){var a=null;if(void 0!==r&&(a=""+r),void 0!==t.key&&(a=""+t.key),"key"in t)for(var o in r={},t)"key"!==o&&(r[o]=t[o]);else r=t;return t=r.ref,{$$typeof:n,type:e,key:a,ref:void 0!==t?t:null,props:r}}t.Fragment=r,t.jsx=a,t.jsxs=a},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a}),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s =o.length);s++){var c=l[s];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[a],d=n.tokenStack[u],f="string"==typeof c?c:c.content,p=t(r,u),m=f.indexOf(p);if(m>-1){++a;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(m+p.length),b=[];h&&b.push.apply(b,i([h])),b.push(g),y&&b.push.apply(b,i([y])),"string"==typeof c?l.splice.apply(l,[s,1].concat(b)):c.content=b}}else c.content&&i(c.content)}return l}(n.tokens)}}}})}(Prism)},9869:(e,t)=>{"use strict";var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),s=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),m=Symbol.iterator;var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,y={};function b(e,t,n){this.props=e,this.context=t,this.refs=y,this.updater=n||h}function v(){}function w(e,t,n){this.props=e,this.context=t,this.refs=y,this.updater=n||h}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=b.prototype;var k=w.prototype=new v;k.constructor=w,g(k,b.prototype),k.isPureReactComponent=!0;var S=Array.isArray;function x(){}var E={H:null,A:null,T:null,S:null},_=Object.prototype.hasOwnProperty;function A(e,t,r){var a=r.ref;return{$$typeof:n,type:e,key:t,ref:void 0!==a?a:null,props:r}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var T=/\/+/g;function P(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36);var n,r}function N(e,t,a,o,i){var l=typeof e;"undefined"!==l&&"boolean"!==l||(e=null);var s,c,u=!1;if(null===e)u=!0;else switch(l){case"bigint":case"string":case"number":u=!0;break;case"object":switch(e.$$typeof){case n:case r:u=!0;break;case f:return N((u=e._init)(e._payload),t,a,o,i)}}if(u)return i=i(e),u=""===o?"."+P(e,0):o,S(i)?(a="",null!=u&&(a=u.replace(T,"$&/")+"/"),N(i,t,a,"",function(e){return e})):null!=i&&(C(i)&&(s=i,c=a+(null==i.key||e&&e.key===i.key?"":(""+i.key).replace(T,"$&/")+"/")+u,i=A(s.type,c,s.props)),t.push(i)),1;u=0;var d,p=""===o?".":o+":";if(S(e))for(var h=0;h {"use strict";e.exports=n(4477)}},e=>{e.O(0,[869],()=>{return t=8600,e(e.s=t);var t});e.O()}]); \ No newline at end of file diff --git a/docs/assets/js/main.5fbd8ce6.js.LICENSE.txt b/docs/assets/js/main.5fbd8ce6.js.LICENSE.txt new file mode 100644 index 0000000..4c963e4 --- /dev/null +++ b/docs/assets/js/main.5fbd8ce6.js.LICENSE.txt @@ -0,0 +1,61 @@ +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */ + +/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * scheduler.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/docs/assets/js/runtime~main.7981b117.js b/docs/assets/js/runtime~main.7981b117.js new file mode 100644 index 0000000..720009e --- /dev/null +++ b/docs/assets/js/runtime~main.7981b117.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,a,t,r,f,o={},c={};function d(e){var a=c[e];if(void 0!==a)return a.exports;var t=c[e]={exports:{}};return o[e].call(t.exports,t,t.exports,d),t.exports}d.m=o,e=[],d.O=(a,t,r,f)=>{if(!t){var o=1/0;for(i=0;i =f)&&Object.keys(d.O).every(e=>d.O[e](t[n]))?t.splice(n--,1):(c=!1,f 0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[t,r,f]},d.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return d.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);d.r(f);var o={};a=a||[null,t({}),t([]),t(t)];for(var c=2&r&&e;("object"==typeof c||"function"==typeof c)&&!~a.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach(a=>o[a]=()=>e[a]);return o.default=()=>e,d.d(f,o),f},d.d=(e,a)=>{for(var t in a)d.o(a,t)&&!d.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce((a,t)=>(d.f[t](e,a),a),[])),d.u=e=>"assets/js/"+({20:"6fd453cb",26:"bc3400a6",48:"a94703ab",89:"7fd16edc",98:"a7bd4aaa",138:"3b6bb3a0",165:"0628ec19",185:"e1ff7207",192:"b62cd033",235:"a7456010",293:"3a165c72",350:"c3ff9a3c",394:"ceb477ef",401:"17896441",409:"a199cff3",459:"4d54d076",470:"82b76652",546:"c6b70549",582:"2d727d9f",583:"1df93b7f",588:"39a9af6f",647:"5e95c892",653:"7a8dce06",674:"70366980",687:"26922847",691:"7454facd",715:"009f1e98",733:"1d246e39",742:"aba21aa0",760:"34f354b2",886:"66a53f71",903:"ea11414a",906:"7e910379",922:"1aa3da28",969:"14eb3368",970:"7bbb8eb5",972:"6e0ab1b4",976:"0e384e19"}[e]||e)+"."+{20:"ebf0bc06",26:"8f3aea16",48:"2971bd44",89:"641e9b8d",98:"9fc1ddc3",138:"c4941bbf",165:"530602df",185:"b5c0a403",192:"86a39958",235:"e71bf6db",237:"3c68e903",293:"bda419fe",350:"f85214e1",394:"bba7ec46",401:"8045314b",409:"87b3df57",459:"d0509837",470:"d448a0c0",546:"384fc1ff",582:"5d876f1a",583:"84d45fd9",588:"9737b4a9",647:"497bdc2d",653:"f33608e8",674:"ef3b0a37",687:"324d16b6",691:"36967535",715:"6f61e663",733:"0362cab9",742:"615d9be6",760:"6bc66896",886:"cfc1c01e",903:"aa3d0bf4",906:"e69e8fd8",922:"638ef7f1",969:"b2793437",970:"409019c5",972:"af89496f",976:"33e8d20a"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},f="tripdocs:",d.l=(e,a,t,o)=>{if(r[e])r[e].push(a);else{var c,n;if(void 0!==t)for(var b=document.getElementsByTagName("script"),i=0;i {c.onerror=c.onload=null,clearTimeout(s);var f=r[e];if(delete r[e],c.parentNode&&c.parentNode.removeChild(c),f&&f.forEach(e=>e(t)),a)return a(t)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),n&&document.head.appendChild(c)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/trip/",d.gca=function(e){return e={17896441:"401",26922847:"687",70366980:"674","6fd453cb":"20",bc3400a6:"26",a94703ab:"48","7fd16edc":"89",a7bd4aaa:"98","3b6bb3a0":"138","0628ec19":"165",e1ff7207:"185",b62cd033:"192",a7456010:"235","3a165c72":"293",c3ff9a3c:"350",ceb477ef:"394",a199cff3:"409","4d54d076":"459","82b76652":"470",c6b70549:"546","2d727d9f":"582","1df93b7f":"583","39a9af6f":"588","5e95c892":"647","7a8dce06":"653","7454facd":"691","009f1e98":"715","1d246e39":"733",aba21aa0:"742","34f354b2":"760","66a53f71":"886",ea11414a:"903","7e910379":"906","1aa3da28":"922","14eb3368":"969","7bbb8eb5":"970","6e0ab1b4":"972","0e384e19":"976"}[e]||e,d.p+d.u(e)},(()=>{var e={354:0,869:0};d.f.j=(a,t)=>{var r=d.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(354|869)$/.test(a))e[a]=0;else{var f=new Promise((t,f)=>r=e[a]=[t,f]);t.push(r[2]=f);var o=d.p+d.u(a),c=new Error;d.l(o,t=>{if(d.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var f=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;c.message="Loading chunk "+a+" failed.\n("+f+": "+o+")",c.name="ChunkLoadError",c.type=f,c.request=o,r[1](c)}},"chunk-"+a,a)}},d.O.j=a=>0===e[a];var a=(a,t)=>{var r,f,[o,c,n]=t,b=0;if(o.some(a=>0!==e[a])){for(r in c)d.o(c,r)&&(d.m[r]=c[r]);if(n)var i=n(d)}for(a&&a(t);b + + + + + Getting Started | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/category/map-tracker/index.html b/docs/docs/category/map-tracker/index.html new file mode 100644 index 0000000..54e5aa1 --- /dev/null +++ b/docs/docs/category/map-tracker/index.html @@ -0,0 +1,16 @@ + + + + + +Getting Started
Set up and configure TRIP
📄️ Deployment
Deploy TRIP
📄️ Configuration
Configure TRIP
Map Tracker | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/category/miscelaneous/index.html b/docs/docs/category/miscelaneous/index.html new file mode 100644 index 0000000..9f75caf --- /dev/null +++ b/docs/docs/category/miscelaneous/index.html @@ -0,0 +1,16 @@ + + + + + +Map Tracker
Documentation focused on the Points Of Interest
📄️ Introduction
Introduction to Map
📄️ Places
Your map displays all your Places (Points of Interest). Click on any Place to view details and interact with it.
📄️ Places - Creation
Creating a Place using the Place creation modal
📄️ Map - Panel
Displaying the Places panel
📄️ Map - Filtering
Filtering the Places on the Map
📄️ Settings
Customize your app experience, manage categories, make backups, enable TOTP, and more.
Miscelaneous | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/category/trips-planner/index.html b/docs/docs/category/trips-planner/index.html new file mode 100644 index 0000000..26c389a --- /dev/null +++ b/docs/docs/category/trips-planner/index.html @@ -0,0 +1,16 @@ + + + + + +Trips Planner | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/contributing/index.html b/docs/docs/contributing/index.html new file mode 100644 index 0000000..e5ef253 --- /dev/null +++ b/docs/docs/contributing/index.html @@ -0,0 +1,25 @@ + + + + + +Trips Planner
Documentation focused on the Trip part
📄️ Introduction
Introduction to Map
📄️ Trips
Viewing your trips
📄️ Trip - Creation
Creating a trip
📄️ Trip - Concepts
Trip days, plans, a trip is organized in a table-like structure
📄️ Trip - Places
A trip can reference places
📄️ Trip - Map
The map displays your places and plans, with options to highlight itineraries
📄️ Trip - Plans
Understand your trip plans
📄️ Trip - Plan creation
Create your first plan
📄️ Trip - Attachments & lists
Your trip can hold attachments, a checklist, a packing list
📄️ Trip - Export and print
Export your trip in multiple formats to suit your needs
📄️ Trip - Collaboration
Collaborate on a trip with other members
📄️ Trip - Anonymous share
Share your trip publicly via a unique read-only link
📄️ Trip - Archive
Archive a Trip once it's complete
Contributing | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/getting-started/configuration/index.html b/docs/docs/getting-started/configuration/index.html new file mode 100644 index 0000000..193665e --- /dev/null +++ b/docs/docs/getting-started/configuration/index.html @@ -0,0 +1,66 @@ + + + + + ++ Contributing
Contributions are welcome! Open an issue to report bugs, start a discussion to share ideas or submit a pull request for new features.
++
+- Fork the repository
+- Create a new branch (
+new-feature)- Commit and push your changes
+- Open the pull request
+TRIP is and will always remain completely free, no paywalled features, no telemetry, no tracking, no ads.
+Development is supported through optional donations. If TRIP helps plan your adventures, consider leaving me a small tip ☕. Thank you!
Configuration | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/getting-started/deploy/index.html b/docs/docs/getting-started/deploy/index.html new file mode 100644 index 0000000..c2aee7f --- /dev/null +++ b/docs/docs/getting-started/deploy/index.html @@ -0,0 +1,26 @@ + + + + + ++ Configuration
You can modify the configuration by setting values in the
+storage/config.ymlfile.+warningThe
config.ymlfile is not created automatically because the server uses default values. After editingconfig.yml, restart the container for the changes to take effect.+tipSetting environment variable in
docker-compose.ymlalso work. e.g.environment:
REGISTER_ENABLE: "false"General
+Image default size
+By default, images are resized to
+500pxfor places and600pxfor trips. You can override these default values by setting them in theconfig.yml:+warningHigher numbers will lead to higher disk usage.
+storage/config.ymlPLACE_IMAGE_SIZE=500
TRIP_IMAGE_SIZE=600Map defaults
+You can configure the default values for new users with the following settings:
+DEFAULT_TILE,DEFAULT_CURRENCY,DEFAULT_MAP_LAT,DEFAULT_MAP_LNG.+
+- +
DEFAULT_TILE: default map tile layer URL- +
DEFAULT_CURRENCY: default currency symbol- +
DEFAULT_MAP_LAT: default latitude when opening TRIP- +
DEFAULT_MAP_LNG: default longitude when opening TRIP+warningChanging these values does not update settings for existing users, it only affects new users.
Attachment max size
+Trips hold attachments, the default size for them is 10 MB.
++warningYou might need to change your webserver maximum body size as well (e.g. Nginx:
client_max_body_size, Caddy:request_body, etc.)+storage/config.ymlATTACHMENT_MAX_SIZE=10485760 # 10 MBFiles and folders
+Inside your
+storagedirectory, TRIP uses 4 folders:attachments,backups,assets,frontendand one filetrip.sqlite. Their path can be changed if needed:+storage/config.ymlATTACHMENTS_FOLDER="storage/attachments"
BACKUPS_FOLDER="storage/backups"
ASSETS_FOLDER="storage/assets"
FRONTEND_FOLDER="frontend"
SQLITE_FILE="storage/trip.sqlite"Authentication
+Token duration
+To modify the token lifespan, edit
+ACCESS_TOKEN_EXPIRE_MINUTESfor the Access Token andREFRESH_TOKEN_EXPIRE_MINUTESfor the Refresh Token. +By default, the Refresh Token expires after1440minutes (24 hours), and the Access Token after30minutes.+storage/config.ymlACCESS_TOKEN_EXPIRE_MINUTES=30
REFRESH_TOKEN_EXPIRE_MINUTES=1440OIDC Auth
++storage/config.ymlOIDC_DISCOVERY_URL="https://sso.yourdomain.lan/.well-known/openid-configuration"
OIDC_CLIENT_ID="your-client-id"
OIDC_CLIENT_SECRET="your-client-secret"
OIDC_REDIRECT_URI="https://trip.yourdomain.lan/auth"+warningYou might face a
SSLError/CERTIFICATE_VERIFY_FAILED. I invite you to check Troubleshoot SSL Error sectionDisable registration
+The key
+REGISTER_ENABLEcan be configured tofalseif you want to disable registration.To disable, add this in your
+config.yml:+storage/config.ymlREGISTER_ENABLE=falseTroubleshoot SSL Error / Certificate
+One way to check if you're concerned by this is simply doing the following and checking the result:
++$ docker run --rm -it ghcr.io/itskovacs/trip:1 /bin/bash
$ python3
>>> import httpx
>>> httpx.get("https://sso.yourdomain.lan/")In case you're facing this issue, it's likely due to the fact that the container does not trust you custom certificate.
+To fix this, I recommend you to build your own image with the certificate, based on the latest package.
+Pull the latest TRIP image.
++docker pull ghcr.io/itskovacs/trip:1Create a file named
+Dockerfilein your TRIP directory to copy your CA certificate in a custom TRIP image.+# Use latest TRIP image
FROM ghcr.io/itskovacs/trip:1
# Copy your CA certificate file in the image. Replace myCA.crt with your certificate name.
COPY myCA.crt /usr/local/share/ca-certificates/
RUN update-ca-certificatesThen, simply build the image:
++docker build -t trip-custom-cert .When you want to run TRIP, you just have to use your newly created image
+trip-custom-cert:+docker run -p 8080:8000 -v ./storage:/app/storage trip-custom-certnoteOn TRIP update, simply re-create your custom image:
docker pull ghcr.io/itskovacs/trip:1
docker build -t trip-custom-cert .Deployment | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/intro/index.html b/docs/docs/intro/index.html new file mode 100644 index 0000000..d9e2eb0 --- /dev/null +++ b/docs/docs/intro/index.html @@ -0,0 +1,19 @@ + + + + + ++ Deployment
🌱 Getting Started
+Deployment is designed to be simple using Docker. +If you need help, feel free to open a discussion.
+Option 1: Docker Compose (Recommended)
+Use the
+docker-compose.ymlfile provided in the repository. +No changes are required, though you may customize it to suit your needs.Run the container:
++docker-compose up -dOption 2: Docker Run
+# Ensure you have the latest image
docker pull ghcr.io/itskovacs/trip:1
# Run the container
docker run -d -p 8080:8000 -v ./storage:/app/storage ghcr.io/itskovacs/trip:1Introduction | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/map-tracker/introduction/index.html b/docs/docs/map-tracker/introduction/index.html new file mode 100644 index 0000000..f6163cc --- /dev/null +++ b/docs/docs/map-tracker/introduction/index.html @@ -0,0 +1,23 @@ + + + + + ++ Introduction
TRIP is a self-hostable minimalist Map tracker and Trips planner to visualize your points of interest (POI) and organize your next adventure details.
+No telemetry. No tracking. No ads. Completely open-source.
+Introduction | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/map-tracker/map-filtering/index.html b/docs/docs/map-tracker/map-filtering/index.html new file mode 100644 index 0000000..538746c --- /dev/null +++ b/docs/docs/map-tracker/map-filtering/index.html @@ -0,0 +1,20 @@ + + + + + ++ Introduction
TRIP is designed to help you track points of interest on a map, not just plan trips.
++importantPlaces and trips have distinct scopes. A place exists independently of any trip.
Places represent your points of interest, such as parks, museums, secret bars or a cycling path. They're your points of interest!
++tipCustomize your categories in your Settings (Categories).
You can use it to track geocaches (using a dedicated geocache category for instance), list stores of a certain chain, map your contacts and more. The use case is yours, and it's versatile enough to meet your needs. If not? Head to the repository discussions and let me know!
++
TRIP - OverviewMap - Filtering | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/map-tracker/map-panel/index.html b/docs/docs/map-tracker/map-panel/index.html new file mode 100644 index 0000000..e6403d5 --- /dev/null +++ b/docs/docs/map-tracker/map-panel/index.html @@ -0,0 +1,22 @@ + + + + + ++ Map - Filtering
The filtering panel enables conditional display of places based on their categories and criteria.
++tipYou can customize your categories in your Settings (Categories) and also set your default displayed categories in your Settings (Preferences)
+
Filtering places in map using categories and criteriaMap - Panel | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/map-tracker/places-creation/index.html b/docs/docs/map-tracker/places-creation/index.html new file mode 100644 index 0000000..38d15bd --- /dev/null +++ b/docs/docs/map-tracker/places-creation/index.html @@ -0,0 +1,59 @@ + + + + + ++ Map - Panel
+TL;DRPlace panel shows only places within your current map view. Clicking opens details. Hovering highlights it on the map and reveals and edit button.
+
Places panel in the map++warningThe place panel displays only the places within your current map boundaries (zoom level and position).
Clicking a place in the panel opens the Place details.
+Hovering over a place highlights it on the map with a red circle and reveals an edit button for direct editing.
Places - Creation | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/map-tracker/places/index.html b/docs/docs/map-tracker/places/index.html new file mode 100644 index 0000000..ea82db2 --- /dev/null +++ b/docs/docs/map-tracker/places/index.html @@ -0,0 +1,33 @@ + + + + + ++ Places - Creation
+TL;DRModal supports flexible coordinate formats, Google Maps Place links, and Google Maps API autocomplete (API key required).
Creating a place is done through the place creation modal.
++
Place creation modal+A place contains the following informations:
++
+- +
name: the place's name- +
latitude: latitude coordinates (supports multiple formats)- +
longitude: longitude coordinates- +
place: address or identifier (supports GMaps Place link)- +
category: a label to categorize the places- +
image: optional image to display in the map- +
duration: optional duration in minutes (e.g.,90)- +
price: optional price- +
description: optional description (links will be auto-clickable)- +
allow dog: optional boolean indicating if dogs are allowed- +
visited: status indicating if the place has been visited (controls default visibility)- +
gpx: optional GPX file to display trace on the mapGMaps API autocompletion
++warningYou must add your Google API Key in your settings.
After entering a name, you can autocomplete the other fields by clicking the button inside the input area.
++
Autocomplete using GMaps API+GMaps Place Parser
+You can paste a Google Maps place link (https://www.google.com/maps/place/XXX) into the
+placeinput to automatically populate thename,place,latitudeandlongitudefields from the link content.+
Parse Google Maps place link+Latitude, Longitude Parser
+The
+latitudefield is flexible and supports multiple LatLng coordinate formats, like:+
+- +
37.7749, -122.4194- +
37.7749° N, 122.4194° W- +
37°46'29.64" N, 122°25'9.84" W- +
37°46.494' N, 122°25.164' WIt also supports full* Plus Code (e.g.,
+849VCWC8+R9).+warningOnly full Plus Codes are currently handled. The
+sign is added after eight characters for full codes (e.g.,849VCWC8+R9) and after the four characters for short codes (e.g., not full:V75V+9Q).Batch Creation
+Places can be created using the batch creation dialog, which accepts a JSON array Example:
++[
{ "category": "Culture", "name": "Car Museum", "lat": 12.12, "lng": 50.89, "place": "Auto History Museum" },
{
"category": "Nature & Outdoor",
"name": "An amazing park",
"lat": 50.12,
"lng": 12.89,
"place": "The Park",
"image": "https://upload.wikimedia.org/wikipedia/commons/b/be/Random_pyramids.jpg"
}
]+mandatory properties"category": "Category name" (case-sensitive)
"name": "The name"
"lat": 0.00
"lng": 0.00
"place": "Your string"optional properties"image": "https://example.com/image.jpg"
"allowdog": true/false
"description": "A description for the place"
"price": 0.00
"duration": 0
"favorite": true/false
"visited": true/false
"gpx": "gpx file content"Image URLs must include the file extension. URLs without it will create the place but won't attach the image.
Places | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/map-tracker/settings/index.html b/docs/docs/map-tracker/settings/index.html new file mode 100644 index 0000000..ed93ba9 --- /dev/null +++ b/docs/docs/map-tracker/settings/index.html @@ -0,0 +1,62 @@ + + + + + ++ Places
+TL;DRYour map displays all your Places (Points of Interest). Click on any Place to view details and interact with it.
Your map displays all Places you've added as Points of Interest using bubbles. When many Places are close together, they automatically cluster until you zoom in for a clearer view.
++Bubble border colorThe Place bubble border color matches its category color. You can customize category colors through settings (Categories)
+
Places on the Map+Interacting with Places
+Click on any Place bubble to view its details. The action bar provides the following options:
++
+- Display GPX trace (if the Place includes a GPX file)
+- Mark as visited (toggles visibility by default, marks the Place as done)
+- Mark as favorite (adds a star icon to the bubble)
+- Delete the Place
+- Edit the Place
++tipThe to do tag indicates the Place has not been marked as visited yet.
+
Places details on clickSettings | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/misc/backup/index.html b/docs/docs/misc/backup/index.html new file mode 100644 index 0000000..228032b --- /dev/null +++ b/docs/docs/misc/backup/index.html @@ -0,0 +1,41 @@ + + + + + ++ Settings
+TL;DRCustomize your app experience, manage categories, make backups, enable TOTP, and more.
+infoChanges you make will only affect your personal account and will be applied whenever you log in.
About
++
In the About section, you can check for updates and toggle the app's dark mode setting to switch the UI theme. You can also import your backup, supporting both legacy json files and new zip archive formats.
++tipWhen toggling dark mode, if the map tile provider isn't changed manually, it will automatically update to the corresponding dark or light version.
+Account
++
The Account section allows you to enable Two-Factor Authentication (TOTP) for enhanced security. You will also need to add your Google API Key here to access Google Maps features within the app.
+
+Preferences
++
In Preferences, you can set your default map parameters, such as the initial latitude and longitude, and choose your preferred tile layer provider. You can also update the currency setting to suit your regional or personal preferences.
++
+- +
+Low Network Mode: +Enabled by default, this mode displays Category images instead of individual Place images to reduce network load by avoiding multiple picture downloads.
+- +
+GPX Indication: +Disabled by default. When enabled, an icon appears in the Place bubble if a GPX file is associated to that Place.
+- +
+Filter Default Categories:
+
+By default, no categories are hidden. You can customize this to automatically hide certain categories and reduce map clutter.Categories
++
Manage and customize your Place categories in this section. Categories help you organize and filter your points of interest on the map for easier navigation.
++noteA category consists of a name, a color, and optionally an image.
You can edit, delete, or create new categories. Upon registration, the default categories are:
++
+- Nature & Outdoor
+- Entertainment & Leisure
+- Culture
+- Food & Drink
+- Adventure & Sports
+- Festival & Event
+- Wellness
+- Accommodation
+Backups
++
The Backups section allows you to save and restore your data, ensuring your Places, Trips, and preferences are safely stored and recoverable when needed.
Backup and Restore | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/misc/synology/index.html b/docs/docs/misc/synology/index.html new file mode 100644 index 0000000..f4278d9 --- /dev/null +++ b/docs/docs/misc/synology/index.html @@ -0,0 +1,64 @@ + + + + + ++ Backup and Restore
+warningThis procedure assumes you know the storage directory path or have not modified it from the default
+dangerModify what is between
< >TRIP stores data in the
+storagedirectory by default, including a SQLite database and related folders.Backup
+To back up your data, follow these simple steps:
++
+- Stop the container
++# Look for TRIP container
$ docker ps
$ docker stop <trip_container_id>+
+- Create a backup archive of the storage directory
++zip -r <date>_TRIP_backup.zip <path/to/storage>+
+- Restart the container
+Restore
++dangerEnsure the container is not running before restoring
+
+- Extract the backup archive to the storage directory
++$ unzip <date>_TRIP_backup.zip -d <path/to/storage>+
- Start the container
+Installing on Synology NAS | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/introduction/index.html b/docs/docs/trips-planner/introduction/index.html new file mode 100644 index 0000000..c876c0e --- /dev/null +++ b/docs/docs/trips-planner/introduction/index.html @@ -0,0 +1,22 @@ + + + + + ++ Installing on Synology NAS
Prerequisites
++
+- Synology NAS with Docker support
+- Docker installed via Synology Package Center
+- Portainer (Community Edition) installed and running
+- Basic knowledge of Synology DSM, Portainer, and network setup
+Step 1: Storage directory
+Create a directory for persistent storage:
++mkdir -p /volume1/docker/trip-storageAlternatively, create the folder using Synology File Station
++/volume1/docker/trip-storageStep 2: Deploy
++
- Docker Compose (Recommended)
- Docker run
+
- Open Portainer
+- Go to Stacks → Add Stack.
+- Name the stack (e.g.,
+trip).- Paste this content:
+version: "3.9"
services:
trip:
container_name: trip
image: ghcr.io/itskovacs/trip:1
user: 1000:1000 # Adjust to your Synology PUID:PGID
security_opt:
- no-new-privileges:true
volumes:
- /volume1/docker/trip-storage:/app/storage # Adjust to storage dir
restart: on-failure:5
ports:
- "8080:8000"+
- Click Deploy the stack.
++
- In Portainer, go to Containers → Add Container.
+- Fill out the following fields:
++
- Name:
+trip- Image:
+ghcr.io/itskovacs/trip:1- Port mapping:
+8080→8000- Volume mapping: +
++
+- Host:
+/volume1/docker/trip-storage(adjust to storage dir)- Container:
+/app/storage+
- Click Deploy the container.
+Step 3: Access the App
+Open a browser and go to:
++<YOUR_NAS>:8080You should see the TRIP web interface.
+Step 4: Optional Configuration
++noteTRIP supports advanced configuration via a
config.ymlfile or environment variables. See Configuration for details.For your Synology, you can either:
++
+- Edit or create
+config.ymlin/volume1/docker/trip-storage- Set environment variables in your container settings via the Synology Docker or Portainer interface
+tipChanges require restarting the container to take effect
Introduction | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/trip-ano-share/index.html b/docs/docs/trips-planner/trip-ano-share/index.html new file mode 100644 index 0000000..32cee41 --- /dev/null +++ b/docs/docs/trips-planner/trip-ano-share/index.html @@ -0,0 +1,24 @@ + + + + + ++ Introduction
+TL;DRYour next journey plans are organized in a table with a map view. Upload attachments, use the checklist and packing list to ease your planning. Collaborate with other members on your Trip.
TRIP supports your trip planning phase with a dedicated interface. Your plans are organized in a table format and can be visualized alongside on a map.
+Beyond itinerary planning, it offers extra features to simplify preparation, including attachments, a checklist, a packing list, and more.
+You can also collaborate on your trip with other users within your instance, enhancing group planning and coordination.
++
Trip - OverviewTrip - Anonymous share | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/trip-archive/index.html b/docs/docs/trips-planner/trip-archive/index.html new file mode 100644 index 0000000..c1c68d8 --- /dev/null +++ b/docs/docs/trips-planner/trip-archive/index.html @@ -0,0 +1,23 @@ + + + + + ++ Trip - Anonymous share
+TL;DRShare your trip publicly via a unique read-only link. Others can view all trip details without an account. The shared trip stays synchronized with your updates. +You can revoke sharing anytime by removing it.
You can share your trip publicly via a dedicated link using the share feature. link enables others to view your trip without needing an account. This shared trip is read-only: users with the link will not be able to update any element.
+When you use the share feature, the app generates a unique URL that you can copy and distribute. Anyone with the link can fully explore your trip, including places, plans, notes, checklist and packing list.
+The shared trip stays synchronized with any update you make. If you update your trip after sharing, the changes will be reflected.
+When you no longer want your trip to be shared, you can revoke access by deleting the share link, making it inaccessible to others.
++
Trip sharing modalTrip - Archive | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/trip-attachments-lists/index.html b/docs/docs/trips-planner/trip-attachments-lists/index.html new file mode 100644 index 0000000..0beb19b --- /dev/null +++ b/docs/docs/trips-planner/trip-attachments-lists/index.html @@ -0,0 +1,34 @@ + + + + + ++ Trip - Archive
+TL;DRArchive completed trips with an optional review summary. Archived trips are read-only, displayed at the end of your trips page, and you can unarchive them anytime to make edits.
When your trip is completed, you have the option to archive it. During the archive process, the app automatically generates a text summary based on your plans to give you a quick overview of the trip.
+You should review, edit, and customize this summary as you like to reflect what went well, what could be improved, or any other relevant information for later review.
++importantArchived trips are read-only. You can unarchive a trip to make edits and re-archive it whenever needed.
Archived trips will be displayed at the end of the trips page.
++
Archive modalTrip - Attachments & lists | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/trip-collaboration/index.html b/docs/docs/trips-planner/trip-collaboration/index.html new file mode 100644 index 0000000..cd9847f --- /dev/null +++ b/docs/docs/trips-planner/trip-collaboration/index.html @@ -0,0 +1,24 @@ + + + + + ++ Trip - Attachments & lists
+TL;DRYour trip can hold attachments, a checklist, and a packing list that you can copy to other trips.
Within a trip, you can access attachments, the checklist, and the packing list through the menu
++
Trip - Menu+Attachments
+Your trip can hold attachments such as documents and receipts (pdf), keeping all trip-related files in one place: inside your trip.
++
Trip - Attachments+Checklist
+Organize your pre-trip tasks and reminders within the trip's checklist to ensure nothing is overlooked.
++
Trip - Checklist++tipThe checklist will also include items marked as incomplete (pending, constraint), to ensure you have the reminders in one place.
Packing list
+Keep track of what you plan to bring to make sure you're prepared for your trip.
++
Trip - Packing list+tipYour packing list can be copied to other trips to save time on future preparations.
Trip - Packing list copy and paste to other tripsTrip - Collaboration | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/trip-concepts/index.html b/docs/docs/trips-planner/trip-concepts/index.html new file mode 100644 index 0000000..2119828 --- /dev/null +++ b/docs/docs/trips-planner/trip-concepts/index.html @@ -0,0 +1,41 @@ + + + + + ++ Trip - Collaboration
+TL;DRA trip can have multiple members. Members can interact with everything within the trip and can associate their places to it as well.
+tipIf you're looking for read-only or anonymous sharing, see Anonymous share for details
A trip can include multiple members to enable collaboration.
+Each member can add their own places to the trip, visible by others (editable only by the owner), allowing everyone to update the shared itinerary.
+Members are invited via the members modal by entering their username. Invited users receive a notification and gain full access upon acceptance, allowing them to view and interact with all trip content including plans, places, attachments, and everything else.
++
Trip - Members with balance+A plan may have a price, if there are multiple members, the price can be linked directly to the member who paid, helping track who owes what to whom. This is a basic feature designed for planning, not a full expense splitting app.
Trip - Concepts | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/trip-creation/index.html b/docs/docs/trips-planner/trip-creation/index.html new file mode 100644 index 0000000..4315272 --- /dev/null +++ b/docs/docs/trips-planner/trip-creation/index.html @@ -0,0 +1,23 @@ + + + + + ++ Trip - Concepts
+TL;DRA trip is structured like a table, with multiple days containing plans. You can reference places in plans, and view everything on a map for a visual overview.
A trip is organized in a table-like structure, containing multiple days that hold multiple plans, each with its own details.
+A trip can reference your places or those of other members, to associate them to the plans.
+A map alongside displays your places and itineraries, based on your plans, providing a visual overview of your trip.
++
Trip - Concepts++
- +
+Places +Referenced places are listed here. Hover to highlight on the map. More in Trip - Places
+- +
+Map +Displays all referenced places, with options to fullscreen and view day-specific itineraries or complete itinerary with automatic zoom and straight point-to-point paths. More in Trip - Map
+- +
+Days +Lists Trip days, which you can create, edit, or delete.
++dangerDeleting a day removes associated plans
- +
+Plans +The core, a table showing all your plans. Click to view details. You have options to filter, group, or display the itinerary on the map. More in Trip - Plans
+Trip - Creation | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/trip-export/index.html b/docs/docs/trips-planner/trip-export/index.html new file mode 100644 index 0000000..43a9bb8 --- /dev/null +++ b/docs/docs/trips-planner/trip-export/index.html @@ -0,0 +1,34 @@ + + + + + ++ Trip - Creation
Creating a trip is simple: just enter its name. Optionally, you can set a currency (defaulting to your user settings if left blank), add an image, and specify a date range.
++
Trip creation modal+Once created, your new trip will appear in your trips list:
++
Trip is added to trips+tipThe optional date range automatically generates the trip days, labeled as
dd mmm., with corresponding dates set for you.Your trip days will be generatedTrip - Export and print | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/trip-map/index.html b/docs/docs/trips-planner/trip-map/index.html new file mode 100644 index 0000000..ac2d510 --- /dev/null +++ b/docs/docs/trips-planner/trip-map/index.html @@ -0,0 +1,28 @@ + + + + + ++ Trip - Export and print
+TL;DRYou can export your trip in CSV, iCal or a formatted PDF.
You can export your trip in multiple formats to suit your needs: CSV, iCal, and a nicely formatted PDF for printing or sharing.
++
+- +
+CSV +Export your trip data as a CSV file. The separator is a comma.
+- +
+iCal (.ics) +Export your plans in an iCal file, compatible with your calendar application. This allows you to integrate your Trip schedule with your personal calendars seamlessly.
+- +
+Pretty Print +Print-ready PDF version of your trip. It includes your plans and your places. This format is perfect for offline use, sharing with guests or travel companions, and keeping a hard copy of your plans.
++
Pretty print output exampleTrip - Map | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/trip-places/index.html b/docs/docs/trips-planner/trip-places/index.html new file mode 100644 index 0000000..abb0f31 --- /dev/null +++ b/docs/docs/trips-planner/trip-places/index.html @@ -0,0 +1,26 @@ + + + + + ++ Trip - Map
+TL;DRThe map displays your places and plans, with options to highlight a single day or the entire itinerary.
The map presents a visual overview of your trip by showing all places and itineraries, based on your plans.
++
Trip - Map section+Fullscreen
+You can expand the map to fullscreen for a better view.
++
Trip - Map fullscreen+Highlight
+In fullscreen mode, easily toggle between highlighting a specific day's itinerary or the complete one.
++
Trip - Map fullscreen with day or complete itinerary highlightsTrip - Places | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/trip-plan-creation/index.html b/docs/docs/trips-planner/trip-plan-creation/index.html new file mode 100644 index 0000000..8b5f54d --- /dev/null +++ b/docs/docs/trips-planner/trip-plan-creation/index.html @@ -0,0 +1,35 @@ + + + + + ++ Trip - Places
+TL;DRA trip can reference places. Manage the associated places and create new ones from the trip interface
A trip can reference your places or those of other members, to associate them to the plans.
+To add places to your trip, you can either manage the associated places or directly create new ones from the trip interface.
++importantCreating a place from a trip is a shortcut, the place itself is not owned by the trip.
+
Trip - Places++tipThe ✅ icon next to the place's category indicates that the place is used in the plans.
Hovering over a place highlights it on the map.
++
Trip - Highlight place on hoverTrip - Plan creation | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/trip-plans/index.html b/docs/docs/trips-planner/trip-plans/index.html new file mode 100644 index 0000000..f67316a --- /dev/null +++ b/docs/docs/trips-planner/trip-plans/index.html @@ -0,0 +1,56 @@ + + + + + ++ Trip - Plan creation
Creating a plan is done through the plan creation modal.
++
Plan creation modal+A plan has the following fields:
++
+- +
days: day(s) for the plan- +
time:HH:MMformat time to sort plans within a day- +
text: summary of the plan- +
place: optional place (from referenced ones)- +
latitude: latitude coordinates (support multiple formats, e.g., see Place - Creation)- +
longitude: longitude coordinates- +
price: optional price- +
status: optional label to tag the plan (pending, booked, constraint, optional)- +
attachments: optional files linked to the plan, based on the trip attachments- +
comment: optional notes (links will be auto-clickable)- +
image: optional image for this plan- +
gpx: optional GPX file to display trace on the maptipUse the
statusfield to mark pending or constraint or booked plans to track your bookings and requirements. The checklist automatically references pending and constraint plans.Trip - Plans | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/docs/trips-planner/trips/index.html b/docs/docs/trips-planner/trips/index.html new file mode 100644 index 0000000..acf55fd --- /dev/null +++ b/docs/docs/trips-planner/trips/index.html @@ -0,0 +1,22 @@ + + + + + ++ Trip - Plans
+TL;DRYour Trip is organized as a table where plans are rows, ordered by day and time. Filter, group, and customize the view to manage your itinerary effectively. Click a day for map highlight, or a row for details.
Your Trip is organized as a table. Each plan is a row, sorted first by day (date and label), then by plan time.
+The plans will have different level of informations based on your information when creating it (see Trip - Plan creation). e.g.
++
A plan with a status dot indicator, an attachments indicator and a Place+The table supports various interactions, through the actions bar at the top or by clicking either a day cell or a row.
++
Table overview, action buttons at the top+Action bar
++
+- Filter plans and select which columns to show (defaults pre-selected)
+- Expand to fill screen width
+- Group by days +
++noteIn grouped mode, columns can be resized for better readability
- GMaps navigation based on your plans (using coordinates and places coordinate) +
++noteIn grouped mode, you use GMaps navigation per day
- Highlight the complete itinerary on the map +
++noteIn grouped mode, you can highlight itinerary per day. You can also highlight itinerary per day using the fullscreen mode map
++tipFor accommodations and transport, I recommend using a double-entry approach similar to accounting:
+
- Create one plan for the start (e.g.,
+00:01)- Create another plan for the end (e.g.,
+23:59)This helps you:
+
- Differentiate 'From' and 'To' locations easily
+- Track nights at accommodations accurately
+- Show continuous presence at a location across days using coordinates
+Double-entry plansDay click
+Click a day cell to highlight that day's itinerary on the map.
++
Highlight a day itinerary on the map on day clicks+Row click
+Click any row to open its details. The panel shows all plan info; more fields mean richer details. Attachments are downloadable.
++noteThe car button opens Google Maps navigation (if coordinates or Place is set)
+
Details of the planTrips | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/img/TRIP_192.png b/docs/img/TRIP_192.png new file mode 100644 index 0000000..4636184 Binary files /dev/null and b/docs/img/TRIP_192.png differ diff --git a/docs/img/favicon.png b/docs/img/favicon.png new file mode 100644 index 0000000..9ccde0a Binary files /dev/null and b/docs/img/favicon.png differ diff --git a/docs/img/map_filtering.png b/docs/img/map_filtering.png new file mode 100644 index 0000000..f27b4e6 Binary files /dev/null and b/docs/img/map_filtering.png differ diff --git a/docs/img/map_places_panel.png b/docs/img/map_places_panel.png new file mode 100644 index 0000000..82bdd28 Binary files /dev/null and b/docs/img/map_places_panel.png differ diff --git a/docs/img/place_creation_modal.png b/docs/img/place_creation_modal.png new file mode 100644 index 0000000..3055088 Binary files /dev/null and b/docs/img/place_creation_modal.png differ diff --git a/docs/img/place_gmaps_api.png b/docs/img/place_gmaps_api.png new file mode 100644 index 0000000..2d6dc88 Binary files /dev/null and b/docs/img/place_gmaps_api.png differ diff --git a/docs/img/place_gmaps_parse.png b/docs/img/place_gmaps_parse.png new file mode 100644 index 0000000..7f2d675 Binary files /dev/null and b/docs/img/place_gmaps_parse.png differ diff --git a/docs/img/places_place_details.png b/docs/img/places_place_details.png new file mode 100644 index 0000000..c5999ea Binary files /dev/null and b/docs/img/places_place_details.png differ diff --git a/docs/img/places_places.png b/docs/img/places_places.png new file mode 100644 index 0000000..0120259 Binary files /dev/null and b/docs/img/places_places.png differ diff --git a/docs/img/plan.png b/docs/img/plan.png new file mode 100644 index 0000000..2db7d05 Binary files /dev/null and b/docs/img/plan.png differ diff --git a/docs/img/plan_details.png b/docs/img/plan_details.png new file mode 100644 index 0000000..1d85941 Binary files /dev/null and b/docs/img/plan_details.png differ diff --git a/docs/img/plan_highlight.png b/docs/img/plan_highlight.png new file mode 100644 index 0000000..c7c7d6b Binary files /dev/null and b/docs/img/plan_highlight.png differ diff --git a/docs/img/plans_doubleentry.png b/docs/img/plans_doubleentry.png new file mode 100644 index 0000000..fc98616 Binary files /dev/null and b/docs/img/plans_doubleentry.png differ diff --git a/docs/img/plans_table_ov.png b/docs/img/plans_table_ov.png new file mode 100644 index 0000000..97ab226 Binary files /dev/null and b/docs/img/plans_table_ov.png differ diff --git a/docs/img/sc_map.jpg b/docs/img/sc_map.jpg new file mode 100644 index 0000000..224b6d0 Binary files /dev/null and b/docs/img/sc_map.jpg differ diff --git a/docs/img/sc_map_filters_list.jpg b/docs/img/sc_map_filters_list.jpg new file mode 100644 index 0000000..5308214 Binary files /dev/null and b/docs/img/sc_map_filters_list.jpg differ diff --git a/docs/img/sc_trip.jpg b/docs/img/sc_trip.jpg new file mode 100644 index 0000000..08b5526 Binary files /dev/null and b/docs/img/sc_trip.jpg differ diff --git a/docs/img/sc_trips.jpg b/docs/img/sc_trips.jpg new file mode 100644 index 0000000..4891e35 Binary files /dev/null and b/docs/img/sc_trips.jpg differ diff --git a/docs/img/screenshot.jpg b/docs/img/screenshot.jpg new file mode 100644 index 0000000..a9f135f Binary files /dev/null and b/docs/img/screenshot.jpg differ diff --git a/docs/img/settings_about.png b/docs/img/settings_about.png new file mode 100644 index 0000000..6991f01 Binary files /dev/null and b/docs/img/settings_about.png differ diff --git a/docs/img/settings_account.png b/docs/img/settings_account.png new file mode 100644 index 0000000..1f9037e Binary files /dev/null and b/docs/img/settings_account.png differ diff --git a/docs/img/settings_backups.png b/docs/img/settings_backups.png new file mode 100644 index 0000000..743bfab Binary files /dev/null and b/docs/img/settings_backups.png differ diff --git a/docs/img/settings_categories.png b/docs/img/settings_categories.png new file mode 100644 index 0000000..acbf2e0 Binary files /dev/null and b/docs/img/settings_categories.png differ diff --git a/docs/img/settings_preferences.png b/docs/img/settings_preferences.png new file mode 100644 index 0000000..2dce596 Binary files /dev/null and b/docs/img/settings_preferences.png differ diff --git a/docs/img/trip_archive.png b/docs/img/trip_archive.png new file mode 100644 index 0000000..63b6757 Binary files /dev/null and b/docs/img/trip_archive.png differ diff --git a/docs/img/trip_attachments.png b/docs/img/trip_attachments.png new file mode 100644 index 0000000..d366c5a Binary files /dev/null and b/docs/img/trip_attachments.png differ diff --git a/docs/img/trip_checklist.png b/docs/img/trip_checklist.png new file mode 100644 index 0000000..595c5d0 Binary files /dev/null and b/docs/img/trip_checklist.png differ diff --git a/docs/img/trip_concepts.png b/docs/img/trip_concepts.png new file mode 100644 index 0000000..6263647 Binary files /dev/null and b/docs/img/trip_concepts.png differ diff --git a/docs/img/trip_create.png b/docs/img/trip_create.png new file mode 100644 index 0000000..3be278b Binary files /dev/null and b/docs/img/trip_create.png differ diff --git a/docs/img/trip_create_days.png b/docs/img/trip_create_days.png new file mode 100644 index 0000000..1469ea7 Binary files /dev/null and b/docs/img/trip_create_days.png differ diff --git a/docs/img/trip_created.png b/docs/img/trip_created.png new file mode 100644 index 0000000..1ef4858 Binary files /dev/null and b/docs/img/trip_created.png differ diff --git a/docs/img/trip_export_prettyprint.png b/docs/img/trip_export_prettyprint.png new file mode 100644 index 0000000..3985e37 Binary files /dev/null and b/docs/img/trip_export_prettyprint.png differ diff --git a/docs/img/trip_lists_menu.png b/docs/img/trip_lists_menu.png new file mode 100644 index 0000000..9ff5943 Binary files /dev/null and b/docs/img/trip_lists_menu.png differ diff --git a/docs/img/trip_map.png b/docs/img/trip_map.png new file mode 100644 index 0000000..4f41b43 Binary files /dev/null and b/docs/img/trip_map.png differ diff --git a/docs/img/trip_map_fscreen.png b/docs/img/trip_map_fscreen.png new file mode 100644 index 0000000..76e03d1 Binary files /dev/null and b/docs/img/trip_map_fscreen.png differ diff --git a/docs/img/trip_map_fscreen_hlight.png b/docs/img/trip_map_fscreen_hlight.png new file mode 100644 index 0000000..e7d8b19 Binary files /dev/null and b/docs/img/trip_map_fscreen_hlight.png differ diff --git a/docs/img/trip_members.png b/docs/img/trip_members.png new file mode 100644 index 0000000..527d404 Binary files /dev/null and b/docs/img/trip_members.png differ diff --git a/docs/img/trip_packing_qcopy.png b/docs/img/trip_packing_qcopy.png new file mode 100644 index 0000000..ecc5131 Binary files /dev/null and b/docs/img/trip_packing_qcopy.png differ diff --git a/docs/img/trip_packinglist.png b/docs/img/trip_packinglist.png new file mode 100644 index 0000000..381dc06 Binary files /dev/null and b/docs/img/trip_packinglist.png differ diff --git a/docs/img/trip_place_highlight.png b/docs/img/trip_place_highlight.png new file mode 100644 index 0000000..6ed3bf3 Binary files /dev/null and b/docs/img/trip_place_highlight.png differ diff --git a/docs/img/trip_places.png b/docs/img/trip_places.png new file mode 100644 index 0000000..d6fe660 Binary files /dev/null and b/docs/img/trip_places.png differ diff --git a/docs/img/trip_plan_create.png b/docs/img/trip_plan_create.png new file mode 100644 index 0000000..8ddcd95 Binary files /dev/null and b/docs/img/trip_plan_create.png differ diff --git a/docs/img/trip_share.png b/docs/img/trip_share.png new file mode 100644 index 0000000..906754d Binary files /dev/null and b/docs/img/trip_share.png differ diff --git a/docs/img/trips.png b/docs/img/trips.png new file mode 100644 index 0000000..c833db1 Binary files /dev/null and b/docs/img/trips.png differ diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..8e807df --- /dev/null +++ b/docs/index.html @@ -0,0 +1,16 @@ + + + + + ++ Trips
The trips page is your central hub for viewing all your trips and managing invitations to collaborate on trips created by other members.
+You can create new trips using the trip creation modal.
++tipA red dot on the bell icon indicates pending trip invitations. See Trip - Collaboration for details.
+
Trips page+noteArchived trips appear at the bottom of the list
Home | TRIP + + + + + ++ + \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml new file mode 100644 index 0000000..a1b0db3 --- /dev/null +++ b/docs/sitemap.xml @@ -0,0 +1 @@ +Welcome to TRIP documentation
Minimalist POI Map Tracker and Trip Planner. Self-hosted.
\ No newline at end of file https://itskovacs.github.io/trip/docs/category/getting-started weekly 0.5 https://itskovacs.github.io/trip/docs/category/map-tracker weekly 0.5 https://itskovacs.github.io/trip/docs/category/miscelaneous weekly 0.5 https://itskovacs.github.io/trip/docs/category/trips-planner weekly 0.5 https://itskovacs.github.io/trip/docs/contributing weekly 0.5 https://itskovacs.github.io/trip/docs/getting-started/configuration weekly 0.5 https://itskovacs.github.io/trip/docs/getting-started/deploy weekly 0.5 https://itskovacs.github.io/trip/docs/intro weekly 0.5 https://itskovacs.github.io/trip/docs/map-tracker/introduction weekly 0.5 https://itskovacs.github.io/trip/docs/map-tracker/map-filtering weekly 0.5 https://itskovacs.github.io/trip/docs/map-tracker/map-panel weekly 0.5 https://itskovacs.github.io/trip/docs/map-tracker/places weekly 0.5 https://itskovacs.github.io/trip/docs/map-tracker/places-creation weekly 0.5 https://itskovacs.github.io/trip/docs/map-tracker/settings weekly 0.5 https://itskovacs.github.io/trip/docs/misc/backup weekly 0.5 https://itskovacs.github.io/trip/docs/misc/synology weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/introduction weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/trip-ano-share weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/trip-archive weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/trip-attachments-lists weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/trip-collaboration weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/trip-concepts weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/trip-creation weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/trip-export weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/trip-map weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/trip-places weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/trip-plan-creation weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/trip-plans weekly 0.5 https://itskovacs.github.io/trip/docs/trips-planner/trips weekly 0.5 https://itskovacs.github.io/trip/ weekly 0.5