diff --git a/404.html b/404.html index 6a24a76b..d7e7d1ed 100644 --- a/404.html +++ b/404.html @@ -10,7 +10,7 @@ - + diff --git a/assets/js/141b670d.976e4019.js b/assets/js/141b670d.976e4019.js deleted file mode 100644 index 5737b22b..00000000 --- a/assets/js/141b670d.976e4019.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3740],{7605:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>t,metadata:()=>r,toc:()=>d});var i=s(5893),o=s(1151);const t={description:"Session middleware"},a="Session",r={id:"middleware/session",title:"Session",description:"Session middleware",source:"@site/docs/middleware/session.md",sourceDirName:"middleware",slug:"/middleware/session",permalink:"/docs/middleware/session",draft:!1,unlisted:!1,editUrl:"https://github.com/labstack/echox/blob/master/website/docs/middleware/session.md",tags:[],version:"current",frontMatter:{description:"Session middleware"},sidebar:"docsSidebar",previous:{title:"Secure",permalink:"/docs/middleware/secure"},next:{title:"Static",permalink:"/docs/middleware/static"}},c={},d=[{value:"Dependencies",id:"dependencies",level:2},{value:"Usage",id:"usage",level:2},{value:"Custom Configuration",id:"custom-configuration",level:2},{value:"Usage",id:"usage-1",level:3},{value:"Configuration",id:"configuration",level:2},{value:"Default Configuration",id:"default-configuration",level:3}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"session",children:"Session"}),"\n",(0,i.jsxs)(n.p,{children:["Session middleware facilitates HTTP session management backed by ",(0,i.jsx)(n.a,{href:"https://github.com/gorilla/sessions",children:"gorilla sessions"}),". The default implementation provides cookie and\nfilesystem based session store; however, you can take advantage of ",(0,i.jsx)(n.a,{href:"https://github.com/gorilla/sessions#store-implementations",children:"community maintained\nimplementation"})," for various backends."]}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsx)(n.p,{children:"Echo community contribution"})}),"\n",(0,i.jsx)(n.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-go",children:'import (\n "github.com/gorilla/sessions"\n "github.com/labstack/echo-contrib/session"\n)\n'})}),"\n",(0,i.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-go",children:'e := echo.New()\ne.Use(session.Middleware(sessions.NewCookieStore([]byte("secret"))))\n\ne.GET("/", func(c echo.Context) error {\n sess, _ := session.Get("session", c)\n sess.Options = &sessions.Options{\n Path: "/",\n MaxAge: 86400 * 7,\n HttpOnly: true,\n }\n sess.Values["foo"] = "bar"\n sess.Save(c.Request(), c.Response())\n return c.NoContent(http.StatusOK)\n})\n'})}),"\n",(0,i.jsx)(n.h2,{id:"custom-configuration",children:"Custom Configuration"}),"\n",(0,i.jsx)(n.h3,{id:"usage-1",children:"Usage"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-go",children:"e := echo.New()\ne.Use(session.MiddlewareWithConfig(session.Config{}))\n"})}),"\n",(0,i.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-go",children:"Config struct {\n // Skipper defines a function to skip middleware.\n Skipper middleware.Skipper\n\n // Session store.\n // Required.\n Store sessions.Store\n}\n"})}),"\n",(0,i.jsx)(n.h3,{id:"default-configuration",children:"Default Configuration"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-go",children:"DefaultConfig = Config{\n Skipper: DefaultSkipper,\n}\n"})})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>a});var i=s(7294);const o={},t=i.createContext(o);function a(e){const n=i.useContext(t);return i.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(o):e.components||o:a(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/141b670d.a38c4bcd.js b/assets/js/141b670d.a38c4bcd.js new file mode 100644 index 00000000..abcc0cdf --- /dev/null +++ b/assets/js/141b670d.a38c4bcd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3740],{7605:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>l});var t=s(5893),o=s(1151);const i={description:"Session middleware"},r="Session",a={id:"middleware/session",title:"Session",description:"Session middleware",source:"@site/docs/middleware/session.md",sourceDirName:"middleware",slug:"/middleware/session",permalink:"/docs/middleware/session",draft:!1,unlisted:!1,editUrl:"https://github.com/labstack/echox/blob/master/website/docs/middleware/session.md",tags:[],version:"current",frontMatter:{description:"Session middleware"},sidebar:"docsSidebar",previous:{title:"Secure",permalink:"/docs/middleware/secure"},next:{title:"Static",permalink:"/docs/middleware/static"}},c={},l=[{value:"Dependencies",id:"dependencies",level:2},{value:"Usage",id:"usage",level:2},{value:"Example usage",id:"example-usage",level:3},{value:"Custom Configuration",id:"custom-configuration",level:2},{value:"Usage",id:"usage-1",level:3},{value:"Configuration",id:"configuration",level:2},{value:"Default Configuration",id:"default-configuration",level:3}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"session",children:"Session"}),"\n",(0,t.jsxs)(n.p,{children:["Session middleware facilitates HTTP session management backed by ",(0,t.jsx)(n.a,{href:"https://github.com/gorilla/sessions",children:"gorilla sessions"}),". The default implementation provides cookie and\nfilesystem based session store; however, you can take advantage of ",(0,t.jsx)(n.a,{href:"https://github.com/gorilla/sessions#store-implementations",children:"community maintained\nimplementation"})," for various backends."]}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsx)(n.p,{children:"Echo community contribution"})}),"\n",(0,t.jsx)(n.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-go",children:'import (\n "github.com/gorilla/sessions"\n "github.com/labstack/echo-contrib/session"\n)\n'})}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsxs)(n.p,{children:["This example exposes two endpoints: ",(0,t.jsx)(n.code,{children:"/create-session"})," creates new session and ",(0,t.jsx)(n.code,{children:"/read-session"})," read value from\nsession if request contains session id."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-go",children:'import (\n "errors"\n "fmt"\n "github.com/gorilla/sessions"\n "github.com/labstack/echo-contrib/session"\n "github.com/labstack/echo/v4"\n "log"\n "net/http"\n)\n\nfunc main() {\n\te := echo.New()\n\te.Use(session.Middleware(sessions.NewCookieStore([]byte("secret"))))\n\n\te.GET("/create-session", func(c echo.Context) error {\n\t\tsess, err := session.Get("session", c)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsess.Options = &sessions.Options{\n\t\t\tPath: "/",\n\t\t\tMaxAge: 86400 * 7,\n\t\t\tHttpOnly: true,\n\t\t}\n\t\tsess.Values["foo"] = "bar"\n\t\tif err := sess.Save(c.Request(), c.Response()); err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn c.NoContent(http.StatusOK)\n\t})\n\n\te.GET("/read-session", func(c echo.Context) error {\n\t\tsess, err := session.Get("session", c)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn c.String(http.StatusOK, fmt.Sprintf("foo=%v\\n", sess.Values["foo"]))\n\t})\n\n\tif err := e.Start(":8080"); err != nil && !errors.Is(err, http.ErrServerClosed) {\n\t\tlog.Fatal(err)\n\t}\n}\n'})}),"\n",(0,t.jsx)(n.h3,{id:"example-usage",children:"Example usage"}),"\n",(0,t.jsxs)(n.p,{children:["Requesting ",(0,t.jsx)(n.code,{children:"/read-session"})," without providing session it will output nil as ",(0,t.jsx)(n.code,{children:"foo"})," value"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"x@x:~/$ curl -v http://localhost:8080/read-session\n* processing: http://localhost:8080/read-session\n* Trying [::1]:8080...\n* Connected to localhost (::1) port 8080\n> GET /read-session HTTP/1.1\n> Host: localhost:8080\n> User-Agent: curl/8.2.1\n> Accept: */*\n> \n< HTTP/1.1 200 OK\n< Content-Type: text/plain; charset=UTF-8\n< Date: Thu, 25 Apr 2024 09:15:14 GMT\n< Content-Length: 10\n< \nfoo=\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Requesting ",(0,t.jsx)(n.code,{children:"/create-session"})," creates new session"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:'x@x:~/$ curl -v -c cookies.txt http://localhost:8080/create-session\n* processing: http://localhost:8080/create-session\n* Trying [::1]:8080...\n* Connected to localhost (::1) port 8080\n> GET /create-session HTTP/1.1\n> Host: localhost:8080\n> User-Agent: curl/8.2.1\n> Accept: */*\n> \n< HTTP/1.1 200 OK\n* Added cookie session="MTcxNDAzNjYyMHxEWDhFQVFMX2dBQUJFQUVRQUFBZ180QUFBUVp6ZEhKcGJtY01CUUFEWm05dkJuTjBjbWx1Wnd3RkFBTmlZWEk9fHJQxR5fJDUEV-6iHSWuyVzjYX2f9F5tVaMGV6pjIE1Y" for domain localhost, path /, expire 1714641420\n< Set-Cookie: session=MTcxNDAzNjYyMHxEWDhFQVFMX2dBQUJFQUVRQUFBZ180QUFBUVp6ZEhKcGJtY01CUUFEWm05dkJuTjBjbWx1Wnd3RkFBTmlZWEk9fHJQxR5fJDUEV-6iHSWuyVzjYX2f9F5tVaMGV6pjIE1Y; Path=/; Expires=Thu, 02 May 2024 09:17:00 GMT; Max-Age=604800; HttpOnly\n< Date: Thu, 25 Apr 2024 09:17:00 GMT\n< Content-Length: 0\n<\n* Connection #0 to host localhost left intact\n'})}),"\n",(0,t.jsxs)(n.p,{children:["Using session cookie from previous response and requesting ",(0,t.jsx)(n.code,{children:"/read-session"})," will output ",(0,t.jsx)(n.code,{children:"foo"})," value from session."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"x@x:~/$ curl -v -b cookies.txt http://localhost:8080/read-session\n* processing: http://localhost:8080/read-session\n* Trying [::1]:8080...\n* Connected to localhost (::1) port 8080\n> GET /read-session HTTP/1.1\n> Host: localhost:8080\n> User-Agent: curl/8.2.1\n> Accept: */*\n> Cookie: session=MTcxNDAzNjYyMHxEWDhFQVFMX2dBQUJFQUVRQUFBZ180QUFBUVp6ZEhKcGJtY01CUUFEWm05dkJuTjBjbWx1Wnd3RkFBTmlZWEk9fHJQxR5fJDUEV-6iHSWuyVzjYX2f9F5tVaMGV6pjIE1Y\n> \n< HTTP/1.1 200 OK\n< Content-Type: text/plain; charset=UTF-8\n< Date: Thu, 25 Apr 2024 09:18:56 GMT\n< Content-Length: 8\n< \nfoo=bar\n* Connection #0 to host localhost left intact\n"})}),"\n",(0,t.jsx)(n.h2,{id:"custom-configuration",children:"Custom Configuration"}),"\n",(0,t.jsx)(n.h3,{id:"usage-1",children:"Usage"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-go",children:"e := echo.New()\ne.Use(session.MiddlewareWithConfig(session.Config{}))\n"})}),"\n",(0,t.jsx)(n.h2,{id:"configuration",children:"Configuration"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-go",children:"Config struct {\n // Skipper defines a function to skip middleware.\n Skipper middleware.Skipper\n\n // Session store.\n // Required.\n Store sessions.Store\n}\n"})}),"\n",(0,t.jsx)(n.h3,{id:"default-configuration",children:"Default Configuration"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-go",children:"DefaultConfig = Config{\n Skipper: DefaultSkipper,\n}\n"})})]})}function h(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>r});var t=s(7294);const o={},i=t.createContext(o);function r(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:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.b8787bd3.js b/assets/js/runtime~main.148b8494.js similarity index 99% rename from assets/js/runtime~main.b8787bd3.js rename to assets/js/runtime~main.148b8494.js index ce3cadd3..341ae9ad 100644 --- a/assets/js/runtime~main.b8787bd3.js +++ b/assets/js/runtime~main.148b8494.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,d,f,c,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(d.exports,d,d.exports,r),d.loaded=!0,d.exports}r.m=b,r.c=t,e=[],r.O=(a,d,f,c)=>{if(!d){var b=1/0;for(i=0;i=c)&&Object.keys(r.O).every((e=>r.O[e](d[o])))?d.splice(o--,1):(t=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[d,f,c]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var b={};a=a||[null,d({}),d([]),d(d)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(c,b),c},r.d=(e,a)=>{for(var d in a)r.o(a,d)&&!r.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,d)=>(r.f[d](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",234:"00d53494",284:"d61a0a5d",286:"5d747023",291:"9ff82e5b",465:"7101c53b",708:"1db8c879",740:"743cc39f",852:"8d627dae",1229:"b1d3ab5c",1357:"b6c1a321",1395:"1d8eb2cd",1710:"54e8843c",1760:"8feccb5d",1924:"e83242e7",2014:"69d0d365",2115:"915bfa79",2375:"a7919637",2411:"dfc29094",2590:"03445786",2618:"07173e6e",2644:"4f34908f",2714:"ca455345",2882:"e349f327",3038:"29194c4f",3189:"097ae196",3226:"425d40e1",3296:"91f5030b",3397:"eb657f28",3474:"9dd0c5f1",3603:"ad3bebc9",3615:"f75f2c94",3722:"e9cda7b1",3740:"141b670d",4107:"55ec2f43",4128:"a09c2993",4157:"e5c54bdb",4195:"c4f5d8e4",4343:"f4ac2254",4368:"a94703ab",4422:"84d30fec",4535:"fa3980d2",4641:"0240d083",4798:"300ffbe4",5352:"20fb11a0",5489:"2da127e6",5548:"a51c7a0a",5987:"44ce4281",6652:"6f5dae2f",6948:"a01fe4ff",7075:"3a3d2e88",7246:"dd08834f",7290:"f59544f3",7404:"28595417",7415:"79615fb5",7468:"28fbc648",7608:"4a9dde3b",7636:"d579eb1d",7787:"62bff82b",7918:"17896441",7920:"1a4e3797",7951:"7a083494",8009:"ebf1f14a",8226:"9d9ec472",8261:"35956ae5",8398:"9c528963",8518:"a7bd4aaa",8542:"6db12b5e",8618:"581dd7b0",8678:"ea770076",9027:"3cbe6ad4",9305:"f177a5e1",9661:"5e95c892",9817:"14eb3368",9857:"aa24c447",9999:"75523c1e"}[e]||e)+"."+{53:"4b7fa1a6",234:"847dea60",284:"f4873e1e",286:"1eea72f2",291:"0081e5d0",465:"52f5f8f9",708:"41dbdfa0",740:"d5106b7f",852:"2fb74d59",1229:"d8c83ebc",1357:"048e93f8",1395:"1d050416",1426:"726339ca",1710:"239a9c5a",1760:"c6a8d46d",1772:"61f6592f",1924:"6f2ea3ae",2014:"24658a35",2115:"7fa1790b",2375:"16e24672",2411:"4bdbe0c6",2590:"41ba83db",2618:"53b96a64",2644:"3911264a",2714:"c8586f7e",2882:"36f4d9da",3038:"a3a305a7",3189:"486ca9e6",3226:"a4ee22cc",3296:"6fd2b528",3397:"ad57a9d2",3474:"8546fc97",3603:"056044aa",3615:"eb91188c",3722:"f4434016",3740:"976e4019",4107:"5f806ed9",4128:"c766910a",4157:"892575b0",4195:"52a178d5",4343:"ca9f0a05",4368:"45d358e3",4422:"00e8ed67",4535:"32991a73",4641:"f91ea917",4798:"a21adaf8",5352:"c913e89a",5489:"823f3538",5548:"0abc0ae6",5987:"768e0e95",6652:"90ba44e4",6945:"8e8e2060",6948:"f241bd89",7075:"2ee8d209",7246:"2464f80d",7290:"99c81efe",7404:"f98b055b",7415:"1fe79842",7468:"86215ca4",7608:"f095d075",7636:"59ab6512",7787:"317b2e02",7918:"b36ea069",7920:"aa4ceb03",7951:"dccca0d4",8009:"39ada2bc",8226:"bb146cb2",8261:"266152ac",8398:"62c9d5b2",8518:"45274bc2",8542:"d1d3bf2e",8618:"aa80ee09",8678:"c8743568",8894:"46125374",9027:"84cacbb5",9305:"3d6fe3b6",9661:"b00730d7",9817:"d4fab3da",9857:"7efd56ef",9999:"8f687d9e"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},c="website:",r.l=(e,a,d,b)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==d)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var c=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach((e=>e(d))),a)return a(d)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",28595417:"7404","935f2afb":"53","00d53494":"234",d61a0a5d:"284","5d747023":"286","9ff82e5b":"291","7101c53b":"465","1db8c879":"708","743cc39f":"740","8d627dae":"852",b1d3ab5c:"1229",b6c1a321:"1357","1d8eb2cd":"1395","54e8843c":"1710","8feccb5d":"1760",e83242e7:"1924","69d0d365":"2014","915bfa79":"2115",a7919637:"2375",dfc29094:"2411","03445786":"2590","07173e6e":"2618","4f34908f":"2644",ca455345:"2714",e349f327:"2882","29194c4f":"3038","097ae196":"3189","425d40e1":"3226","91f5030b":"3296",eb657f28:"3397","9dd0c5f1":"3474",ad3bebc9:"3603",f75f2c94:"3615",e9cda7b1:"3722","141b670d":"3740","55ec2f43":"4107",a09c2993:"4128",e5c54bdb:"4157",c4f5d8e4:"4195",f4ac2254:"4343",a94703ab:"4368","84d30fec":"4422",fa3980d2:"4535","0240d083":"4641","300ffbe4":"4798","20fb11a0":"5352","2da127e6":"5489",a51c7a0a:"5548","44ce4281":"5987","6f5dae2f":"6652",a01fe4ff:"6948","3a3d2e88":"7075",dd08834f:"7246",f59544f3:"7290","79615fb5":"7415","28fbc648":"7468","4a9dde3b":"7608",d579eb1d:"7636","62bff82b":"7787","1a4e3797":"7920","7a083494":"7951",ebf1f14a:"8009","9d9ec472":"8226","35956ae5":"8261","9c528963":"8398",a7bd4aaa:"8518","6db12b5e":"8542","581dd7b0":"8618",ea770076:"8678","3cbe6ad4":"9027",f177a5e1:"9305","5e95c892":"9661","14eb3368":"9817",aa24c447:"9857","75523c1e":"9999"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,d)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)d.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var c=new Promise(((d,c)=>f=e[a]=[d,c]));d.push(f[2]=c);var b=r.p+r.u(a),t=new Error;r.l(b,(d=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var c=d&&("load"===d.type?"missing":d.type),b=d&&d.target&&d.target.src;t.message="Loading chunk "+a+" failed.\n("+c+": "+b+")",t.name="ChunkLoadError",t.type=c,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,d)=>{var f,c,b=d[0],t=d[1],o=d[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(d);n{"use strict";var e,a,d,f,c,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(d.exports,d,d.exports,r),d.loaded=!0,d.exports}r.m=b,r.c=t,e=[],r.O=(a,d,f,c)=>{if(!d){var b=1/0;for(i=0;i=c)&&Object.keys(r.O).every((e=>r.O[e](d[o])))?d.splice(o--,1):(t=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[d,f,c]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var b={};a=a||[null,d({}),d([]),d(d)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(c,b),c},r.d=(e,a)=>{for(var d in a)r.o(a,d)&&!r.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,d)=>(r.f[d](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",234:"00d53494",284:"d61a0a5d",286:"5d747023",291:"9ff82e5b",465:"7101c53b",708:"1db8c879",740:"743cc39f",852:"8d627dae",1229:"b1d3ab5c",1357:"b6c1a321",1395:"1d8eb2cd",1710:"54e8843c",1760:"8feccb5d",1924:"e83242e7",2014:"69d0d365",2115:"915bfa79",2375:"a7919637",2411:"dfc29094",2590:"03445786",2618:"07173e6e",2644:"4f34908f",2714:"ca455345",2882:"e349f327",3038:"29194c4f",3189:"097ae196",3226:"425d40e1",3296:"91f5030b",3397:"eb657f28",3474:"9dd0c5f1",3603:"ad3bebc9",3615:"f75f2c94",3722:"e9cda7b1",3740:"141b670d",4107:"55ec2f43",4128:"a09c2993",4157:"e5c54bdb",4195:"c4f5d8e4",4343:"f4ac2254",4368:"a94703ab",4422:"84d30fec",4535:"fa3980d2",4641:"0240d083",4798:"300ffbe4",5352:"20fb11a0",5489:"2da127e6",5548:"a51c7a0a",5987:"44ce4281",6652:"6f5dae2f",6948:"a01fe4ff",7075:"3a3d2e88",7246:"dd08834f",7290:"f59544f3",7404:"28595417",7415:"79615fb5",7468:"28fbc648",7608:"4a9dde3b",7636:"d579eb1d",7787:"62bff82b",7918:"17896441",7920:"1a4e3797",7951:"7a083494",8009:"ebf1f14a",8226:"9d9ec472",8261:"35956ae5",8398:"9c528963",8518:"a7bd4aaa",8542:"6db12b5e",8618:"581dd7b0",8678:"ea770076",9027:"3cbe6ad4",9305:"f177a5e1",9661:"5e95c892",9817:"14eb3368",9857:"aa24c447",9999:"75523c1e"}[e]||e)+"."+{53:"4b7fa1a6",234:"847dea60",284:"f4873e1e",286:"1eea72f2",291:"0081e5d0",465:"52f5f8f9",708:"41dbdfa0",740:"d5106b7f",852:"2fb74d59",1229:"d8c83ebc",1357:"048e93f8",1395:"1d050416",1426:"726339ca",1710:"239a9c5a",1760:"c6a8d46d",1772:"61f6592f",1924:"6f2ea3ae",2014:"24658a35",2115:"7fa1790b",2375:"16e24672",2411:"4bdbe0c6",2590:"41ba83db",2618:"53b96a64",2644:"3911264a",2714:"c8586f7e",2882:"36f4d9da",3038:"a3a305a7",3189:"486ca9e6",3226:"a4ee22cc",3296:"6fd2b528",3397:"ad57a9d2",3474:"8546fc97",3603:"056044aa",3615:"eb91188c",3722:"f4434016",3740:"a38c4bcd",4107:"5f806ed9",4128:"c766910a",4157:"892575b0",4195:"52a178d5",4343:"ca9f0a05",4368:"45d358e3",4422:"00e8ed67",4535:"32991a73",4641:"f91ea917",4798:"a21adaf8",5352:"c913e89a",5489:"823f3538",5548:"0abc0ae6",5987:"768e0e95",6652:"90ba44e4",6945:"8e8e2060",6948:"f241bd89",7075:"2ee8d209",7246:"2464f80d",7290:"99c81efe",7404:"f98b055b",7415:"1fe79842",7468:"86215ca4",7608:"f095d075",7636:"59ab6512",7787:"317b2e02",7918:"b36ea069",7920:"aa4ceb03",7951:"dccca0d4",8009:"39ada2bc",8226:"bb146cb2",8261:"266152ac",8398:"62c9d5b2",8518:"45274bc2",8542:"d1d3bf2e",8618:"aa80ee09",8678:"c8743568",8894:"46125374",9027:"84cacbb5",9305:"3d6fe3b6",9661:"b00730d7",9817:"d4fab3da",9857:"7efd56ef",9999:"8f687d9e"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},c="website:",r.l=(e,a,d,b)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==d)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var c=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach((e=>e(d))),a)return a(d)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",28595417:"7404","935f2afb":"53","00d53494":"234",d61a0a5d:"284","5d747023":"286","9ff82e5b":"291","7101c53b":"465","1db8c879":"708","743cc39f":"740","8d627dae":"852",b1d3ab5c:"1229",b6c1a321:"1357","1d8eb2cd":"1395","54e8843c":"1710","8feccb5d":"1760",e83242e7:"1924","69d0d365":"2014","915bfa79":"2115",a7919637:"2375",dfc29094:"2411","03445786":"2590","07173e6e":"2618","4f34908f":"2644",ca455345:"2714",e349f327:"2882","29194c4f":"3038","097ae196":"3189","425d40e1":"3226","91f5030b":"3296",eb657f28:"3397","9dd0c5f1":"3474",ad3bebc9:"3603",f75f2c94:"3615",e9cda7b1:"3722","141b670d":"3740","55ec2f43":"4107",a09c2993:"4128",e5c54bdb:"4157",c4f5d8e4:"4195",f4ac2254:"4343",a94703ab:"4368","84d30fec":"4422",fa3980d2:"4535","0240d083":"4641","300ffbe4":"4798","20fb11a0":"5352","2da127e6":"5489",a51c7a0a:"5548","44ce4281":"5987","6f5dae2f":"6652",a01fe4ff:"6948","3a3d2e88":"7075",dd08834f:"7246",f59544f3:"7290","79615fb5":"7415","28fbc648":"7468","4a9dde3b":"7608",d579eb1d:"7636","62bff82b":"7787","1a4e3797":"7920","7a083494":"7951",ebf1f14a:"8009","9d9ec472":"8226","35956ae5":"8261","9c528963":"8398",a7bd4aaa:"8518","6db12b5e":"8542","581dd7b0":"8618",ea770076:"8678","3cbe6ad4":"9027",f177a5e1:"9305","5e95c892":"9661","14eb3368":"9817",aa24c447:"9857","75523c1e":"9999"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,d)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)d.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var c=new Promise(((d,c)=>f=e[a]=[d,c]));d.push(f[2]=c);var b=r.p+r.u(a),t=new Error;r.l(b,(d=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var c=d&&("load"===d.type?"missing":d.type),b=d&&d.target&&d.target.src;t.message="Loading chunk "+a+" failed.\n("+c+": "+b+")",t.name="ChunkLoadError",t.type=c,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,d)=>{var f,c,b=d[0],t=d[1],o=d[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(d);n