From 1274f0ab0ff97a73238d55978c7777b4da09457a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 16:18:34 +0000 Subject: [PATCH] deploy: f26d4ef4fc100402d6d405397a7d7961226a4b3f --- 404.html | 8 ++++---- api/service.html | 8 ++++---- assets/js/03f1273c.401cc085.js | 1 - assets/js/03f1273c.566b1450.js | 1 + assets/js/5dfc8d6a.7ad4568d.js | 1 + assets/js/5dfc8d6a.f5e2718c.js | 1 - assets/js/b2f554cd.7c50f0a9.js | 1 - assets/js/b2f554cd.9630cb25.js | 1 + assets/js/{main.dc24ec5b.js => main.faf397f9.js} | 4 ++-- ...c5b.js.LICENSE.txt => main.faf397f9.js.LICENSE.txt} | 0 ...ntime~main.36acd7c8.js => runtime~main.3ac7b7f2.js} | 2 +- blog.html | 10 +++++----- blog/archive.html | 8 ++++---- blog/atom.xml | 2 +- blog/kubecon-na-2023.html | 10 +++++----- blog/rss.xml | 2 +- blog/tags.html | 8 ++++---- blog/tags/conferences.html | 10 +++++----- blog/tags/kubecon.html | 10 +++++----- docs/authorization-and-openfga.html | 8 ++++---- docs/concepts.html | 8 ++++---- docs/configuration-language.html | 8 ++++---- docs/getting-started.html | 8 ++++---- docs/getting-started/configure-model.html | 8 ++++---- docs/getting-started/create-store.html | 8 ++++---- docs/getting-started/framework.html | 8 ++++---- docs/getting-started/immutable-models.html | 8 ++++---- docs/getting-started/install-sdk.html | 8 ++++---- docs/getting-started/perform-check.html | 8 ++++---- docs/getting-started/perform-list-objects.html | 8 ++++---- docs/getting-started/running-in-production.html | 8 ++++---- docs/getting-started/setup-openfga/docker.html | 8 ++++---- docs/getting-started/setup-openfga/kubernetes.html | 8 ++++---- docs/getting-started/setup-openfga/overview.html | 8 ++++---- docs/getting-started/setup-sdk-client.html | 8 ++++---- docs/getting-started/tuples-api-best-practices.html | 8 ++++---- docs/getting-started/update-tuples.html | 8 ++++---- docs/interacting.html | 8 ++++---- docs/interacting/managing-group-access.html | 8 ++++---- docs/interacting/managing-group-membership.html | 8 ++++---- .../managing-relationships-between-objects.html | 8 ++++---- docs/interacting/managing-user-access.html | 8 ++++---- docs/interacting/read-tuple-changes.html | 8 ++++---- docs/interacting/relationship-queries.html | 8 ++++---- docs/interacting/search-with-permissions.html | 8 ++++---- docs/interacting/transactional-writes.html | 8 ++++---- docs/modeling.html | 8 ++++---- docs/modeling/advanced.html | 8 ++++---- docs/modeling/advanced/entitlements.html | 8 ++++---- docs/modeling/advanced/gdrive.html | 8 ++++---- docs/modeling/advanced/github.html | 8 ++++---- docs/modeling/advanced/iot.html | 8 ++++---- docs/modeling/advanced/slack.html | 8 ++++---- docs/modeling/blocklists.html | 8 ++++---- docs/modeling/building-blocks.html | 8 ++++---- .../building-blocks/concentric-relationships.html | 8 ++++---- .../modeling/building-blocks/direct-relationships.html | 8 ++++---- .../object-to-object-relationships.html | 8 ++++---- docs/modeling/building-blocks/usersets.html | 8 ++++---- docs/modeling/contextual-time-based-authorization.html | 8 ++++---- docs/modeling/custom-roles.html | 8 ++++---- docs/modeling/direct-access.html | 8 ++++---- docs/modeling/getting-started.html | 8 ++++---- docs/modeling/migrating.html | 8 ++++---- docs/modeling/migrating/migrating-relations.html | 8 ++++---- docs/modeling/migrating/migrating-schema-1-1.html | 8 ++++---- docs/modeling/multiple-restrictions.html | 8 ++++---- docs/modeling/organization-context-authorization.html | 8 ++++---- docs/modeling/parent-child.html | 8 ++++---- docs/modeling/public-access.html | 8 ++++---- docs/modeling/roles-and-permissions.html | 8 ++++---- docs/modeling/user-groups.html | 8 ++++---- index.html | 8 ++++---- search-index.json | 2 +- search.html | 8 ++++---- 75 files changed, 265 insertions(+), 265 deletions(-) delete mode 100644 assets/js/03f1273c.401cc085.js create mode 100644 assets/js/03f1273c.566b1450.js create mode 100644 assets/js/5dfc8d6a.7ad4568d.js delete mode 100644 assets/js/5dfc8d6a.f5e2718c.js delete mode 100644 assets/js/b2f554cd.7c50f0a9.js create mode 100644 assets/js/b2f554cd.9630cb25.js rename assets/js/{main.dc24ec5b.js => main.faf397f9.js} (99%) rename assets/js/{main.dc24ec5b.js.LICENSE.txt => main.faf397f9.js.LICENSE.txt} (100%) rename assets/js/{runtime~main.36acd7c8.js => runtime~main.3ac7b7f2.js} (97%) diff --git a/404.html b/404.html index ed465abf3..8e3201141 100644 --- a/404.html +++ b/404.html @@ -15,13 +15,13 @@ - - + +
Skip to main content

404: Page Not Found

If you navigated here from a broken link on the OpenFGA website, please open an issue on GitHub.

Otherwise, try navigating to the home page, and then find or search for the content you need from there.

- - + + \ No newline at end of file diff --git a/api/service.html b/api/service.html index 5ac3a5933..7e92e8f36 100644 --- a/api/service.html +++ b/api/service.html @@ -15,13 +15,13 @@ - - + +
Skip to main content
Loading...
- - + + \ No newline at end of file diff --git a/assets/js/03f1273c.401cc085.js b/assets/js/03f1273c.401cc085.js deleted file mode 100644 index 44174a2d9..000000000 --- a/assets/js/03f1273c.401cc085.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkopenfga_dev=self.webpackChunkopenfga_dev||[]).push([[9323],{55246:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var n=a(87462),o=(a(67294),a(3905));const i={title:"Join the OpenFGA team at KubeCon NA 2023",description:"OpenFGA at KubeCon",slug:"kubecon-na-2023",date:new Date("2023-10-12T00:00:00.000Z"),authors:"aaguiar",tags:["conferences","kubecon"],image:"https://openfga.dev/img/openfga_logo.svg",hide_table_of_contents:!1},r="Join the OpenFGA team at KubeCon NA 2023!",p={permalink:"/blog/kubecon-na-2023",source:"@site/blog/kubecon-na-2023.md",title:"Join the OpenFGA team at KubeCon NA 2023",description:"OpenFGA at KubeCon",date:"2023-10-12T00:00:00.000Z",formattedDate:"October 12, 2023",tags:[{label:"conferences",permalink:"/blog/tags/conferences"},{label:"kubecon",permalink:"/blog/tags/kubecon"}],readingTime:.87,hasTruncateMarker:!1,authors:[{name:"Andres Aguiar",title:"Product Manager",url:"https://github.com/aaguiarz",imageURL:"/img/blog/authors/andres.jpg",key:"aaguiar"}],frontMatter:{title:"Join the OpenFGA team at KubeCon NA 2023",description:"OpenFGA at KubeCon",slug:"kubecon-na-2023",date:"2023-10-12T00:00:00.000Z",authors:"aaguiar",tags:["conferences","kubecon"],image:"https://openfga.dev/img/openfga_logo.svg",hide_table_of_contents:!1}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},c="wrapper";function h(e){let{components:t,...a}=e;return(0,o.kt)(c,(0,n.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"As you'd expect, the OpenFGA team will be at KubeCon NA 2023 in Chicago, IL!"),(0,o.kt)("p",null,"We'll have a packed agenda for the week:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/jonathan-whitaker-5a8b2484/"},"Jonathan Whitaker")," and ",(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/luxas/"},"Lucas K\xe4ldstr\xf6m")," will be presenting in ",(0,o.kt)("a",{parentName:"p",href:"https://cloud-native.rejekts.io/"},"Could_Native Rejects")," on how to use OpenFGA to manage authorization in Kubernetes. Learn more ",(0,o.kt)("a",{parentName:"p",href:"https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-na-chicago-2023/speaker/XB7EUR/"},"here"),".")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/miparnisari/"},"Maria Ines Parnisari")," and ",(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/aaguiar/"},"Andres Aguiar")," will be presenting in ",(0,o.kt)("a",{parentName:"p",href:"https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/co-located-events/appdevelopercon/"},"AppDeveloperCon")," about modernizing authorization for cloud native applications using OpenFGA. Learn more ",(0,o.kt)("a",{parentName:"p",href:"https://colocatedeventsna2023.sched.com/event/1Rj2j/modernizing-authorization-for-cloud-native-applications-using-openfga-andres-aguiar-maria-ines-parnisari-okta"},"here"),".")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We'll host a Project Meeting on Monday 9.30 AM in the Hudson room at the ",(0,o.kt)("a",{parentName:"p",href:"https://maps.app.goo.gl/77FwgGdpsWK5jWHd6"},"Hilton Garden Inn"),". We'll share the product is being used, demo the latests features like our new CLI, the VS Code Extension, Conditional Relationships, the Java SDK... and more! ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We'll be in the CNCF Project Pavilion during the afternoons.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We'll host our ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/openfga/community/blob/main/community-meetings.md"},"OpenFGA community meeting")," directly from KubeCon on Thursday 9th at 3PM UTC (8AM PST/11AM EST)."))),(0,o.kt)("p",null,"If you want to meet with the team outside of these events, please pick any spot that works for you in our ",(0,o.kt)("a",{parentName:"p",href:"https://calendar.app.google/GonEwLboKvPkG8pL6"},"calendar"),"."),(0,o.kt)("p",null,"See you in Chicago!"))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/03f1273c.566b1450.js b/assets/js/03f1273c.566b1450.js new file mode 100644 index 000000000..0609ae95e --- /dev/null +++ b/assets/js/03f1273c.566b1450.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkopenfga_dev=self.webpackChunkopenfga_dev||[]).push([[9323],{55246:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>c,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var n=a(87462),o=(a(67294),a(3905));const i={title:"Join the OpenFGA team at KubeCon NA 2023",description:"OpenFGA at KubeCon",slug:"kubecon-na-2023",date:new Date("2023-10-12T00:00:00.000Z"),authors:"aaguiar",tags:["conferences","kubecon"],image:"https://openfga.dev/img/openfga_logo.svg",hide_table_of_contents:!1},r="Join the OpenFGA team at KubeCon NA 2023!",p={permalink:"/blog/kubecon-na-2023",source:"@site/blog/kubecon-na-2023.md",title:"Join the OpenFGA team at KubeCon NA 2023",description:"OpenFGA at KubeCon",date:"2023-10-12T00:00:00.000Z",formattedDate:"October 12, 2023",tags:[{label:"conferences",permalink:"/blog/tags/conferences"},{label:"kubecon",permalink:"/blog/tags/kubecon"}],readingTime:.885,hasTruncateMarker:!1,authors:[{name:"Andres Aguiar",title:"Product Manager",url:"https://github.com/aaguiarz",imageURL:"/img/blog/authors/andres.jpg",key:"aaguiar"}],frontMatter:{title:"Join the OpenFGA team at KubeCon NA 2023",description:"OpenFGA at KubeCon",slug:"kubecon-na-2023",date:"2023-10-12T00:00:00.000Z",authors:"aaguiar",tags:["conferences","kubecon"],image:"https://openfga.dev/img/openfga_logo.svg",hide_table_of_contents:!1}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},h="wrapper";function c(e){let{components:t,...a}=e;return(0,o.kt)(h,(0,n.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"As you'd expect, the OpenFGA team will be at KubeCon NA 2023 in Chicago, IL!"),(0,o.kt)("p",null,"We'll have a packed agenda for the week:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/jonathan-whitaker-5a8b2484/"},"Jonathan Whitaker")," and ",(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/luxas/"},"Lucas K\xe4ldstr\xf6m")," will be presenting in ",(0,o.kt)("a",{parentName:"p",href:"https://cloud-native.rejekts.io/"},"Could_Native Rejects")," on how to use OpenFGA to manage and extend authorization in Kubernetes. Learn more ",(0,o.kt)("a",{parentName:"p",href:"https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-na-chicago-2023/speaker/XB7EUR/"},"here"),".")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/miparnisari/"},"Maria Ines Parnisari")," and ",(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/aaguiar/"},"Andres Aguiar")," will be presenting in ",(0,o.kt)("a",{parentName:"p",href:"https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/co-located-events/appdevelopercon/"},"AppDeveloperCon")," about modernizing authorization for cloud native applications using OpenFGA. Learn more ",(0,o.kt)("a",{parentName:"p",href:"https://colocatedeventsna2023.sched.com/event/1Rj2j/modernizing-authorization-for-cloud-native-applications-using-openfga-andres-aguiar-maria-ines-parnisari-okta"},"here"),".")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We'll host a Project Meeting on Monday 9.30 AM in the Hudson room at the ",(0,o.kt)("a",{parentName:"p",href:"https://maps.app.goo.gl/77FwgGdpsWK5jWHd6"},"Hilton Garden Inn"),". We'll share how the product is being used, demo the latests features like our new CLI, the VS Code Extension, Conditional Relationships, the Java SDK... and more! ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We'll be in the CNCF Project Pavilion during the afternoons.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We'll host our ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/openfga/community/blob/main/community-meetings.md"},"OpenFGA community meeting")," directly from KubeCon on Thursday 9th at 3PM UTC (8AM PST/11AM EST)."))),(0,o.kt)("p",null,"If you want to meet with the team outside of these events, please pick any spot that works for you in our ",(0,o.kt)("a",{parentName:"p",href:"https://calendar.app.google/GonEwLboKvPkG8pL6"},"calendar"),"."),(0,o.kt)("p",null,"See you in Chicago!"))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5dfc8d6a.7ad4568d.js b/assets/js/5dfc8d6a.7ad4568d.js new file mode 100644 index 000000000..986b326e1 --- /dev/null +++ b/assets/js/5dfc8d6a.7ad4568d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkopenfga_dev=self.webpackChunkopenfga_dev||[]).push([[1544],{34488:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>c,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var n=a(87462),o=(a(67294),a(3905));const i={title:"Join the OpenFGA team at KubeCon NA 2023",description:"OpenFGA at KubeCon",slug:"kubecon-na-2023",date:new Date("2023-10-12T00:00:00.000Z"),authors:"aaguiar",tags:["conferences","kubecon"],image:"https://openfga.dev/img/openfga_logo.svg",hide_table_of_contents:!1},r="Join the OpenFGA team at KubeCon NA 2023!",p={permalink:"/blog/kubecon-na-2023",source:"@site/blog/kubecon-na-2023.md",title:"Join the OpenFGA team at KubeCon NA 2023",description:"OpenFGA at KubeCon",date:"2023-10-12T00:00:00.000Z",formattedDate:"October 12, 2023",tags:[{label:"conferences",permalink:"/blog/tags/conferences"},{label:"kubecon",permalink:"/blog/tags/kubecon"}],readingTime:.885,hasTruncateMarker:!1,authors:[{name:"Andres Aguiar",title:"Product Manager",url:"https://github.com/aaguiarz",imageURL:"/img/blog/authors/andres.jpg",key:"aaguiar"}],frontMatter:{title:"Join the OpenFGA team at KubeCon NA 2023",description:"OpenFGA at KubeCon",slug:"kubecon-na-2023",date:"2023-10-12T00:00:00.000Z",authors:"aaguiar",tags:["conferences","kubecon"],image:"https://openfga.dev/img/openfga_logo.svg",hide_table_of_contents:!1}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},h="wrapper";function c(e){let{components:t,...a}=e;return(0,o.kt)(h,(0,n.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"As you'd expect, the OpenFGA team will be at KubeCon NA 2023 in Chicago, IL!"),(0,o.kt)("p",null,"We'll have a packed agenda for the week:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/jonathan-whitaker-5a8b2484/"},"Jonathan Whitaker")," and ",(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/luxas/"},"Lucas K\xe4ldstr\xf6m")," will be presenting in ",(0,o.kt)("a",{parentName:"p",href:"https://cloud-native.rejekts.io/"},"Could_Native Rejects")," on how to use OpenFGA to manage and extend authorization in Kubernetes. Learn more ",(0,o.kt)("a",{parentName:"p",href:"https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-na-chicago-2023/speaker/XB7EUR/"},"here"),".")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/miparnisari/"},"Maria Ines Parnisari")," and ",(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/aaguiar/"},"Andres Aguiar")," will be presenting in ",(0,o.kt)("a",{parentName:"p",href:"https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/co-located-events/appdevelopercon/"},"AppDeveloperCon")," about modernizing authorization for cloud native applications using OpenFGA. Learn more ",(0,o.kt)("a",{parentName:"p",href:"https://colocatedeventsna2023.sched.com/event/1Rj2j/modernizing-authorization-for-cloud-native-applications-using-openfga-andres-aguiar-maria-ines-parnisari-okta"},"here"),".")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We'll host a Project Meeting on Monday 9.30 AM in the Hudson room at the ",(0,o.kt)("a",{parentName:"p",href:"https://maps.app.goo.gl/77FwgGdpsWK5jWHd6"},"Hilton Garden Inn"),". We'll share how the product is being used, demo the latests features like our new CLI, the VS Code Extension, Conditional Relationships, the Java SDK... and more! ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We'll be in the CNCF Project Pavilion during the afternoons.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We'll host our ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/openfga/community/blob/main/community-meetings.md"},"OpenFGA community meeting")," directly from KubeCon on Thursday 9th at 3PM UTC (8AM PST/11AM EST)."))),(0,o.kt)("p",null,"If you want to meet with the team outside of these events, please pick any spot that works for you in our ",(0,o.kt)("a",{parentName:"p",href:"https://calendar.app.google/GonEwLboKvPkG8pL6"},"calendar"),"."),(0,o.kt)("p",null,"See you in Chicago!"))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5dfc8d6a.f5e2718c.js b/assets/js/5dfc8d6a.f5e2718c.js deleted file mode 100644 index 99d7e6e62..000000000 --- a/assets/js/5dfc8d6a.f5e2718c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkopenfga_dev=self.webpackChunkopenfga_dev||[]).push([[1544],{34488:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var n=a(87462),o=(a(67294),a(3905));const i={title:"Join the OpenFGA team at KubeCon NA 2023",description:"OpenFGA at KubeCon",slug:"kubecon-na-2023",date:new Date("2023-10-12T00:00:00.000Z"),authors:"aaguiar",tags:["conferences","kubecon"],image:"https://openfga.dev/img/openfga_logo.svg",hide_table_of_contents:!1},r="Join the OpenFGA team at KubeCon NA 2023!",p={permalink:"/blog/kubecon-na-2023",source:"@site/blog/kubecon-na-2023.md",title:"Join the OpenFGA team at KubeCon NA 2023",description:"OpenFGA at KubeCon",date:"2023-10-12T00:00:00.000Z",formattedDate:"October 12, 2023",tags:[{label:"conferences",permalink:"/blog/tags/conferences"},{label:"kubecon",permalink:"/blog/tags/kubecon"}],readingTime:.87,hasTruncateMarker:!1,authors:[{name:"Andres Aguiar",title:"Product Manager",url:"https://github.com/aaguiarz",imageURL:"/img/blog/authors/andres.jpg",key:"aaguiar"}],frontMatter:{title:"Join the OpenFGA team at KubeCon NA 2023",description:"OpenFGA at KubeCon",slug:"kubecon-na-2023",date:"2023-10-12T00:00:00.000Z",authors:"aaguiar",tags:["conferences","kubecon"],image:"https://openfga.dev/img/openfga_logo.svg",hide_table_of_contents:!1}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},c="wrapper";function h(e){let{components:t,...a}=e;return(0,o.kt)(c,(0,n.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"As you'd expect, the OpenFGA team will be at KubeCon NA 2023 in Chicago, IL!"),(0,o.kt)("p",null,"We'll have a packed agenda for the week:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/jonathan-whitaker-5a8b2484/"},"Jonathan Whitaker")," and ",(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/luxas/"},"Lucas K\xe4ldstr\xf6m")," will be presenting in ",(0,o.kt)("a",{parentName:"p",href:"https://cloud-native.rejekts.io/"},"Could_Native Rejects")," on how to use OpenFGA to manage authorization in Kubernetes. Learn more ",(0,o.kt)("a",{parentName:"p",href:"https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-na-chicago-2023/speaker/XB7EUR/"},"here"),".")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/miparnisari/"},"Maria Ines Parnisari")," and ",(0,o.kt)("a",{parentName:"p",href:"https://www.linkedin.com/in/aaguiar/"},"Andres Aguiar")," will be presenting in ",(0,o.kt)("a",{parentName:"p",href:"https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/co-located-events/appdevelopercon/"},"AppDeveloperCon")," about modernizing authorization for cloud native applications using OpenFGA. Learn more ",(0,o.kt)("a",{parentName:"p",href:"https://colocatedeventsna2023.sched.com/event/1Rj2j/modernizing-authorization-for-cloud-native-applications-using-openfga-andres-aguiar-maria-ines-parnisari-okta"},"here"),".")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We'll host a Project Meeting on Monday 9.30 AM in the Hudson room at the ",(0,o.kt)("a",{parentName:"p",href:"https://maps.app.goo.gl/77FwgGdpsWK5jWHd6"},"Hilton Garden Inn"),". We'll share the product is being used, demo the latests features like our new CLI, the VS Code Extension, Conditional Relationships, the Java SDK... and more! ")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We'll be in the CNCF Project Pavilion during the afternoons.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"We'll host our ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/openfga/community/blob/main/community-meetings.md"},"OpenFGA community meeting")," directly from KubeCon on Thursday 9th at 3PM UTC (8AM PST/11AM EST)."))),(0,o.kt)("p",null,"If you want to meet with the team outside of these events, please pick any spot that works for you in our ",(0,o.kt)("a",{parentName:"p",href:"https://calendar.app.google/GonEwLboKvPkG8pL6"},"calendar"),"."),(0,o.kt)("p",null,"See you in Chicago!"))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b2f554cd.7c50f0a9.js b/assets/js/b2f554cd.7c50f0a9.js deleted file mode 100644 index 64160a6fe..000000000 --- a/assets/js/b2f554cd.7c50f0a9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkopenfga_dev=self.webpackChunkopenfga_dev||[]).push([[1477],{30010:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"kubecon-na-2023","metadata":{"permalink":"/blog/kubecon-na-2023","source":"@site/blog/kubecon-na-2023.md","title":"Join the OpenFGA team at KubeCon NA 2023","description":"OpenFGA at KubeCon","date":"2023-10-12T00:00:00.000Z","formattedDate":"October 12, 2023","tags":[{"label":"conferences","permalink":"/blog/tags/conferences"},{"label":"kubecon","permalink":"/blog/tags/kubecon"}],"readingTime":0.87,"hasTruncateMarker":false,"authors":[{"name":"Andres Aguiar","title":"Product Manager","url":"https://github.com/aaguiarz","imageURL":"/img/blog/authors/andres.jpg","key":"aaguiar"}],"frontMatter":{"title":"Join the OpenFGA team at KubeCon NA 2023","description":"OpenFGA at KubeCon","slug":"kubecon-na-2023","date":"2023-10-12T00:00:00.000Z","authors":"aaguiar","tags":["conferences","kubecon"],"image":"https://openfga.dev/img/openfga_logo.svg","hide_table_of_contents":false}},"content":"As you\'d expect, the OpenFGA team will be at KubeCon NA 2023 in Chicago, IL!\\n\\nWe\'ll have a packed agenda for the week:\\n\\n- [Jonathan Whitaker](https://www.linkedin.com/in/jonathan-whitaker-5a8b2484/) and [Lucas K\xe4ldstr\xf6m](https://www.linkedin.com/in/luxas/) will be presenting in [Could_Native Rejects](https://cloud-native.rejekts.io/) on how to use OpenFGA to manage authorization in Kubernetes. Learn more [here](https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-na-chicago-2023/speaker/XB7EUR/).\\n\\n- [Maria Ines Parnisari](https://www.linkedin.com/in/miparnisari/) and [Andres Aguiar](https://www.linkedin.com/in/aaguiar/) will be presenting in [AppDeveloperCon](https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/co-located-events/appdevelopercon/) about modernizing authorization for cloud native applications using OpenFGA. Learn more [here](https://colocatedeventsna2023.sched.com/event/1Rj2j/modernizing-authorization-for-cloud-native-applications-using-openfga-andres-aguiar-maria-ines-parnisari-okta).\\n\\n- We\'ll host a Project Meeting on Monday 9.30 AM in the Hudson room at the [Hilton Garden Inn](https://maps.app.goo.gl/77FwgGdpsWK5jWHd6). We\'ll share the product is being used, demo the latests features like our new CLI, the VS Code Extension, Conditional Relationships, the Java SDK... and more! \\n\\n- We\'ll be in the CNCF Project Pavilion during the afternoons.\\n\\n- We\'ll host our [OpenFGA community meeting](https://github.com/openfga/community/blob/main/community-meetings.md) directly from KubeCon on Thursday 9th at 3PM UTC (8AM PST/11AM EST).\\n\\n\\nIf you want to meet with the team outside of these events, please pick any spot that works for you in our [calendar](https://calendar.app.google/GonEwLboKvPkG8pL6).\\n\\nSee you in Chicago!"}]}')}}]); \ No newline at end of file diff --git a/assets/js/b2f554cd.9630cb25.js b/assets/js/b2f554cd.9630cb25.js new file mode 100644 index 000000000..815805bf5 --- /dev/null +++ b/assets/js/b2f554cd.9630cb25.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkopenfga_dev=self.webpackChunkopenfga_dev||[]).push([[1477],{30010:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"kubecon-na-2023","metadata":{"permalink":"/blog/kubecon-na-2023","source":"@site/blog/kubecon-na-2023.md","title":"Join the OpenFGA team at KubeCon NA 2023","description":"OpenFGA at KubeCon","date":"2023-10-12T00:00:00.000Z","formattedDate":"October 12, 2023","tags":[{"label":"conferences","permalink":"/blog/tags/conferences"},{"label":"kubecon","permalink":"/blog/tags/kubecon"}],"readingTime":0.885,"hasTruncateMarker":false,"authors":[{"name":"Andres Aguiar","title":"Product Manager","url":"https://github.com/aaguiarz","imageURL":"/img/blog/authors/andres.jpg","key":"aaguiar"}],"frontMatter":{"title":"Join the OpenFGA team at KubeCon NA 2023","description":"OpenFGA at KubeCon","slug":"kubecon-na-2023","date":"2023-10-12T00:00:00.000Z","authors":"aaguiar","tags":["conferences","kubecon"],"image":"https://openfga.dev/img/openfga_logo.svg","hide_table_of_contents":false}},"content":"As you\'d expect, the OpenFGA team will be at KubeCon NA 2023 in Chicago, IL!\\n\\nWe\'ll have a packed agenda for the week:\\n\\n- [Jonathan Whitaker](https://www.linkedin.com/in/jonathan-whitaker-5a8b2484/) and [Lucas K\xe4ldstr\xf6m](https://www.linkedin.com/in/luxas/) will be presenting in [Could_Native Rejects](https://cloud-native.rejekts.io/) on how to use OpenFGA to manage and extend authorization in Kubernetes. Learn more [here](https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-na-chicago-2023/speaker/XB7EUR/).\\n\\n- [Maria Ines Parnisari](https://www.linkedin.com/in/miparnisari/) and [Andres Aguiar](https://www.linkedin.com/in/aaguiar/) will be presenting in [AppDeveloperCon](https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/co-located-events/appdevelopercon/) about modernizing authorization for cloud native applications using OpenFGA. Learn more [here](https://colocatedeventsna2023.sched.com/event/1Rj2j/modernizing-authorization-for-cloud-native-applications-using-openfga-andres-aguiar-maria-ines-parnisari-okta).\\n\\n- We\'ll host a Project Meeting on Monday 9.30 AM in the Hudson room at the [Hilton Garden Inn](https://maps.app.goo.gl/77FwgGdpsWK5jWHd6). We\'ll share how the product is being used, demo the latests features like our new CLI, the VS Code Extension, Conditional Relationships, the Java SDK... and more! \\n\\n- We\'ll be in the CNCF Project Pavilion during the afternoons.\\n\\n- We\'ll host our [OpenFGA community meeting](https://github.com/openfga/community/blob/main/community-meetings.md) directly from KubeCon on Thursday 9th at 3PM UTC (8AM PST/11AM EST).\\n\\n\\nIf you want to meet with the team outside of these events, please pick any spot that works for you in our [calendar](https://calendar.app.google/GonEwLboKvPkG8pL6).\\n\\nSee you in Chicago!"}]}')}}]); \ No newline at end of file diff --git a/assets/js/main.dc24ec5b.js b/assets/js/main.faf397f9.js similarity index 99% rename from assets/js/main.dc24ec5b.js rename to assets/js/main.faf397f9.js index 9f2ed612e..499242464 100644 --- a/assets/js/main.dc24ec5b.js +++ b/assets/js/main.faf397f9.js @@ -1,2 +1,2 @@ -/*! For license information please see main.dc24ec5b.js.LICENSE.txt */ -(self.webpackChunkopenfga_dev=self.webpackChunkopenfga_dev||[]).push([[179],{34334:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;to});const o=function(){for(var e,t,n=0,o="";n{"use strict";n.d(t,{Z:()=>a});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);k+=E.value.length,E=E.next){var x=E.value;if(t.length>e.length)return;if(!(x instanceof o)){var T,$=1;if(y){if(!(T=a(w,k,e,b))||T.index>=e.length)break;var S=T.index,O=T.index+T[0].length,I=k;for(I+=E.value.length;S>=I;)I+=(E=E.next).value.length;if(k=I-=E.value.length,E.value instanceof o)continue;for(var R=E;R!==t.tail&&(Id.reach&&(d.reach=L);var P=E.prev;if(N&&(P=l(t,P,N),k+=N.length),c(t,P,$),E=l(t,P,new o(p,g?r.tokenize(C,g):C,v,C)),A&&l(t,E,A),$>1){var D={cause:p+","+m,reach:L};i(e,t,n,E.prev,k,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function s(){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 l(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function c(e,t,n){for(var r=t.next,o=0;o"+a.content+""},r}(),o=r;r.default=r,o.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"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},o.languages.markup.tag.inside["attr-value"].inside.entity=o.languages.markup.entity,o.languages.markup.doctype.inside["internal-subset"].inside=o.languages.markup,o.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(o.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:o.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:o.languages[t]};var a={};a[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},o.languages.insertBefore("markup","cdata",a)}}),Object.defineProperty(o.languages.markup.tag,"addAttribute",{value:function(e,t){o.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:o.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),o.languages.html=o.languages.markup,o.languages.mathml=o.languages.markup,o.languages.svg=o.languages.markup,o.languages.xml=o.languages.extend("markup",{}),o.languages.ssml=o.languages.xml,o.languages.atom=o.languages.xml,o.languages.rss=o.languages.xml,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+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},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|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|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|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 o=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},o.languages.c=o.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|[?:~]|[-+*/%&|^!=<>]=?/}),o.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),o.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},o.languages.c.string],char:o.languages.c.char,comment:o.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:o.languages.c}}}}),o.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 o.languages.c.boolean,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"])}(o),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(o),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,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}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},o={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|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:r,number:o,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:o})}(o),o.languages.javascript=o.languages.extend("clike",{"class-name":[o.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}|\?\?=?|\?\.?|[~:]/}),o.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,o.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:o.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:o.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:o.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:o.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:o.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),o.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:o.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"}}),o.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),o.languages.markup&&(o.languages.markup.tag.addInlined("script","javascript"),o.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")),o.languages.js=o.languages.javascript,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}(o),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\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})),a=/"(?:[^"\\\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"(?:"+o+"|"+a+")"}))),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(a),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}(o),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,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;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("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),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:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(o),o.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:o.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+/},o.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;n0)){var s=p(/^\{$/,/^\}$/);if(-1===s)continue;for(var l=n;l=0&&f(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var 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,o=r.inside["interpolation-punctuation"],a=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 s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function l(t,n,r){var o={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",o),o.tokens=e.tokenize(o.code,o.grammar),e.hooks.run("after-tokenize",o),o.tokens}function c(t){var n={};n["interpolation-punctuation"]=o;var a=e.tokenize(t,n);if(3===a.length){var i=[1,1];i.push.apply(i,l(a[1],e.languages.javascript,"javascript")),a.splice.apply(a,i)}return new e.Token("interpolation",a,r.alias,t)}function u(t,n,r){var o=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),i=0,u={},d=l(o.map((function(e){if("string"==typeof e)return e;for(var n,o=e.content;-1!==t.indexOf(n=s(i++,r)););return u[n]=o,n})).join(""),n,r),p=Object.keys(u);return i=0,function e(t){for(var n=0;n=p.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var o=p[i],a="string"==typeof r?r:r.content,s=a.indexOf(o);if(-1!==s){++i;var l=a.substring(0,s),d=c(u[o]),f=a.substring(s+o.length),m=[];if(l&&m.push(l),m.push(d),f){var h=[f];e(h),m.push.apply(m,h)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(d),new e.Token(r,d,"language-"+r,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 d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function p(e){return"string"==typeof e?e:Array.isArray(e)?e.map(p).join(""):p(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,o=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}(o),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 a(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return o})),RegExp(e,t)}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:+(?:[\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:a(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},s=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===i(o.content[0].content[1])&&n.pop():"/>"===o.content[o.content.length-1].content||n.push({tagName:i(o.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===o.type&&"{"===o.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===o.type&&"}"===o.content?n[n.length-1].openedBraces--:a=!0),(a||"string"==typeof o)&&n.length>0&&0===n[n.length-1].openedBraces){var l=i(o);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(l=i(t[r-1])+l,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",l,null,l)}o.content&&"string"!=typeof o.content&&s(o.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(o),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],o=[];/^\w+$/.test(n)||o.push(/\w+/.exec(n)[0]),"diff"===n&&o.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:o,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(o),o.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},o.languages.go=o.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/}),o.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete o.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=a.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),m=p.indexOf(f);if(m>-1){++o;var h=p.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(m+f.length),y=[];h&&y.push.apply(y,i([h])),y.push(g),b&&y.push.apply(y,i([b])),"string"==typeof c?s.splice.apply(s,[l,1].concat(y)):c.content=y}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(o),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(o),o.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"}},o.languages.webmanifest=o.languages.json,o.languages.less=o.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),o.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),o.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},o.languages.objectivec=o.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 o.languages.objectivec["class-name"],o.languages.objc=o.languages.objectivec,o.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},o.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:/![sra](?=[:}]$)/,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:/[{}[\];(),.:]/},o.languages.python["string-interpolation"].inside.interpolation.inside.rest=o.languages.python,o.languages.py=o.languages.python,o.languages.reason=o.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/}),o.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 o.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(o),o.languages.scss=o.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),o.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),o.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),o.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),o.languages.scss.atrule.inside.rest=o.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?: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|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)\b/i,{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,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(o),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(o),o.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const a=o},87459:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;to});const o=function(){for(var e,t,n=0,o="";n{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;to});const o=function(){for(var e,t,n=0,o="";n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_SCHEMA_VERSION=void 0;const r=n(13012);t.DEFAULT_SCHEMA_VERSION=r.SchemaVersion.OneDotOne},58369:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_SCHEMA_VERSION=t.LANGUAGE_NAME=t.enums=void 0;const r=n(89082),o=n(13012),a=n(50568);Object.defineProperty(t,"LANGUAGE_NAME",{enumerable:!0,get:function(){return a.LANGUAGE_NAME}});const i=n(64643);Object.defineProperty(t,"DEFAULT_SCHEMA_VERSION",{enumerable:!0,get:function(){return i.DEFAULT_SCHEMA_VERSION}}),t.enums={Keyword:r.Keyword,SchemaVersion:o.SchemaVersion};const s={LANGUAGE_NAME:a.LANGUAGE_NAME,DEFAULT_SCHEMA_VERSION:i.DEFAULT_SCHEMA_VERSION,enums:t.enums};t.default=s},89082:(e,t)=>{"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),t.ReservedKeywords=t.Keyword=void 0,function(e){e.TYPE="type",e.RELATIONS="relations",e.SELF="self",e.DEFINE="define",e.AS="as",e.OR="or",e.AND="and",e.FROM="from",e.BUT_NOT="but not",e.MODEL="model",e.SCHEMA="schema"}(n||(t.Keyword=n={})),function(e){e.THIS="this"}(r||(t.ReservedKeywords=r={}))},50568:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LANGUAGE_NAME=void 0,t.LANGUAGE_NAME="dsl.openfga"},13012:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.SchemaVersion=void 0,function(e){e.OneDotZero="1.0",e.OneDotOne="1.1"}(n||(t.SchemaVersion=n={}))},28442:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.indentDSL=t.SINGLE_INDENTATION=void 0;const r=n(89082);function o(e){let n=0;switch(e){case r.Keyword.SCHEMA:case r.Keyword.RELATIONS:n=1;break;case r.Keyword.DEFINE:n=2;break;case r.Keyword.MODEL:case r.Keyword.TYPE:default:n=0}return function(e=0){let n="";for(let r=1;r<=e;r++)n+=t.SINGLE_INDENTATION;return n}(n)}t.SINGLE_INDENTATION=" ";t.indentDSL=(e,t=!1)=>e.split("\n").filter((e=>t||e.trim().length)).map((e=>{const t=e.trim();return`${o(t.split(" ")[0])}${t}`})).join("\n")},9525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r={indentDSL:n(28442).indentDSL};t.default=r},40801:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.friendlySyntaxToApiSyntax=t.apiSyntaxToFriendlySyntax=t.indentDSL=t.checkDSL=t.SchemaVersion=t.Keyword=t.graphBuilder=t.theming=t.syntaxHighlighters=t.validator=t.transformer=t.formatter=t.constants=t.sampleAuthorizationModels=void 0;const s=a(n(58369));t.constants=s.default;const l=i(n(9525));t.formatter=l.default;const c=i(n(30620));t.transformer=c.default;const u=i(n(95289));t.validator=u.default;const d=a(n(90908));t.syntaxHighlighters=d;const p=a(n(30252));t.theming=p;const f=a(n(88729));t.graphBuilder=f;const m=i(n(60098));t.sampleAuthorizationModels=m.default;const{Keyword:h,SchemaVersion:g}=s.enums;t.Keyword=h,t.SchemaVersion=g;const{friendlySyntaxToApiSyntax:b,apiSyntaxToFriendlySyntax:y}=c.default;t.friendlySyntaxToApiSyntax=b,t.apiSyntaxToFriendlySyntax=y;const v=u.default.checkDSL;t.checkDSL=v;const _=l.default.indentDSL;t.indentDSL=_},46100:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertNever=void 0,t.assertNever=function(e){throw new Error(`Assertion failed. Unexpected value: '${e}'`)}},50459:(e,t)=>{"use strict";function n(e){return e[0]}Object.defineProperty(t,"__esModule",{value:!0});const r={Lexer:void 0,ParserRules:[{name:"types$subexpression$1",symbols:["types_10_defined"]},{name:"types$subexpression$1",symbols:["types_11"]},{name:"types",symbols:["types$subexpression$1"],postprocess:e=>e[0][0]?e[0][0]:e[0][1]?e[0][1]:e[0][2]},{name:"types_10_defined$ebnf$1",symbols:[]},{name:"types_10_defined$ebnf$1$subexpression$1",symbols:["_newline"]},{name:"types_10_defined$ebnf$1",symbols:["types_10_defined$ebnf$1","types_10_defined$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"types_10_defined$ebnf$2",symbols:[]},{name:"types_10_defined$ebnf$2$subexpression$1$ebnf$1",symbols:[]},{name:"types_10_defined$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1$subexpression$1",symbols:["_multiline_comment","define_10"]},{name:"types_10_defined$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1",symbols:["types_10_defined$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1$subexpression$1"]},{name:"types_10_defined$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1$subexpression$2",symbols:["_multiline_comment","define_10"]},{name:"types_10_defined$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1",symbols:["types_10_defined$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1","types_10_defined$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"types_10_defined$ebnf$2$subexpression$1$ebnf$1$subexpression$1",symbols:["_relations","types_10_defined$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1"]},{name:"types_10_defined$ebnf$2$subexpression$1$ebnf$1",symbols:["types_10_defined$ebnf$2$subexpression$1$ebnf$1","types_10_defined$ebnf$2$subexpression$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"types_10_defined$ebnf$2$subexpression$1",symbols:["type","types_10_defined$ebnf$2$subexpression$1$ebnf$1"]},{name:"types_10_defined$ebnf$2",symbols:["types_10_defined$ebnf$2","types_10_defined$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"types_10_defined",symbols:["types_10_defined$ebnf$1","model_schema_10","types_10_defined$ebnf$2"],postprocess:e=>({types:e[2].map((e=>{const t=e[1]&&e[1][0]&&e[1][0][1].map((e=>e[1]))||[];return Object.assign(Object.assign({},e[0]),{relations:t})})),schemaVersion:e[1]?e[1].flat(3).join(""):"1.0"})},{name:"types_11$ebnf$1",symbols:[]},{name:"types_11$ebnf$1$subexpression$1",symbols:["_newline"]},{name:"types_11$ebnf$1",symbols:["types_11$ebnf$1","types_11$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"types_11$ebnf$2",symbols:[]},{name:"types_11$ebnf$2$subexpression$1$ebnf$1",symbols:[]},{name:"types_11$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1$subexpression$1",symbols:["_multiline_comment","define_11"]},{name:"types_11$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1",symbols:["types_11$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1$subexpression$1"]},{name:"types_11$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1$subexpression$2",symbols:["_multiline_comment","define_11"]},{name:"types_11$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1",symbols:["types_11$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1","types_11$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"types_11$ebnf$2$subexpression$1$ebnf$1$subexpression$1",symbols:["_relations","types_11$ebnf$2$subexpression$1$ebnf$1$subexpression$1$ebnf$1"]},{name:"types_11$ebnf$2$subexpression$1$ebnf$1",symbols:["types_11$ebnf$2$subexpression$1$ebnf$1","types_11$ebnf$2$subexpression$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"types_11$ebnf$2$subexpression$1",symbols:["type","types_11$ebnf$2$subexpression$1$ebnf$1"]},{name:"types_11$ebnf$2",symbols:["types_11$ebnf$2","types_11$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"types_11",symbols:["types_11$ebnf$1","model_schema_11","types_11$ebnf$2"],postprocess:e=>({types:e[2].map((e=>{const t=e[1]&&e[1][0]&&e[1][0][1].map((e=>e[1]))||[];return Object.assign(Object.assign({},e[0]),{relations:t})})),schemaVersion:e[1]?e[1].flat(3).join(""):"1.0"})},{name:"model_schema$ebnf$1$subexpression$1",symbols:["_newline"]},{name:"model_schema$ebnf$1",symbols:["model_schema$ebnf$1$subexpression$1"]},{name:"model_schema$ebnf$1$subexpression$2",symbols:["_newline"]},{name:"model_schema$ebnf$1",symbols:["model_schema$ebnf$1","model_schema$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"model_schema$ebnf$2$subexpression$1",symbols:["_newline"]},{name:"model_schema$ebnf$2",symbols:["model_schema$ebnf$2$subexpression$1"]},{name:"model_schema$ebnf$2$subexpression$2",symbols:["_newline"]},{name:"model_schema$ebnf$2",symbols:["model_schema$ebnf$2","model_schema$ebnf$2$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"model_schema",symbols:["_multiline_comment","_model","model_schema$ebnf$1","_schema","_spacing","_version","model_schema$ebnf$2"],postprocess:e=>e[5]},{name:"model_schema_10$ebnf$1$subexpression$1",symbols:["_newline"]},{name:"model_schema_10$ebnf$1",symbols:["model_schema_10$ebnf$1$subexpression$1"]},{name:"model_schema_10$ebnf$1$subexpression$2",symbols:["_newline"]},{name:"model_schema_10$ebnf$1",symbols:["model_schema_10$ebnf$1","model_schema_10$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"model_schema_10$ebnf$2$subexpression$1",symbols:["_newline"]},{name:"model_schema_10$ebnf$2",symbols:["model_schema_10$ebnf$2$subexpression$1"]},{name:"model_schema_10$ebnf$2$subexpression$2",symbols:["_newline"]},{name:"model_schema_10$ebnf$2",symbols:["model_schema_10$ebnf$2","model_schema_10$ebnf$2$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"model_schema_10",symbols:["_multiline_comment","_model","model_schema_10$ebnf$1","_schema","_spacing","_version_10","model_schema_10$ebnf$2"],postprocess:e=>e[5]},{name:"model_schema_11$ebnf$1$subexpression$1",symbols:["_newline"]},{name:"model_schema_11$ebnf$1",symbols:["model_schema_11$ebnf$1$subexpression$1"]},{name:"model_schema_11$ebnf$1$subexpression$2",symbols:["_newline"]},{name:"model_schema_11$ebnf$1",symbols:["model_schema_11$ebnf$1","model_schema_11$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"model_schema_11$ebnf$2$subexpression$1",symbols:["_newline"]},{name:"model_schema_11$ebnf$2",symbols:["model_schema_11$ebnf$2$subexpression$1"]},{name:"model_schema_11$ebnf$2$subexpression$2",symbols:["_newline"]},{name:"model_schema_11$ebnf$2",symbols:["model_schema_11$ebnf$2","model_schema_11$ebnf$2$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"model_schema_11",symbols:["_multiline_comment","_model","model_schema_11$ebnf$1","_schema","_spacing","_version_11","model_schema_11$ebnf$2"],postprocess:e=>e[5]},{name:"type$ebnf$1$subexpression$1",symbols:["_newline"]},{name:"type$ebnf$1",symbols:["type$ebnf$1$subexpression$1"]},{name:"type$ebnf$1$subexpression$2",symbols:["_newline"]},{name:"type$ebnf$1",symbols:["type$ebnf$1","type$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"type",symbols:["_multiline_comment","_type","_naming","type$ebnf$1"],postprocess:e=>({comment:e[0],type:e[2]})},{name:"relations",symbols:["_relations"],postprocess:e=>e[0]},{name:"define_10$subexpression$1",symbols:["define_base"]},{name:"define_10$subexpression$1",symbols:["define_or"]},{name:"define_10$subexpression$1",symbols:["define_and"]},{name:"define_10$subexpression$1",symbols:["define_but_not"]},{name:"define_10$ebnf$1",symbols:[]},{name:"define_10$ebnf$1$subexpression$1",symbols:["_newline"]},{name:"define_10$ebnf$1",symbols:["define_10$ebnf$1","define_10$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"define_10",symbols:["_newline","define_initial","_spacing","_as","_spacing","define_10$subexpression$1","define_10$ebnf$1"],postprocess:(e,t,n)=>{const r=e[1],o=e[5][0];return{comment:"",allowedTypes:[],relation:r,definition:o.type?o:{type:"single",targets:[o]}}}},{name:"define_11$subexpression$1",symbols:["define_base_11"]},{name:"define_11$subexpression$1",symbols:["define_or_11"]},{name:"define_11$subexpression$1",symbols:["define_and_11"]},{name:"define_11$subexpression$1",symbols:["define_but_not_11"]},{name:"define_11$ebnf$1",symbols:[]},{name:"define_11$ebnf$1$subexpression$1",symbols:["_newline"]},{name:"define_11$ebnf$1",symbols:["define_11$ebnf$1","define_11$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"define_11",symbols:["_newline","define_initial","_colon","_spacing","define_11$subexpression$1","define_11$ebnf$1"],postprocess:(e,t,n)=>{const r=e[1],o=e[4][0],a=o.type?o:{type:"single",targets:[o]};return{comment:"",allowedTypes:o.allowedTypes,relation:r,definition:a}}},{name:"define_initial",symbols:["_define","_naming"],postprocess:e=>e[1]},{name:"define_base$subexpression$1",symbols:["_naming"]},{name:"define_base$subexpression$1",symbols:["from_phrase"]},{name:"define_base",symbols:["define_base$subexpression$1"],postprocess:e=>{const t=e[0][0];let n,r,o;return"string"==typeof t?"self"===t?r="direct":(r="computed_userset",n=t):(o=t.from,n=t.target,r="tuple_to_userset"),{rewrite:r,target:n,from:o,allowedTypes:[]}}},{name:"define_base_11$subexpression$1",symbols:["_relation_types"]},{name:"define_base_11$subexpression$1",symbols:["_naming"]},{name:"define_base_11$subexpression$1",symbols:["from_phrase"]},{name:"define_base_11",symbols:["define_base_11$subexpression$1"],postprocess:e=>{if(e[0][0].allowedTypes)return{rewrite:"direct",target:null,from:null,allowedTypes:e[0][0].allowedTypes};const t=e[0][0];let n,r,o;return"string"==typeof t?"self"===t?r="direct":(r="computed_userset",n=t):(o=t.from,n=t.target,r="tuple_to_userset"),{rewrite:r,target:n,from:o,allowedTypes:[]}}},{name:"define_or$ebnf$1$subexpression$1",symbols:["_spacing","_or","_spacing","define_base"]},{name:"define_or$ebnf$1",symbols:["define_or$ebnf$1$subexpression$1"]},{name:"define_or$ebnf$1$subexpression$2",symbols:["_spacing","_or","_spacing","define_base"]},{name:"define_or$ebnf$1",symbols:["define_or$ebnf$1","define_or$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"define_or",symbols:["define_base","define_or$ebnf$1"],postprocess:e=>({targets:[e[0],...e[1].map((e=>e[3]))],type:"union",allowedTypes:[]})},{name:"define_or_11$ebnf$1$subexpression$1",symbols:["_spacing","_or","_spacing","define_base_11"]},{name:"define_or_11$ebnf$1",symbols:["define_or_11$ebnf$1$subexpression$1"]},{name:"define_or_11$ebnf$1$subexpression$2",symbols:["_spacing","_or","_spacing","define_base_11"]},{name:"define_or_11$ebnf$1",symbols:["define_or_11$ebnf$1","define_or_11$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"define_or_11",symbols:["define_base_11","define_or_11$ebnf$1"],postprocess:e=>({targets:[e[0],...e[1].map((e=>e[3]))],type:"union",allowedTypes:e[0].allowedTypes.concat(...e[1].map((e=>e[3].allowedTypes)))})},{name:"define_and$ebnf$1$subexpression$1",symbols:["_spacing","_and","_spacing","define_base"]},{name:"define_and$ebnf$1",symbols:["define_and$ebnf$1$subexpression$1"]},{name:"define_and$ebnf$1$subexpression$2",symbols:["_spacing","_and","_spacing","define_base"]},{name:"define_and$ebnf$1",symbols:["define_and$ebnf$1","define_and$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"define_and",symbols:["define_base","define_and$ebnf$1"],postprocess:e=>({targets:[e[0],...e[1].map((e=>e[3]))],type:"intersection",allowedTypes:[]})},{name:"define_and_11$ebnf$1$subexpression$1",symbols:["_spacing","_and","_spacing","define_base_11"]},{name:"define_and_11$ebnf$1",symbols:["define_and_11$ebnf$1$subexpression$1"]},{name:"define_and_11$ebnf$1$subexpression$2",symbols:["_spacing","_and","_spacing","define_base_11"]},{name:"define_and_11$ebnf$1",symbols:["define_and_11$ebnf$1","define_and_11$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"define_and_11",symbols:["define_base_11","define_and_11$ebnf$1"],postprocess:e=>({targets:[e[0],...e[1].map((e=>e[3]))],type:"intersection",allowedTypes:e[0].allowedTypes.concat(...e[1].map((e=>e[3].allowedTypes)))})},{name:"define_but_not",symbols:["define_base","_spacing","_but_not","_spacing","define_base"],postprocess:e=>({base:e[0],diff:e[4],type:"exclusion",allowedTypes:[]})},{name:"define_but_not_11",symbols:["define_base_11","_spacing","_but_not","_spacing","define_base_11"],postprocess:e=>({base:e[0],diff:e[4],type:"exclusion",allowedTypes:e[0].allowedTypes.concat(...e[4].allowedTypes)})},{name:"from_phrase",symbols:["_naming","_spacing","_from","_spacing","_naming"],postprocess:e=>({target:e[0],from:e[4]})},{name:"_multiline_comment$ebnf$1",symbols:[]},{name:"_multiline_comment$ebnf$1$subexpression$1",symbols:["_comment"]},{name:"_multiline_comment$ebnf$1",symbols:["_multiline_comment$ebnf$1","_multiline_comment$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"_multiline_comment",symbols:["_multiline_comment$ebnf$1"],postprocess:e=>e.flat(3).join("\n")},{name:"_comment$ebnf$1$subexpression$1",symbols:["_newline"]},{name:"_comment$ebnf$1",symbols:["_comment$ebnf$1$subexpression$1"],postprocess:n},{name:"_comment$ebnf$1",symbols:[],postprocess:()=>null},{name:"_comment$ebnf$2",symbols:[]},{name:"_comment$ebnf$2$subexpression$1",symbols:["_spacing","_word"]},{name:"_comment$ebnf$2",symbols:["_comment$ebnf$2","_comment$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"_comment$ebnf$3$subexpression$1",symbols:["_newline"]},{name:"_comment$ebnf$3",symbols:["_comment$ebnf$3$subexpression$1"],postprocess:n},{name:"_comment$ebnf$3",symbols:[],postprocess:()=>null},{name:"_comment",symbols:["_comment$ebnf$1","_optional_space",{literal:"#"},"_optional_space","_word","_comment$ebnf$2","_comment$ebnf$3"],postprocess:e=>e.flat(3).join("").trim().substring(1).trim()},{name:"_word$ebnf$1$subexpression$1",symbols:[/[a-z]/]},{name:"_word$ebnf$1$subexpression$1",symbols:[/[A-Z]/]},{name:"_word$ebnf$1$subexpression$1",symbols:[/[0-9]/]},{name:"_word$ebnf$1$subexpression$1",symbols:[{literal:"_"}]},{name:"_word$ebnf$1$subexpression$1",symbols:[{literal:"-"}]},{name:"_word$ebnf$1$subexpression$1",symbols:[{literal:","}]},{name:"_word$ebnf$1$subexpression$1",symbols:[{literal:"&"}]},{name:"_word$ebnf$1$subexpression$1",symbols:[{literal:"+"}]},{name:"_word$ebnf$1$subexpression$1",symbols:[{literal:"/"}]},{name:"_word$ebnf$1$subexpression$1",symbols:[{literal:"$"}]},{name:"_word$ebnf$1",symbols:["_word$ebnf$1$subexpression$1"]},{name:"_word$ebnf$1$subexpression$2",symbols:[/[a-z]/]},{name:"_word$ebnf$1$subexpression$2",symbols:[/[A-Z]/]},{name:"_word$ebnf$1$subexpression$2",symbols:[/[0-9]/]},{name:"_word$ebnf$1$subexpression$2",symbols:[{literal:"_"}]},{name:"_word$ebnf$1$subexpression$2",symbols:[{literal:"-"}]},{name:"_word$ebnf$1$subexpression$2",symbols:[{literal:","}]},{name:"_word$ebnf$1$subexpression$2",symbols:[{literal:"&"}]},{name:"_word$ebnf$1$subexpression$2",symbols:[{literal:"+"}]},{name:"_word$ebnf$1$subexpression$2",symbols:[{literal:"/"}]},{name:"_word$ebnf$1$subexpression$2",symbols:[{literal:"$"}]},{name:"_word$ebnf$1",symbols:["_word$ebnf$1","_word$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"_word",symbols:["_word$ebnf$1","_optional_space"],postprocess:e=>e.flat(3).join("").trim()},{name:"_colon",symbols:["_optional_space",{literal:":"}]},{name:"_relation_types$ebnf$1$subexpression$1",symbols:["_array_of_types"]},{name:"_relation_types$ebnf$1",symbols:["_relation_types$ebnf$1$subexpression$1"],postprocess:n},{name:"_relation_types$ebnf$1",symbols:[],postprocess:()=>null},{name:"_relation_types",symbols:[{literal:"["},"_optional_space","_relation_types$ebnf$1",{literal:"]"}],postprocess:e=>e[2]?{allowedTypes:e[2][0]}:{allowedTypes:[]}},{name:"_array_of_types$ebnf$1",symbols:[]},{name:"_array_of_types$ebnf$1$subexpression$1",symbols:["_allowed_naming","_optional_space","_comma","_optional_space"]},{name:"_array_of_types$ebnf$1",symbols:["_array_of_types$ebnf$1","_array_of_types$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"_array_of_types",symbols:["_array_of_types$ebnf$1","_allowed_naming","_optional_space"],postprocess:e=>e[0].length?[...e[0].map((e=>e[0])),e[1]]:[e[1]]},{name:"_from$string$1",symbols:[{literal:"f"},{literal:"r"},{literal:"o"},{literal:"m"}],postprocess:e=>e.join("")},{name:"_from",symbols:["_from$string$1"]},{name:"_as$string$1",symbols:[{literal:"a"},{literal:"s"}],postprocess:e=>e.join("")},{name:"_as",symbols:["_as$string$1"]},{name:"_or$string$1",symbols:[{literal:"o"},{literal:"r"}],postprocess:e=>e.join("")},{name:"_or",symbols:["_or$string$1"]},{name:"_and$string$1",symbols:[{literal:"a"},{literal:"n"},{literal:"d"}],postprocess:e=>e.join("")},{name:"_and",symbols:["_and$string$1"]},{name:"_but_not$string$1",symbols:[{literal:"b"},{literal:"u"},{literal:"t"},{literal:" "},{literal:"n"},{literal:"o"},{literal:"t"}],postprocess:e=>e.join("")},{name:"_but_not",symbols:["_but_not$string$1"]},{name:"_self$string$1",symbols:[{literal:"s"},{literal:"e"},{literal:"l"},{literal:"f"}],postprocess:e=>e.join("")},{name:"_self",symbols:["_self$string$1"]},{name:"_define$string$1",symbols:[{literal:" "},{literal:" "},{literal:" "},{literal:" "},{literal:"d"},{literal:"e"},{literal:"f"},{literal:"i"},{literal:"n"},{literal:"e"}],postprocess:e=>e.join("")},{name:"_define",symbols:["_define$string$1","_spacing"]},{name:"_relations$string$1",symbols:[{literal:" "},{literal:" "},{literal:"r"},{literal:"e"},{literal:"l"},{literal:"a"},{literal:"t"},{literal:"i"},{literal:"o"},{literal:"n"},{literal:"s"}],postprocess:e=>e.join("")},{name:"_relations$ebnf$1",symbols:[]},{name:"_relations$ebnf$1$subexpression$1",symbols:["_newline"]},{name:"_relations$ebnf$1",symbols:["_relations$ebnf$1","_relations$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"_relations",symbols:["_relations$string$1","_relations$ebnf$1"]},{name:"_type$string$1",symbols:[{literal:"t"},{literal:"y"},{literal:"p"},{literal:"e"}],postprocess:e=>e.join("")},{name:"_type",symbols:["_type$string$1","_spacing"]},{name:"_no_relations$string$1",symbols:[{literal:"n"},{literal:"o"},{literal:"n"},{literal:"e"}],postprocess:e=>e.join("")},{name:"_no_relations$ebnf$1",symbols:[]},{name:"_no_relations$ebnf$1$subexpression$1",symbols:["_newline"]},{name:"_no_relations$ebnf$1",symbols:["_no_relations$ebnf$1","_no_relations$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"_no_relations",symbols:["_no_relations$string$1","_no_relations$ebnf$1"]},{name:"_naming$subexpression$1$ebnf$1$subexpression$1",symbols:[{literal:"$"}]},{name:"_naming$subexpression$1$ebnf$1",symbols:["_naming$subexpression$1$ebnf$1$subexpression$1"],postprocess:n},{name:"_naming$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"_naming$subexpression$1$ebnf$2$subexpression$1",symbols:[/[a-z]/]},{name:"_naming$subexpression$1$ebnf$2$subexpression$1",symbols:[/[A-Z]/]},{name:"_naming$subexpression$1$ebnf$2$subexpression$1",symbols:[/[0-9]/]},{name:"_naming$subexpression$1$ebnf$2$subexpression$1",symbols:[{literal:"_"}]},{name:"_naming$subexpression$1$ebnf$2$subexpression$1",symbols:[{literal:"-"}]},{name:"_naming$subexpression$1$ebnf$2",symbols:["_naming$subexpression$1$ebnf$2$subexpression$1"]},{name:"_naming$subexpression$1$ebnf$2$subexpression$2",symbols:[/[a-z]/]},{name:"_naming$subexpression$1$ebnf$2$subexpression$2",symbols:[/[A-Z]/]},{name:"_naming$subexpression$1$ebnf$2$subexpression$2",symbols:[/[0-9]/]},{name:"_naming$subexpression$1$ebnf$2$subexpression$2",symbols:[{literal:"_"}]},{name:"_naming$subexpression$1$ebnf$2$subexpression$2",symbols:[{literal:"-"}]},{name:"_naming$subexpression$1$ebnf$2",symbols:["_naming$subexpression$1$ebnf$2","_naming$subexpression$1$ebnf$2$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"_naming$subexpression$1",symbols:["_naming$subexpression$1$ebnf$1","_naming$subexpression$1$ebnf$2"]},{name:"_naming",symbols:["_naming$subexpression$1"],postprocess:e=>e.flat(3).join("").trim()},{name:"_allowed_naming$subexpression$1$ebnf$1$subexpression$1",symbols:[{literal:"$"}]},{name:"_allowed_naming$subexpression$1$ebnf$1",symbols:["_allowed_naming$subexpression$1$ebnf$1$subexpression$1"],postprocess:n},{name:"_allowed_naming$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"_allowed_naming$subexpression$1$ebnf$2$subexpression$1",symbols:[/[a-z]/]},{name:"_allowed_naming$subexpression$1$ebnf$2$subexpression$1",symbols:[/[A-Z]/]},{name:"_allowed_naming$subexpression$1$ebnf$2$subexpression$1",symbols:[/[0-9]/]},{name:"_allowed_naming$subexpression$1$ebnf$2$subexpression$1",symbols:[{literal:"_"}]},{name:"_allowed_naming$subexpression$1$ebnf$2$subexpression$1",symbols:[{literal:"-"}]},{name:"_allowed_naming$subexpression$1$ebnf$2$subexpression$1",symbols:[{literal:"#"}]},{name:"_allowed_naming$subexpression$1$ebnf$2",symbols:["_allowed_naming$subexpression$1$ebnf$2$subexpression$1"]},{name:"_allowed_naming$subexpression$1$ebnf$2$subexpression$2",symbols:[/[a-z]/]},{name:"_allowed_naming$subexpression$1$ebnf$2$subexpression$2",symbols:[/[A-Z]/]},{name:"_allowed_naming$subexpression$1$ebnf$2$subexpression$2",symbols:[/[0-9]/]},{name:"_allowed_naming$subexpression$1$ebnf$2$subexpression$2",symbols:[{literal:"_"}]},{name:"_allowed_naming$subexpression$1$ebnf$2$subexpression$2",symbols:[{literal:"-"}]},{name:"_allowed_naming$subexpression$1$ebnf$2$subexpression$2",symbols:[{literal:"#"}]},{name:"_allowed_naming$subexpression$1$ebnf$2",symbols:["_allowed_naming$subexpression$1$ebnf$2","_allowed_naming$subexpression$1$ebnf$2$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"_allowed_naming$subexpression$1$ebnf$3$subexpression$1$string$1",symbols:[{literal:":"},{literal:"*"}],postprocess:e=>e.join("")},{name:"_allowed_naming$subexpression$1$ebnf$3$subexpression$1",symbols:["_allowed_naming$subexpression$1$ebnf$3$subexpression$1$string$1"]},{name:"_allowed_naming$subexpression$1$ebnf$3",symbols:["_allowed_naming$subexpression$1$ebnf$3$subexpression$1"],postprocess:n},{name:"_allowed_naming$subexpression$1$ebnf$3",symbols:[],postprocess:()=>null},{name:"_allowed_naming$subexpression$1",symbols:["_allowed_naming$subexpression$1$ebnf$1","_allowed_naming$subexpression$1$ebnf$2","_allowed_naming$subexpression$1$ebnf$3"]},{name:"_allowed_naming",symbols:["_allowed_naming$subexpression$1"],postprocess:e=>e.flat(3).join("").trim()},{name:"_optional_space$ebnf$1",symbols:[]},{name:"_optional_space$ebnf$1",symbols:["_optional_space$ebnf$1",{literal:" "}],postprocess:e=>e[0].concat([e[1]])},{name:"_optional_space",symbols:["_optional_space$ebnf$1"]},{name:"_spacing$ebnf$1",symbols:[{literal:" "}]},{name:"_spacing$ebnf$1",symbols:["_spacing$ebnf$1",{literal:" "}],postprocess:e=>e[0].concat([e[1]])},{name:"_spacing",symbols:["_spacing$ebnf$1"]},{name:"_newline",symbols:["_optional_space",{literal:"\n"}]},{name:"_model$string$1",symbols:[{literal:"m"},{literal:"o"},{literal:"d"},{literal:"e"},{literal:"l"}],postprocess:e=>e.join("")},{name:"_model",symbols:["_model$string$1"]},{name:"_schema$string$1",symbols:[{literal:" "},{literal:" "},{literal:"s"},{literal:"c"},{literal:"h"},{literal:"e"},{literal:"m"},{literal:"a"}],postprocess:e=>e.join("")},{name:"_schema",symbols:["_schema$string$1"]},{name:"_period",symbols:[{literal:"."}]},{name:"_comma",symbols:[{literal:","}]},{name:"_version$subexpression$1$ebnf$1$subexpression$1",symbols:[/[0-9]/]},{name:"_version$subexpression$1$ebnf$1",symbols:["_version$subexpression$1$ebnf$1$subexpression$1"]},{name:"_version$subexpression$1$ebnf$1$subexpression$2",symbols:[/[0-9]/]},{name:"_version$subexpression$1$ebnf$1",symbols:["_version$subexpression$1$ebnf$1","_version$subexpression$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"_version$subexpression$1",symbols:["_version$subexpression$1$ebnf$1"]},{name:"_version$subexpression$2$ebnf$1$subexpression$1",symbols:[/[0-9]/]},{name:"_version$subexpression$2$ebnf$1",symbols:["_version$subexpression$2$ebnf$1$subexpression$1"]},{name:"_version$subexpression$2$ebnf$1$subexpression$2",symbols:[/[0-9]/]},{name:"_version$subexpression$2$ebnf$1",symbols:["_version$subexpression$2$ebnf$1","_version$subexpression$2$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"_version$subexpression$2",symbols:["_version$subexpression$2$ebnf$1"]},{name:"_version",symbols:["_version$subexpression$1","_period","_version$subexpression$2"]},{name:"_version_10$string$1",symbols:[{literal:"1"},{literal:"."},{literal:"0"}],postprocess:e=>e.join("")},{name:"_version_10",symbols:["_version_10$string$1"]},{name:"_version_11$string$1",symbols:[{literal:"1"},{literal:"."},{literal:"1"}],postprocess:e=>e.join("")},{name:"_version_11",symbols:["_version_11$string$1"]}],ParserStart:"types"};t.default=r},32242:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RewriteType=t.RelationDefOperator=t.parseDSL=void 0;var r=n(82672);Object.defineProperty(t,"parseDSL",{enumerable:!0,get:function(){return r.parseDSL}});var o=n(15820);Object.defineProperty(t,"RelationDefOperator",{enumerable:!0,get:function(){return o.RelationDefOperator}}),Object.defineProperty(t,"RewriteType",{enumerable:!0,get:function(){return o.RewriteType}})},82672:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseDSL=t.innerParseDSL=void 0;const o=n(69654),a=r(n(50459));t.innerParseDSL=e=>{const t=new o.Parser(o.Grammar.fromCompiled(a.default)),n=e.split("\n").map((e=>e.trimEnd())).join("\n")+"\n";return t.feed(n),t.results};t.parseDSL=e=>(0,t.innerParseDSL)(e)[0]||[]},15820:(e,t)=>{"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),t.RelationDefOperator=t.RewriteType=void 0,function(e){e.Direct="direct",e.ComputedUserset="computed_userset",e.TupleToUserset="tuple_to_userset"}(n||(t.RewriteType=n={})),function(e){e.Single="single",e.Union="union",e.Intersection="intersection",e.Exclusion="exclusion"}(r||(t.RelationDefOperator=r={}))},60098:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const i={entitlements:Promise.resolve().then((()=>a(n(65170)))),expenses:Promise.resolve().then((()=>a(n(19546)))),gdrive:Promise.resolve().then((()=>a(n(87737)))),generic:Promise.resolve().then((()=>a(n(1683)))),github:Promise.resolve().then((()=>a(n(39726)))),iot:Promise.resolve().then((()=>a(n(20095)))),slack:Promise.resolve().then((()=>a(n(15062)))),customRoles:Promise.resolve().then((()=>a(n(32918))))};t.default=i},90908:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PrismExtensions=t.MonacoExtensions=void 0;var r=n(79408);Object.defineProperty(t,"MonacoExtensions",{enumerable:!0,get:function(){return r.MonacoExtensions}});var o=n(25864);Object.defineProperty(t,"PrismExtensions",{enumerable:!0,get:function(){return o.PrismExtensions}})},79408:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoExtensions=void 0;const i=n(58369),s=n(21771),l=n(62110),c=a(n(71553));t.MonacoExtensions={LANGUAGE_NAME:i.LANGUAGE_NAME,registerDSL:s.registerDSL,monacoThemes:l.monacoThemes,languageDefinition:c,buildMonacoTheme:l.buildMonacoTheme}},71553:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.getLanguageConfiguration=void 0;const r=n(89082),o=n(50568),a=n(30252);t.getLanguageConfiguration=function(e){return{comments:{lineComment:"#"},brackets:[["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"(",close:")"}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"}],onEnterRules:[{beforeText:new RegExp("^\\s*(?:type|relations|model|define).*?:\\s*$"),action:{indentAction:e.languages.IndentAction.Indent}}],folding:{offSide:!0,markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}}},t.language={defaultToken:"",tokenPostfix:`.${o.LANGUAGE_NAME}`,keywords:[],operators:[],identifiers:new RegExp(/(?!self)(?:\w|-[a-zA-Z])*/),brackets:[{open:"[",close:"]",token:a.OpenFgaDslThemeToken.DELIMITER_BRACKET_TYPE_RESTRICTIONS},{open:"(",close:")",token:a.OpenFgaDslThemeToken.DELIMITER_BRACKET_RELATION_DEFINITION}],tokenizer:{root:[{include:"@whitespace"},[new RegExp(/^(\s*#).*/),a.OpenFgaDslThemeToken.COMMENT],[new RegExp(/(\[)(\s*)(@identifiers)(\s*)(\])/),["@brackets","@whitespace",a.OpenFgaDslThemeToken.VALUE_TYPE_RESTRICTIONS_TYPE,"@whitespace","@brackets"]],[new RegExp(/(,)(\s*)(@identifiers)(\s*)(\])/),[a.OpenFgaDslThemeToken.DELIMITER_COMMA_TYPE_RESTRICTIONS,"@whitespace",a.OpenFgaDslThemeToken.VALUE_TYPE_RESTRICTIONS_TYPE,"@whitespace","@brackets"]],[new RegExp(/(\[)(\s*)(@identifiers)(\s*)(,)/),["@brackets","@whitespace","type.type-restrictions.value","@whitespace",a.OpenFgaDslThemeToken.DELIMITER_COMMA_TYPE_RESTRICTIONS]],[new RegExp(/[{}[\]()]/),"@brackets"],[new RegExp(/(schema)(\s+)(\d\.\d)/),[a.OpenFgaDslThemeToken.KEYWORD_SCHEMA,"@whitespace",a.OpenFgaDslThemeToken.VALUE_SCHEMA]],[new RegExp(/(type)(\s+)(@identifiers)/),[a.OpenFgaDslThemeToken.KEYWORD_TYPE,"@whitespace",a.OpenFgaDslThemeToken.VALUE_TYPE_NAME]],[new RegExp(/(define)(\s+)(@identifiers)/),[a.OpenFgaDslThemeToken.KEYWORD_DEFINE,"@whitespace",a.OpenFgaDslThemeToken.VALUE_RELATION_NAME]],[new RegExp(/(or)(\s+)(@identifiers)/),[a.OpenFgaDslThemeToken.OPERATOR_OR,"@whitespace",a.OpenFgaDslThemeToken.VALUE_RELATION_COMPUTED]],[new RegExp(/(and)(\s+)(@identifiers)/),[a.OpenFgaDslThemeToken.OPERATOR_AND,"@whitespace",a.OpenFgaDslThemeToken.VALUE_RELATION_COMPUTED]],[new RegExp(/(but not)(\s+)(@identifiers)/),[a.OpenFgaDslThemeToken.OPERATOR_BUT_NOT,"@whitespace",a.OpenFgaDslThemeToken.VALUE_RELATION_COMPUTED]],[new RegExp(/(as)(\s+)(@identifiers)/),[a.OpenFgaDslThemeToken.KEYWORD_AS,"@whitespace",a.OpenFgaDslThemeToken.VALUE_RELATION_COMPUTED]],[new RegExp(/(:)(\s+)(@identifiers)/),[a.OpenFgaDslThemeToken.DELIMITER_DEFINE_COLON,"@whitespace",a.OpenFgaDslThemeToken.VALUE_RELATION_COMPUTED]],[new RegExp(/(@identifiers)(\s+)(from)(\s+)(@identifiers)/),[a.OpenFgaDslThemeToken.VALUE_RELATION_TUPLE_TO_USERSET_COMPUTED,"@whitespace",a.OpenFgaDslThemeToken.KEYWORD_FROM,"@whitespace",a.OpenFgaDslThemeToken.VALUE_RELATION_TUPLE_TO_USERSET_TUPLESET]],[new RegExp(/(@identifiers)(#)(@identifiers)/),[a.OpenFgaDslThemeToken.VALUE_TYPE_RESTRICTIONS_TYPE,a.OpenFgaDslThemeToken.DELIMITER_HASHTAG_TYPE_RESTRICTIONS,a.OpenFgaDslThemeToken.VALUE_TYPE_RESTRICTIONS_RELATION]],[new RegExp(/(@identifiers)(:)(\*)/),[a.OpenFgaDslThemeToken.VALUE_TYPE_RESTRICTIONS_TYPE,a.OpenFgaDslThemeToken.DELIMITER_COLON_TYPE_RESTRICTIONS,a.OpenFgaDslThemeToken.VALUE_TYPE_RESTRICTIONS_WILDCARD]],[":",a.OpenFgaDslThemeToken.DELIMITER_DEFINE_COLON],[",",a.OpenFgaDslThemeToken.DELIMITER_COMMA_TYPE_RESTRICTIONS],[r.Keyword.BUT_NOT,a.OpenFgaDslThemeToken.OPERATOR_BUT_NOT],[r.Keyword.SELF,a.OpenFgaDslThemeToken.KEYWORD_SELF],[new RegExp(/@identifiers/),{cases:{[r.Keyword.AND]:a.OpenFgaDslThemeToken.OPERATOR_AND,[r.Keyword.OR]:a.OpenFgaDslThemeToken.OPERATOR_OR,[r.Keyword.TYPE]:a.OpenFgaDslThemeToken.KEYWORD_TYPE,[r.Keyword.RELATIONS]:a.OpenFgaDslThemeToken.KEYWORD_RELATIONS,[r.Keyword.DEFINE]:a.OpenFgaDslThemeToken.KEYWORD_DEFINE,[r.Keyword.FROM]:a.OpenFgaDslThemeToken.KEYWORD_FROM,[r.Keyword.AS]:a.OpenFgaDslThemeToken.KEYWORD_AS,[r.Keyword.MODEL]:a.OpenFgaDslThemeToken.KEYWORD_MODEL,[r.Keyword.SCHEMA]:{token:a.OpenFgaDslThemeToken.KEYWORD_SCHEMA},"@default":a.OpenFgaDslThemeToken.VALUE_RELATION_TUPLE_TO_USERSET_TUPLESET}}]],whitespace:[[new RegExp(/\s+/),"white"],[new RegExp(/(^(\s+#).*$)/),a.OpenFgaDslThemeToken.COMMENT]]}}},77807:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.provideCodeActions=void 0;const r=n(89082),o=n(81908),a=n(13012),i=n(28442),s={[o.ValidationError.MissingDefinition]:{[a.SchemaVersion.OneDotZero]:({model:e,marker:t,relation:n})=>{const o=e.getLineContent(t.startLineNumber);return{startColumn:0,title:`Fix: add definition for \`${n}\`.`,text:`${i.SINGLE_INDENTATION}${i.SINGLE_INDENTATION}${r.Keyword.DEFINE} ${n} ${r.Keyword.AS} ${r.Keyword.SELF}\n${o}`}},[a.SchemaVersion.OneDotOne]:({model:e,marker:t,relation:n})=>{const o=e.getLineContent(t.startLineNumber);return{startColumn:0,title:`Fix: add definition for \`${n}\`.`,text:`${i.SINGLE_INDENTATION}${i.SINGLE_INDENTATION}${r.Keyword.DEFINE} ${n}: [typeName]\n${o}`}}},[o.ValidationError.SelfError]:{[a.SchemaVersion.OneDotZero]:({text:e})=>({title:`Fix: replace \`${e}\` by \`self\`.`,text:r.Keyword.SELF}),[a.SchemaVersion.OneDotOne]:({text:e})=>({title:`Fix: replace \`${e}\` with type restrictions.`,text:"[typeName]"})},[o.ValidationError.DuplicatedError]:{[a.SchemaVersion.OneDotZero]:({model:e,marker:t,markerRange:n,text:r})=>({startLineNumber:n.startLineNumber-1,startColumn:e.getLineContent(t.startLineNumber-1).length+1,title:`Fix: remove duplicated \`${r}\`.`,text:""}),[a.SchemaVersion.OneDotOne]:({model:e,marker:t,markerRange:n,text:r})=>({startLineNumber:n.startLineNumber-1,startColumn:e.getLineContent(t.startLineNumber-1).length+1,title:`Fix: remove duplicated \`${r}\`.`,text:""})}};t.provideCodeActions=(e,t)=>(n,r,o)=>{const a=[];return o.markers.map((r=>{const o=n.getOffsetAt({column:r.startColumn,lineNumber:r.startLineNumber}),i=n.getOffsetAt({column:r.endColumn,lineNumber:r.endLineNumber}),l=n.getValue().substr(o,i-o),c=function({markerRange:e,model:t,marker:n,text:r,schemaVersion:o}){var a,i;const{error:l,relation:c}=n.extraInformation||{},u=null===(i=null===(a=s[l])||void 0===a?void 0:a[o])||void 0===i?void 0:i.call(a,{model:t,marker:n,markerRange:e,text:r,relation:c});if(u)return{title:null==u?void 0:u.title,diagnostics:[n],edit:{edits:[{textEdit:{range:e,text:u.text},resource:t.uri,versionId:void 0}]},kind:"quickfix"}}({markerRange:new e.Range(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn),model:n,marker:r,text:l,schemaVersion:t});c&&a.push(c)})).filter((e=>e)),{actions:a,dispose(){}}}},87968:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.provideCompletionItems=void 0;const r=n(28442),o=n(89082),a=n(46100),i=n(13012),s=n(40801);function l(e,t,n,r={}){const o=[];return["entitlements","expenses","gdrive","generic","github","iot","slack","customRoles"].forEach((a=>{const l=null==r?void 0:r[a];l&&o.push({label:`sample-${a}`,kind:e.languages.CompletionItemKind.Struct,insertText:(0,s.apiSyntaxToFriendlySyntax)(n===i.SchemaVersion.OneDotOne?l:{schema_version:i.SchemaVersion.OneDotZero,type_definitions:l.type_definitions.map((e=>({type:e.type,relations:e.relations})))}),range:t})})),o}t.provideCompletionItems=(e,t=i.SchemaVersion.OneDotZero,n={})=>(s,c)=>{switch(t){case i.SchemaVersion.OneDotZero:return((e,t={})=>(n,r)=>{let a=[];const s=n.getWordUntilPosition(r),c={startLineNumber:r.lineNumber,endLineNumber:r.lineNumber,startColumn:s.startColumn,endColumn:s.endColumn};return a=2===r.column?[{label:o.Keyword.TYPE,kind:e.languages.CompletionItemKind.Function,insertText:`${o.Keyword.TYPE} \${1:typeName}\n ${o.Keyword.RELATIONS}\n ${o.Keyword.DEFINE} \${2:relation} as \${3:self}`,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c},{label:"type_group",kind:e.languages.CompletionItemKind.Function,insertText:`${o.Keyword.TYPE} \${1:group}\n ${o.Keyword.RELATIONS}\n ${o.Keyword.DEFINE} \${2:member} as \${3:self}`,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c},{label:o.Keyword.TYPE,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.TYPE,range:c}]:4===r.column?[{label:o.Keyword.RELATIONS,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.RELATIONS,range:c}]:r.column>6?[{label:o.Keyword.OR,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.OR,range:c},{label:o.Keyword.AS,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.AS,range:c},{label:o.Keyword.SELF,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.SELF,range:c},{label:o.Keyword.FROM,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.FROM,range:c}]:6===r.column?[{label:"define",kind:e.languages.CompletionItemKind.Function,insertText:"define ${1:relation} as ${2:self}",insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c},{label:"define-from-other-relation",kind:e.languages.CompletionItemKind.Function,insertText:"define ${1:relation} as ${2:other_relation}",insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c},{label:"define-from-object",kind:e.languages.CompletionItemKind.Function,insertText:"define ${1:relation} as ${2:relation_in_other_object} from ${2:another_relation}",insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:c},{label:"define",kind:e.languages.CompletionItemKind.Keyword,insertText:"define",range:c}]:l(e,c,i.SchemaVersion.OneDotOne,t.samples),{suggestions:a}})(e,n)(s,c);case i.SchemaVersion.OneDotOne:return((e,t={})=>(n,a)=>{let s=[];const c=n.getWordUntilPosition(a),u={startLineNumber:a.lineNumber,endLineNumber:a.lineNumber,startColumn:c.startColumn,endColumn:c.endColumn};return s=2===a.column?[{label:o.Keyword.TYPE,kind:e.languages.CompletionItemKind.Function,insertText:`${o.Keyword.TYPE} \${1:typeName}\n${r.SINGLE_INDENTATION}${o.Keyword.RELATIONS}\n${r.SINGLE_INDENTATION}${r.SINGLE_INDENTATION}${o.Keyword.DEFINE} \${2:relationName}: [\${3:typeName}]`,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:u},{label:"type_group",kind:e.languages.CompletionItemKind.Function,insertText:`${o.Keyword.TYPE} \${1:group}\n${r.SINGLE_INDENTATION}${o.Keyword.RELATIONS}\n${r.SINGLE_INDENTATION}${r.SINGLE_INDENTATION}${o.Keyword.DEFINE} \${2:member}: [\${3:user, group#member}]`,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:u},{label:o.Keyword.TYPE,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.TYPE,range:u},{label:o.Keyword.MODEL,kind:e.languages.CompletionItemKind.Function,insertText:`${o.Keyword.MODEL}\n${r.SINGLE_INDENTATION}${o.Keyword.SCHEMA} \${1:1.1}`,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:u},{label:o.Keyword.MODEL,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.TYPE,range:u}]:4===a.column?[{label:o.Keyword.RELATIONS,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.RELATIONS,range:u}]:a.column>6?[{label:o.Keyword.OR,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.OR,range:u},{label:o.Keyword.AND,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.AND,range:u},{label:o.Keyword.BUT_NOT,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.BUT_NOT,range:u},{label:o.Keyword.FROM,kind:e.languages.CompletionItemKind.Function,insertText:`\${1:relation1} ${o.Keyword.FROM} \${1:relation2}`,insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:u},{label:o.Keyword.FROM,kind:e.languages.CompletionItemKind.Keyword,insertText:o.Keyword.FROM,range:u}]:6===a.column?[{label:"define-assignable",kind:e.languages.CompletionItemKind.Function,insertText:"define ${1:relationName}: [${2:typeName}]",insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:u},{label:"define-from-other-relation",kind:e.languages.CompletionItemKind.Function,insertText:"define ${1:relationName}: ${2:otherRelationName}",insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:u},{label:"define-from-other-relation-assignable",kind:e.languages.CompletionItemKind.Function,insertText:"define ${1:relationName}: [${2:typeName}] or ${3:otherRelationName}",insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:u},{label:"define-from-object",kind:e.languages.CompletionItemKind.Function,insertText:"define ${1:relationName}: ${2:relationInRelatedObject} from ${3:relationInThisType}}",insertTextRules:e.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:u},{label:"define",kind:e.languages.CompletionItemKind.Keyword,insertText:"define",range:u}]:l(e,u,i.SchemaVersion.OneDotOne,t.samples),{suggestions:s}})(e,n)(s,c);default:(0,a.assertNever)(t)}}},14001:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.providerHover=t.defaultDocumentationMap=void 0;const r=n(89082);t.defaultDocumentationMap={[r.Keyword.TYPE]:{summary:"A type or grouping of objects that have similar characteristics. For example:\n- workspace\n- repository\n- organization\n- document",link:"https://openfga.dev/docs/concepts#what-is-a-type"},[r.Keyword.RELATIONS]:{summary:"A **relation** defines the possible relationship between an [object](https://openfga.dev/docs/concepts#what-is-an-object) and a [user](https://openfga.dev/docs/concepts#what-is-a-user).",link:"https://openfga.dev/docs/concepts#what-is-a-relation"},[r.Keyword.SELF]:{summary:"Allows direct relationship between users and objects if there is a tuple between the user and the object.",link:"https://openfga.dev/docs/configuration-language#the-direct-relationship-keyword"},[r.Keyword.AND]:{summary:"The intersection operator used to indicate that a relationship exists if the user is in all the sets of users.",link:"https://openfga.dev/docs/configuration-language#the-intersection-operator"},[r.Keyword.OR]:{summary:"he union operator is used to indicate that a relationship exists if the user is in any of the sets of users",link:"https://openfga.dev/docs/configuration-language#the-union-operator"},[r.Keyword.BUT_NOT]:{summary:"The exclusion operator is used to indicate that a relationship exists if the user is in the base userset, but not in the excluded userset.",link:"https://openfga.dev/docs/configuration-language#the-exclusion-operator"},[r.Keyword.FROM]:{summary:"Allows referencing relations on related objects.",link:"https://openfga.dev/docs/configuration-language#referencing-relations-on-related-objects"},[r.Keyword.SCHEMA]:{summary:"Defines the schema version to be used, 1.0 or 1.1. Note that we are planning to deprecate the 1.0 schema soon.",link:"https://openfga.dev/docs//modeling/migrating-schema-1-1"}};t.providerHover=(e,n=t.defaultDocumentationMap)=>(t,r)=>{const o=t.getWordAtPosition(r);if(!o)return;const{startColumn:a,endColumn:i,word:s}=o,l=function(e,t){const n=t[e];if(!n)return;const{link:r,summary:o}=n,a=[{value:"**Documentation**"},{value:o}];return r&&a.push({value:`[Learn more](${r})`}),a}(s,n);return l?{range:new e.Range(r.lineNumber,a,r.lineNumber,i),contents:l}:void 0}},21771:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.registerDSL=void 0;const r=n(71553),o=n(50568),a=n(14001),i=n(87968),s=n(77807),l=n(13012);t.registerDSL=(e,t=l.SchemaVersion.OneDotZero,n)=>{!!e.languages.getLanguages().find((e=>e.id===o.LANGUAGE_NAME))||(e.languages.register({id:o.LANGUAGE_NAME}),e.languages.setLanguageConfiguration(o.LANGUAGE_NAME,(0,r.getLanguageConfiguration)(e)),e.languages.setMonarchTokensProvider(o.LANGUAGE_NAME,r.language),e.languages.registerHoverProvider(o.LANGUAGE_NAME,{provideHover:(0,a.providerHover)(e,n.documentationMap)}),e.languages.registerCompletionItemProvider(o.LANGUAGE_NAME,{provideCompletionItems:(0,i.provideCompletionItems)(e,t)}),e.languages.registerCodeActionProvider(o.LANGUAGE_NAME,{provideCodeActions:(0,s.provideCodeActions)(e,t)}))}},62110:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.buildMonacoTheme=t.monacoThemes=void 0;const r=n(58369),o=n(30252),a=n(71209);function i(e){return{base:e.baseTheme||"vs",inherit:!1,colors:{"editor.background":e.background.color},rules:Object.values(o.OpenFgaDslThemeToken).map((t=>{const n=(0,a.getThemeTokenStyle)(t,e);return Object.assign({token:`${t}.${r.LANGUAGE_NAME}`},n)}))}}t.buildMonacoTheme=i;const s={};t.monacoThemes=s,Object.values(o.SupportedTheme).forEach((e=>{s[e]=i(o.supportedThemes[e])}))},25864:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PrismExtensions=void 0;const r=n(24524),o=n(58369);t.PrismExtensions={LANGUAGE_NAME:o.LANGUAGE_NAME,languageDefinition:r.languageDefinition}},24524:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.languageDefinition=void 0;const r=n(30252);t.languageDefinition={[r.OpenFgaDslThemeTokenType.COMMENT]:{pattern:/^\s*#.*/},[r.OpenFgaDslThemeTokenType.KEYWORD]:/\b(type|relations|define|and|or|but not|from|as|model|schema)\b/,[r.OpenFgaDslThemeTokenType.TYPE]:{pattern:/(\btype\s+)\w+/i,lookbehind:!0,greedy:!0},[r.OpenFgaDslThemeTokenType.RELATION]:{pattern:/(\bdefine\s+)\w+/i,lookbehind:!0,greedy:!0},[r.OpenFgaDslThemeTokenType.DIRECTLY_ASSIGNABLE]:/\[.*]|self/}},30252:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.supportedThemes=t.languageDefinition=void 0;const a=n(9182),i=n(10127);o(n(10127),t);var s=n(24524);Object.defineProperty(t,"languageDefinition",{enumerable:!0,get:function(){return s.languageDefinition}}),t.supportedThemes={[i.SupportedTheme.OpenFgaDark]:a.openfgaDark}},9182:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.openfgaDark=void 0;const r=n(10127);t.openfgaDark={name:"openfga-dark",baseTheme:"vs-dark",background:{color:"#141517"},colors:{[r.OpenFgaDslThemeTokenType.DEFAULT]:"#FFFFFF",[r.OpenFgaDslThemeTokenType.COMMENT]:"#737981",[r.OpenFgaDslThemeTokenType.KEYWORD]:"#AAAAAA",[r.OpenFgaDslThemeTokenType.TYPE]:"#79ED83",[r.OpenFgaDslThemeTokenType.RELATION]:"#20F1F5",[r.OpenFgaDslThemeTokenType.DIRECTLY_ASSIGNABLE]:"#CEEC93"},styles:{}}},10127:(e,t)=>{"use strict";var n,r,o;Object.defineProperty(t,"__esModule",{value:!0}),t.SupportedTheme=t.OpenFgaDslThemeToken=t.OpenFgaDslThemeTokenType=void 0,function(e){e.DEFAULT="default",e.COMMENT="comment",e.KEYWORD="keyword",e.TYPE="type",e.RELATION="relation",e.DIRECTLY_ASSIGNABLE="directly-assignable"}(n||(t.OpenFgaDslThemeTokenType=n={})),function(e){e.COMMENT="comment",e.DELIMITER_BRACKET_RELATION_DEFINITION="relation-definition.bracket.delimiter",e.DELIMITER_BRACKET_TYPE_RESTRICTIONS="type-restrictions.bracket.delimiter",e.DELIMITER_COLON_TYPE_RESTRICTIONS="colon.type-restrictions.delimiter",e.DELIMITER_COMMA_TYPE_RESTRICTIONS="comma.type-restrictions.delimiter",e.DELIMITER_DEFINE_COLON="colon.define.delimiter",e.DELIMITER_HASHTAG_TYPE_RESTRICTIONS="hashtag.type-restrictions.delimiter",e.KEYWORD_AS="as.keyword",e.KEYWORD_DEFINE="define.keyword",e.KEYWORD_FROM="from.keyword",e.KEYWORD_MODEL="model.keyword",e.KEYWORD_RELATIONS="relations.keyword",e.KEYWORD_SCHEMA="schema.keyword",e.KEYWORD_SELF="self.keyword",e.KEYWORD_TYPE="type.keyword",e.OPERATOR_AND="intersection.operator",e.OPERATOR_BUT_NOT="exclusion.operator",e.OPERATOR_OR="union.operator",e.VALUE_RELATION_COMPUTED="computed.relation.value",e.VALUE_RELATION_NAME="name.relation.value",e.VALUE_RELATION_TUPLE_TO_USERSET_COMPUTED="computed.tupletouserset.relation.value",e.VALUE_RELATION_TUPLE_TO_USERSET_TUPLESET="tupleset.tupletouserset.relation.value",e.VALUE_SCHEMA="schema.value",e.VALUE_TYPE_NAME="name.type.value",e.VALUE_TYPE_RESTRICTIONS_RELATION="relation.type-restrictions.value",e.VALUE_TYPE_RESTRICTIONS_TYPE="type.type-restrictions.value",e.VALUE_TYPE_RESTRICTIONS_WILDCARD="wildcard.type-restrictions.value"}(r||(t.OpenFgaDslThemeToken=r={})),function(e){e.OpenFgaDark="openfga-dark"}(o||(t.SupportedTheme=o={}))},71209:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getThemeTokenStyle=void 0;const r=n(10127),o={[r.OpenFgaDslThemeToken.COMMENT]:r.OpenFgaDslThemeTokenType.COMMENT,[r.OpenFgaDslThemeToken.DELIMITER_BRACKET_RELATION_DEFINITION]:r.OpenFgaDslThemeTokenType.DEFAULT,[r.OpenFgaDslThemeToken.DELIMITER_BRACKET_TYPE_RESTRICTIONS]:r.OpenFgaDslThemeTokenType.DIRECTLY_ASSIGNABLE,[r.OpenFgaDslThemeToken.DELIMITER_COLON_TYPE_RESTRICTIONS]:r.OpenFgaDslThemeTokenType.DIRECTLY_ASSIGNABLE,[r.OpenFgaDslThemeToken.DELIMITER_COMMA_TYPE_RESTRICTIONS]:r.OpenFgaDslThemeTokenType.DIRECTLY_ASSIGNABLE,[r.OpenFgaDslThemeToken.DELIMITER_DEFINE_COLON]:r.OpenFgaDslThemeTokenType.DEFAULT,[r.OpenFgaDslThemeToken.DELIMITER_HASHTAG_TYPE_RESTRICTIONS]:r.OpenFgaDslThemeTokenType.DIRECTLY_ASSIGNABLE,[r.OpenFgaDslThemeToken.KEYWORD_AS]:r.OpenFgaDslThemeTokenType.KEYWORD,[r.OpenFgaDslThemeToken.KEYWORD_DEFINE]:r.OpenFgaDslThemeTokenType.KEYWORD,[r.OpenFgaDslThemeToken.KEYWORD_FROM]:r.OpenFgaDslThemeTokenType.KEYWORD,[r.OpenFgaDslThemeToken.KEYWORD_MODEL]:r.OpenFgaDslThemeTokenType.KEYWORD,[r.OpenFgaDslThemeToken.KEYWORD_RELATIONS]:r.OpenFgaDslThemeTokenType.KEYWORD,[r.OpenFgaDslThemeToken.KEYWORD_SCHEMA]:r.OpenFgaDslThemeTokenType.KEYWORD,[r.OpenFgaDslThemeToken.KEYWORD_SELF]:r.OpenFgaDslThemeTokenType.DIRECTLY_ASSIGNABLE,[r.OpenFgaDslThemeToken.KEYWORD_TYPE]:r.OpenFgaDslThemeTokenType.KEYWORD,[r.OpenFgaDslThemeToken.OPERATOR_AND]:r.OpenFgaDslThemeTokenType.KEYWORD,[r.OpenFgaDslThemeToken.OPERATOR_BUT_NOT]:r.OpenFgaDslThemeTokenType.KEYWORD,[r.OpenFgaDslThemeToken.OPERATOR_OR]:r.OpenFgaDslThemeTokenType.KEYWORD,[r.OpenFgaDslThemeToken.VALUE_RELATION_COMPUTED]:r.OpenFgaDslThemeTokenType.DEFAULT,[r.OpenFgaDslThemeToken.VALUE_RELATION_NAME]:r.OpenFgaDslThemeTokenType.RELATION,[r.OpenFgaDslThemeToken.VALUE_RELATION_TUPLE_TO_USERSET_COMPUTED]:r.OpenFgaDslThemeTokenType.DEFAULT,[r.OpenFgaDslThemeToken.VALUE_RELATION_TUPLE_TO_USERSET_TUPLESET]:r.OpenFgaDslThemeTokenType.DEFAULT,[r.OpenFgaDslThemeToken.VALUE_SCHEMA]:r.OpenFgaDslThemeTokenType.DEFAULT,[r.OpenFgaDslThemeToken.VALUE_TYPE_NAME]:r.OpenFgaDslThemeTokenType.TYPE,[r.OpenFgaDslThemeToken.VALUE_TYPE_RESTRICTIONS_RELATION]:r.OpenFgaDslThemeTokenType.DIRECTLY_ASSIGNABLE,[r.OpenFgaDslThemeToken.VALUE_TYPE_RESTRICTIONS_TYPE]:r.OpenFgaDslThemeTokenType.DIRECTLY_ASSIGNABLE,[r.OpenFgaDslThemeToken.VALUE_TYPE_RESTRICTIONS_WILDCARD]:r.OpenFgaDslThemeTokenType.DIRECTLY_ASSIGNABLE};t.getThemeTokenStyle=function(e,t){var n,a,i;return{foreground:(null===(n=t.rawColorOverrides)||void 0===n?void 0:n[e])||t.colors[o[e||r.OpenFgaDslThemeTokenType.DEFAULT]],fontStyle:(null===(a=t.rawStylesOverrides)||void 0===a?void 0:a[e])||(null===(i=t.styles)||void 0===i?void 0:i[o[e||r.OpenFgaDslThemeTokenType.DEFAULT]])}}},50313:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.apiSyntaxToFriendlySyntax=void 0;const r=n(89082),o=(e,t,n,o)=>{Object.keys(e).forEach((a=>{"this"===a&&(n&&"1.0"!==n?t.push(o):t.push(r.Keyword.SELF)),"tupleToUserset"===a&&t.push(`${e[a].computedUserset.relation} ${r.Keyword.FROM} ${e[a].tupleset.relation}`),"computedUserset"===a&&t.push(`${e[a].relation}`)}))},a=(e,t,n,a,i,s,l)=>{var c,u;const d=Object.keys(t),p=null===(c=null==i?void 0:i.relations)||void 0===c?void 0:c[e],f=(null===(u=null==p?void 0:p.directly_related_user_types)||void 0===u?void 0:u.map((e=>e.relation?`${e.type}#${e.relation}`:e.wildcard?`${e.type}:*`:e.type)))||[],m=f.length?`[${f.join(",")}]`:"",h=[` ${r.Keyword.DEFINE} ${e}${l&&"1.0"!==l?": ":` ${r.Keyword.AS} `}`];o(t,h,l,m),d.forEach((e=>{if("union"===e){const n=t[e].child;n.forEach(((e,t)=>{o(e,h,l,m),t{o(e,h,l,m),t{const i=o||(null==e?void 0:e.schema_version),s=null==e?void 0:e.type_definitions;return s?(i&&((e,t)=>{t.push(`${r.Keyword.MODEL}`),t.push(` ${r.Keyword.SCHEMA} ${e}`)})(i,n),s.forEach((e=>{(0,t.apiSyntaxToFriendlySyntax)(e,n,i)}))):e&&((e,t,n)=>{if(null==e?void 0:e.type){if(t.push(`${r.Keyword.TYPE} ${e.type}`),(null==e?void 0:e.relations)&&Object.keys(null==e?void 0:e.relations).length){t.push(` ${r.Keyword.RELATIONS}`);Object.keys(e.relations).forEach(((r,o)=>{const i=e.relations[r];a(r,i,0,0,e.metadata,t,n)}))}}else{const r=Object.keys(e||{});if(!r.length)return;const o=r[0],i=e[o];a(o,i,0,0,void 0,t,n)}})(e,n,i),n.join("\n")+"\n"}},48910:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.friendlySyntaxToApiSyntax=void 0;const r=n(32242),o=n(46100),a=n(13012),i=n(58369),s=e=>{switch(e.rewrite){case r.RewriteType.Direct:return{this:{}};case r.RewriteType.ComputedUserset:return{computedUserset:{object:"",relation:e.target}};case r.RewriteType.TupleToUserset:return{tupleToUserset:{tupleset:{object:"",relation:e.from},computedUserset:{object:"",relation:e.target}}};default:(0,o.assertNever)(e.rewrite)}};t.friendlySyntaxToApiSyntax=e=>{const t=(0,r.parseDSL)(e),n=t.schemaVersion||i.DEFAULT_SCHEMA_VERSION,l=t.types.map((({type:e,relations:t})=>{const i={},l={};let c=!1;return t.forEach((e=>{const{relation:t,allowedTypes:n,definition:a}=e;switch(a.type){case r.RelationDefOperator.Single:i[t]=s(a.targets[0]);break;case r.RelationDefOperator.Exclusion:i[t]={difference:{base:Object.assign({},s(a.base)),subtract:Object.assign({},s(a.diff))}};break;case r.RelationDefOperator.Union:i[t]={union:{child:a.targets.map((e=>s(e)))}};break;case r.RelationDefOperator.Intersection:i[t]={intersection:{child:a.targets.map((e=>s(e)))}};break;default:(0,o.assertNever)(a.type)}l[t]={directly_related_user_types:[]},null==n||n.forEach((e=>{c=!0;const n=e.includes(":*");e=e.replace(":*","");const[r,o]=e.split("#"),a={type:r};o&&(a.relation=o),n&&(a.wildcard={}),l[t].directly_related_user_types.push(a)}))})),c&&n===a.SchemaVersion.OneDotOne?{type:e,relations:i,metadata:{relations:l}}:{type:e,relations:i}}));return{schema_version:t.schemaVersion,type_definitions:l}}},30620:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(48910),o={apiSyntaxToFriendlySyntax:n(50313).apiSyntaxToFriendlySyntax,friendlySyntaxToApiSyntax:r.friendlySyntaxToApiSyntax};t.default=o},34357:(e,t)=>{"use strict";var n,r,o;Object.defineProperty(t,"__esModule",{value:!0}),t.RelationType=t.GraphEdgeGroup=t.GraphNodeGroup=void 0,function(e){e.AssignableRelation="assignable-relation",e.NonassignableRelation="nonassignable-relation",e.Type="type",e.StoreName="store-name",e.Default="default",e.Check="check"}(n||(t.GraphNodeGroup=n={})),function(e){e.StoreToType="store-to-type",e.TypeToRelation="type-to-relation",e.RelationToRelation="relation-to-relation",e.Default="default"}(r||(t.GraphEdgeGroup=r={})),function(e){e.DirectUsers="Direct Users",e.ComputedUserset="Related From Same Object",e.TupleToUserset="Related From Related Objects"}(o||(t.RelationType=o={}))},88729:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.AuthorizationModelGraphBuilder=t.TreeBuilder=void 0,o(n(34357),t);var a=n(56597);Object.defineProperty(t,"TreeBuilder",{enumerable:!0,get:function(){return a.TreeBuilder}});var i=n(27207);Object.defineProperty(t,"AuthorizationModelGraphBuilder",{enumerable:!0,get:function(){return i.AuthorizationModelGraphBuilder}})},27207:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AuthorizationModelGraphBuilder=void 0;const r=n(34357);t.AuthorizationModelGraphBuilder=class{constructor(e,t){this.authorizationModel=e,this.store=t,this._graph={nodes:[],edges:[]},this.buildGraph()}buildGraph(){var e,t;const n=(null===(e=this.store)||void 0===e?void 0:e.name)||"Store",o={nodes:[{id:`store|${n}`,label:n,group:r.GraphNodeGroup.StoreName}],edges:[]};null===(t=this.authorizationModel.type_definitions)||void 0===t||t.forEach((e=>{const t=this.getTypeGraph(e,o);o.nodes=o.nodes.concat(t.nodes),o.edges=o.edges.concat(t.edges)})),this._graph=o}checkIfRelationAssignable(e){var t,n,r,o;return!!(e.this||(null===(t=e.difference)||void 0===t?void 0:t.base.this)||(null===(n=e.difference)||void 0===n?void 0:n.subtract.this)||((null===(r=e.intersection)||void 0===r?void 0:r.child)||[]).some((e=>this.checkIfRelationAssignable(e)))||((null===(o=e.union)||void 0===o?void 0:o.child)||[]).some((e=>this.checkIfRelationAssignable(e))))}addRelationToRelationEdge(e,t,n,o){e.edges.push({from:`${t}.relation|${n}`,to:`${t}.relation|${o.relation}`,group:r.GraphEdgeGroup.RelationToRelation})}getTypeGraph(e,t){const n=`type|${e.type}`,o={nodes:[{id:n,label:e.type,group:r.GraphNodeGroup.Type}],edges:[{from:t.nodes[0].id,to:n,group:r.GraphEdgeGroup.StoreToType}]},a=(null==e?void 0:e.relations)||{};return Object.keys(a).forEach((e=>{var t;const i=`${n}.relation|${e}`,s=a[e]||{},l=this.checkIfRelationAssignable(s);o.nodes.push({id:i,label:e,group:l?r.GraphNodeGroup.AssignableRelation:r.GraphNodeGroup.NonassignableRelation}),o.edges.push({from:n,to:i,group:r.GraphEdgeGroup.TypeToRelation}),s.computedUserset?this.addRelationToRelationEdge(o,n,e,s.computedUserset):((null===(t=s.union)||void 0===t?void 0:t.child)||[]).forEach((t=>{t.computedUserset&&this.addRelationToRelationEdge(o,n,e,t.computedUserset)}))})),o}get graph(){return this._graph}}},56597:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.TreeBuilder=void 0;const o=n(34357),a=e=>{const t=e.split("#"),n="*"===t[1]||"*"===e;return{object:t[0],relation:n?void 0:t[1],isWildcard:n}};t.TreeBuilder=class{constructor(e,t,n,r){this.openFgaApi=e,this.capturedTuple=t,this.existingTree=n,this.authorizationModelId=r,this.expandedTuples={},n&&(this.currentTree=n)}addParent(e,t,n,r){this.currentTree&&(this.currentTree[e]||(this.currentTree[e]={parents:{}}),this.currentTree[e].parents[t]={inActivePath:r,type:n},t===`${this.capturedTuple.object}#${this.capturedTuple.relation}`&&(this.currentTree[this.capturedTuple.object]||(this.currentTree[this.capturedTuple.object]={parents:{},inActivePath:!0}),this.addParent(`${this.capturedTuple.object}#${this.capturedTuple.relation}`,this.capturedTuple.object,void 0,!0)))}expandTuple(e){return r(this,void 0,void 0,(function*(){return this.openFgaApi.expand({tuple_key:{relation:e.relation,object:e.object},authorization_model_id:this.authorizationModelId})}))}walkDirectUser(e,t){return r(this,void 0,void 0,(function*(){const n=a(t);this.addParent(t,e.name,o.RelationType.DirectUsers),n.relation&&(yield this.walk(n))}))}walkDirectUsers(e){var t,n;return r(this,void 0,void 0,(function*(){const o=(null===(n=null===(t=null==e?void 0:e.leaf)||void 0===t?void 0:t.users)||void 0===n?void 0:n.users)||[];yield Promise.all(o.map((t=>r(this,void 0,void 0,(function*(){return this.walkDirectUser(e,t)})))))}))}walkComputedUserSet(e,t,n){return r(this,void 0,void 0,(function*(){if(!t||2!==t.split(":").length)return;this.addParent(t,e.name,n?o.RelationType.TupleToUserset:o.RelationType.ComputedUserset);const r=a(t);yield this.walk(r)}))}walkTupleToUserset(e){var t,n;return r(this,void 0,void 0,(function*(){const r=null===(n=null===(t=e.leaf)||void 0===t?void 0:t.tupleToUserset)||void 0===n?void 0:n.tupleset;if(!r)return;const o=a(r);yield this.walk(o)}))}getNodeType(e){var t,n,r,a,i,s;return(null===(n=null===(t=null==e?void 0:e.leaf)||void 0===t?void 0:t.computed)||void 0===n?void 0:n.userset)?o.RelationType.ComputedUserset:(null===(a=null===(r=null==e?void 0:e.leaf)||void 0===r?void 0:r.tupleToUserset)||void 0===a?void 0:a.computed)?o.RelationType.TupleToUserset:(null===(s=null===(i=null==e?void 0:e.union)||void 0===i?void 0:i.nodes)||void 0===s?void 0:s.length)?void 0:o.RelationType.DirectUsers}walkNode(e){var t,n,a,i,s;return r(this,void 0,void 0,(function*(){const l=[];switch(this.getNodeType(e)){case o.RelationType.DirectUsers:l.push(this.walkDirectUsers(e));break;case o.RelationType.ComputedUserset:const c=null===(n=null===(t=e.leaf)||void 0===t?void 0:t.computed)||void 0===n?void 0:n.userset;l.push(this.walkComputedUserSet(e,c));break;case o.RelationType.TupleToUserset:l.push(this.walkTupleToUserset(e));const u=(null===(i=null===(a=e.leaf)||void 0===a?void 0:a.tupleToUserset)||void 0===i?void 0:i.computed)||[];l.push(...u.map((t=>r(this,void 0,void 0,(function*(){return this.walkComputedUserSet(e,t.userset,!0)})))));break;default:const d=(null===(s=e.union)||void 0===s?void 0:s.nodes)||[];l.push(...d.map((e=>r(this,void 0,void 0,(function*(){return this.walkNode(e)})))))}yield Promise.all(l)}))}walk(e){var t;return r(this,void 0,void 0,(function*(){const n=`${e.object}#${e.relation}`;if(!e.relation||this.expandedTuples[n])return;this.currentTree&&!this.currentTree[n]&&(this.currentTree[n]={parents:{}}),this.expandedTuples[n]=!0;const r=yield this.expandTuple(e),o=null===(t=r.tree)||void 0===t?void 0:t.root;yield this.walkNode(o)}))}deleteHangingNodes(){const{tree:e={}}=this;Object.keys(e).forEach((t=>{const{parents:n}=e[t];Object.keys(n).length||t===this.capturedTuple.object||delete e[t]}))}get tree(){return this.currentTree}buildTree(){return r(this,void 0,void 0,(function*(){this.tree||(this.currentTree={},yield this.walk(this.capturedTuple))}))}fillActivePath(e){const{tree:t={}}=this,{object:n}=this.capturedTuple,r=JSON.parse(JSON.stringify(t));let o=["*",e];const a={};for(;o.length;){const e={};o.forEach((t=>{a[t]||(a[t]=!0,r[t]&&(r[t].parents[n]&&Object.keys(r[t].parents).forEach((e=>{e!==n&&delete r[t].parents[e]})),Object.keys(r[t].parents).forEach((n=>{n!==t&&(r[t].parents[n].inActivePath=!0,e[n]=!0)}))))})),o=Object.keys(e)}return r}buildGraph(e,t){const{capturedTuple:n}=this;let{tree:r={}}=this;const a=!!e,i={nodes:[],edges:[]};let s=!1;return this.deleteHangingNodes(),e&&(r=this.fillActivePath(e)),Object.keys(r).forEach((l=>{const c=r[l],[u,d]=l.split("#");let p;Object.keys(c.parents).forEach((e=>{var a;const u=c.parents[e];if(!r[e])return void(s=!0);if(t&&!u.inActivePath)return;p=!0;const f=null===(a=u.type)||void 0===a?void 0:a.replace(/\s/gu,"");f&&(i.nodes.push({id:`${e}.${f}.${l}`,label:u.type}),i.edges.push({to:`${e}.${f}.${l}`,from:e,isActive:u.inActivePath,group:o.GraphEdgeGroup.Default})),i.edges.push({to:l,from:f?`${e}.${f}.${l}`:e,label:e===n.object?`${d} from`:"",isActive:u.inActivePath,group:o.GraphEdgeGroup.Default})}));const f=l===e||"*"===l&&a,m=l===n.object;if(m||p||!t&&!s){const t=m||f;i.nodes.push({id:l,label:"*"===u&&a?`${e} via everyone (*)`:l,isActive:t})}})),i}}},69288:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkDSL=t.basicValidateRelation=void 0;const r=n(1078),o=n(89082),a=n(32242),i=n(96560),s=n(13012),l=(e,t,n)=>(n||(n=0),t.slice(n).findIndex((t=>t.trim().startsWith(`type ${e}`)))+n),c=(e,t,n)=>(n||(n=0),t.slice(n).findIndex((t=>t.trim().replace(/ {2,}/g," ").startsWith(`define ${e}`)))+n),u=e=>({severity:8,startColumn:0,endColumn:Number.MAX_SAFE_INTEGER,startLineNumber:0,endLineNumber:e.length,message:"Invalid syntax",source:"linter"});function d(e){const t=e.includes(":*"),n=e.replace(":*","").split("#");return{decodedType:n[0],decodedRelation:n[1],isWildcard:t}}function p(e,t,n,r,o){if(!r)return!1;if(r.rewrite===a.RewriteType.Direct)for(const a of o){const{decodedType:n,decodedRelation:r}=d(a);if(!r)return!0;if(f(e,t,n,r))return!0}if(r.from){const o=e[n].relations[r.from].allowedTypes;for(const n of o){const{decodedType:o}=d(n);if(f(e,t,o,r.target))return!0}}else if(f(e,t,n,r.target))return!0;return!1}function f(e,t,n,r){if(!r)return!1;if(t[n]&&t[n][r])return!1;t[n]||(t[n]={}),t[n][r]=!0;const o=e[n].relations[r];if(!o||!o.definition)return!1;switch(o.definition.type){case a.RelationDefOperator.Single:case a.RelationDefOperator.Union:for(const r of o.definition.targets||[])if(p(e,JSON.parse(JSON.stringify(t)),n,r,o.allowedTypes))return!0;return!1;case a.RelationDefOperator.Intersection:for(const r of o.definition.targets||[])if(!p(e,JSON.parse(JSON.stringify(t)),n,r,o.allowedTypes))return!1;return!0;default:return!(!p(e,JSON.parse(JSON.stringify(t)),n,o.definition.base,o.allowedTypes)||!p(e,JSON.parse(JSON.stringify(t)),n,o.definition.diff,o.allowedTypes))}}function m(e,t,n,r,o,i){const s=n[r].relations[o];switch(i.rewrite){case a.RewriteType.Direct:{const a=s.allowedTypes;if(!a.length){const n=l(r,e),a=c(o,e,n);t.assignableRelationMustHaveTypes({lineIndex:a,value:o})}for(const i of a){const{decodedType:a,decodedRelation:s,isWildcard:u}=d(i);if(u&&s){const n=l(r,e),a=c(o,e,n);t.assignableTypeWildcardRelation({lineIndex:a,value:i})}else if(s){if(!n[a]||!n[a].relations[s]){const n=l(r,e),i=c(o,e,n);t.invalidTypeRelation({lineIndex:i,value:`${a}#${s}`,typeName:a,relationName:s})}}else if(!n[a]){const n=l(r,e),i=c(o,e,n);t.invalidType({lineIndex:i,value:`${a}`,typeName:a})}}break}case a.RewriteType.ComputedUserset:if(i.target&&!n[r].relations[i.target]){const a=l(r,e),s=c(o,e,a),u=i.target;t.invalidRelation({lineIndex:s,value:u,validRelations:Object.keys(n[r].relations)})}break;case a.RewriteType.TupleToUserset:if(i.from&&i.target)if(n[r].relations[i.from]){const[s,u]=function(e,t,n){var r;const o=[],i=e[t].relations[n],s=(null===(r=null==i?void 0:i.definition)||void 0===r?void 0:r.type)===a.RelationDefOperator.Single;if(s)for(const l of i.definition.targets||[])l.rewrite===a.RewriteType.Direct&&o.push(...i.allowedTypes);return[o,s]}(n,r,i.from);if(u){const a=[];for(const u of s){const{decodedType:s,decodedRelation:p,isWildcard:f}=d(u);if(f){const n=l(r,e),a=c(o,e,n);t.assignableTypeWildcardRelation({lineIndex:a,value:u})}else if(p){const n=l(r,e),a=c(o,e,n);t.tupleUsersetRequiresDirect({lineIndex:a,value:i.from})}else if(!n[s]||!n[s].relations[i.target]){const t=l(r,e),n=c(o,e,t);a.push({lineIndex:n,value:`${i.target} from ${i.from}`,typeName:s,relationName:i.target})}}if(a.length===s.length)for(const e of a)t.invalidTypeRelation(e)}else{const n=l(r,e),a=c(o,e,n);t.tupleUsersetRequiresDirect({lineIndex:a,value:i.from})}}else{const n=l(r,e),a=c(o,e,n);t.invalidTypeRelation({lineIndex:a,value:`${i.target} from ${i.from}`,typeName:r,relationName:i.from})}}}function h(e,t,n,r,o){n.length||(r.types.forEach((n=>{const r=n.type;n.relations.forEach((n=>{const{relation:i}=n;!function(e,t,n,r,o){const i=n[r].relations[o];let s=!1;if(i.definition.type===a.RelationDefOperator.Single||i.definition.type===a.RelationDefOperator.Union||i.definition.type===a.RelationDefOperator.Intersection){for(const u of i.definition.targets||[])if(m(e,t,n,r,o,u),u.rewrite===a.RewriteType.Direct){if(s){const n=l(r,e),a=c(o,e,n);t.maximumOneDirectRelationship({lineIndex:a,value:o});break}s=!0}}else if(i.definition.type===a.RelationDefOperator.Exclusion){if(i.definition.base&&(m(e,t,n,r,o,i.definition.base),i.definition.base.rewrite===a.RewriteType.Direct)){if(s){const n=l(r,e),a=c(o,e,n);t.maximumOneDirectRelationship({lineIndex:a,value:o})}s=!0}if(i.definition.diff&&(m(e,t,n,r,o,i.definition.diff),i.definition.diff.rewrite===a.RewriteType.Direct)){if(s){const n=l(r,e),a=c(o,e,n);t.maximumOneDirectRelationship({lineIndex:a,value:o})}s=!0}}}(e,t,o,r,i)}))})),0===n.length&&r.types.forEach((n=>{const r=n.type;n.relations.forEach((n=>{const{relation:a}=n;if(!f(o,{},r,a)){const n=l(r,e),o=c(a,e,n);t.noEntryPoint({lineIndex:o,value:a,typeName:r})}}))})))}t.basicValidateRelation=(e,t,n,r,i)=>{n.types.forEach((n=>{const s=n.type;n.relations.forEach((n=>{var u;const{relation:d}=n;if(n.allowedTypes.length){const n=l(s,e),r=c(d,e,n);t.allowedTypeModel10({lineIndex:r,value:d})}const p=(s,u,d)=>{var p;if(d){if(u===d.target&&d.rewrite!=a.RewriteType.TupleToUserset){const n=l(s,e),r=c(u,e,n);t.useSelf({lineIndex:r,value:u})}if(u===d.from&&1===(null===(p=n.definition.targets)||void 0===p?void 0:p.length)){const n=l(s,e),r=c(u,e,n);t.invalidFrom({lineIndex:r,value:d.from,clause:o.Keyword.FROM})}if(d.target&&!r[d.target]){const n=l(s,e),o=c(u,e,n),a=d.target;t.invalidRelation({lineIndex:o,value:a,validRelations:Object.keys(r)})}if(d.from&&!i[s].relations[d.from]){const n=l(s,e),r=c(u,e,n),o=d.from;t.invalidRelationWithinClause({typeName:s,value:d.from,validRelations:i,clause:o,reverse:!0,lineIndex:r})}}};null===(u=n.definition.targets)||void 0===u||u.forEach((e=>{p(s,d,e)})),n.definition.base&&p(s,d,n.definition.base),n.definition.diff&&p(s,d,n.definition.diff)}))}))};t.checkDSL=(e,n={})=>{const d=e.split("\n"),p=[],f=(0,i.report)({lines:d,markers:p}),m=n.typeValidation||r.defaultTypeRule,g=n.relationValidation||r.defaultRelationRule,b=new RegExp("[a-zA-Z]*");let y={regex:b,rule:m};try{y={regex:new RegExp(m),rule:m}}catch(_){const e=u(d);return e.message=`Incorrect type regex specification for ${m}`,p.push(e),p}let v={regex:b,rule:g};try{v={regex:new RegExp(g),rule:g}}catch(_){const e=u(d);return e.message=`Incorrect relation regex specification for ${g}`,p.push(e),p}try{const n=(0,a.parseDSL)(e),[r,i]=function(e,t,n,r,a){const i={[o.Keyword.SELF]:!0},s={};return n.types.forEach((n=>{const u=n.type;if(u===o.Keyword.SELF||u===o.ReservedKeywords.THIS){const n=l(u,e);t.reservedType({lineIndex:n,value:u})}if(!r.regex.test(u)){const n=l(u,e);t.invalidName({lineIndex:n,value:u,clause:r.rule})}const d={[o.Keyword.SELF]:!0},p={};n.relations.forEach((n=>{const{relation:r}=n;if(p[r]=n,r===o.Keyword.SELF||r===o.ReservedKeywords.THIS){const n=l(u,e),o=c(r,e,n);t.reservedRelation({lineIndex:o,value:r})}else if(a.regex.test(r)){if(d[r]){const n=l(u,e),o=c(r,e,n),a=c(r,e,o+1);t.duplicateDefinition({lineIndex:a,value:r})}}else{const n=l(u,e),o=c(r,e,n);t.invalidName({lineIndex:o,value:r,clause:a.rule,typeName:u})}d[r]=!0,i[r]=!0})),s[u]={comment:"",type:u,relations:p}})),[i,s]}(d,f,n,y,v),u=n.schemaVersion;switch(n.schemaVersion||f.reservedType({lineIndex:0,value:""}),u){case s.SchemaVersion.OneDotZero:(0,t.basicValidateRelation)(d,f,n,r,i);break;case s.SchemaVersion.OneDotOne:h(d,f,p,n,i);break;default:{const e=((e,t)=>t.findIndex((t=>t.trim().replace(/ {2,}/g," ").startsWith(`schema ${e}`))))(u,d);f.invalidSchemaVersion({lineIndex:e,value:u});break}}}catch(_){if(void 0!==_.offset)try{let e=Number.parseInt(_.message.match(/line\s([0-9]*)\scol\s([0-9]*)/m)[1]);const t=Number.parseInt(_.message.match(/line\s([0-9]*)\scol\s([0-9]*)/m)[2]);e=e<=d.length?e:d.length;const n={severity:8,startColumn:t<0?0:t,endColumn:d[e-1].length,startLineNumber:0===t?e-1:e,endLineNumber:0===t?e-1:e,message:"Invalid syntax",source:"linter"};p.push(n)}catch(_){p.push(u(d))}else p.push(u(d))}return p}},1078:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultRelationRule=t.defaultTypeRule=void 0,t.defaultTypeRule="^[^:#@\\s]{1,254}$",t.defaultRelationRule="^[^:#@\\s]{1,50}$"},95289:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(69288),o=n(89808),a={checkDSL:r.checkDSL,ulidValidate:o.ulidValidate};t.default=a},96560:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.report=t.reportInvalidSyntaxVersion=t.reportDuplicate=t.reportTupleUsersetRequireDirect=t.noEntryPoint=t.reportInvalidType=t.reportInvalidTypeRelation=t.reportInvalidRelation=t.reportInvalidRelationWithinClause=t.reportInvalidButNot=t.reportAssignableTypeWildcardRelation=t.reportMaximumOneDirectRelationship=t.reportAssignableRelationMustHaveTypes=t.reportAllowedTypeModel10=t.reportInvalidFrom=t.reportInvalidName=t.reportUseSelf=t.reportReservedRelationName=t.reportReservedTypeName=t.reportSchemaVersionRequired=t.getDefaultError=void 0;const r=n(89082),o=n(81908);t.getDefaultError=e=>({severity:8,startColumn:0,endColumn:Number.MAX_SAFE_INTEGER,startLineNumber:0,endLineNumber:e.length,message:"Invalid syntax",source:"linter"});const a=(e,t)=>e?Array.isArray(e)?e:t?Object.keys(null==e?void 0:e[t].relations):[]:[],i=({markers:e,lines:t,lineIndex:n,message:r,value:a,customResolver:i,extraInformation:s={error:o.ValidationError.InvalidSyntax}})=>{const l=t[n],c=new RegExp("\\b"+a+"\\b");let u=l.search(c)+1;"function"==typeof i&&(u=i(u,l,a)),e.push({extraInformation:s,severity:8,startColumn:u,endColumn:u+a.length,startLineNumber:n+1,endLineNumber:n+1,message:r,source:"linter"})};t.reportSchemaVersionRequired=({markers:e,lines:t,lineIndex:n,value:r})=>{i({message:"Schema version is required.",markers:e,lines:t,value:r,extraInformation:{error:o.ValidationError.SchemaVersionRequired},lineIndex:n})};t.reportReservedTypeName=({markers:e,lines:t,lineIndex:n,value:a})=>{i({message:`A type cannot be named '${r.Keyword.SELF}' or '${r.ReservedKeywords.THIS}'.`,markers:e,lines:t,value:a,extraInformation:{error:o.ValidationError.ReservedTypeKeywords},lineIndex:n})};t.reportReservedRelationName=({markers:e,lines:t,lineIndex:n,value:a})=>{i({message:`A relation cannot be named '${r.Keyword.SELF}' or '${r.ReservedKeywords.THIS}'.`,markers:e,lines:t,value:a,extraInformation:{error:o.ValidationError.ReservedRelationKeywords},lineIndex:n})};t.reportUseSelf=({markers:e,lines:t,lineIndex:n,value:a})=>{i({message:`For auto-referencing use '${r.Keyword.SELF}'.`,markers:e,lines:t,value:a,extraInformation:{error:o.ValidationError.SelfError},lineIndex:n,customResolver:(e,t,n)=>{const r=e;return e=r+n.length+t.slice(r+n.length).search(n)+1}})};t.reportInvalidName=({markers:e,lines:t,lineIndex:n,typeName:r,value:a,clause:s})=>{i({message:(r?`Relation '${a}' of type '${r}' `:`Type '${a}' `)+`does not match naming rule: '${s}'.`,markers:e,lines:t,value:a,extraInformation:{error:o.ValidationError.InvalidName},lineIndex:n})};t.reportInvalidFrom=({markers:e,lines:t,lineIndex:n,value:o,clause:a})=>{i({message:`Cannot self-reference (\`${o}\`) within \`${r.Keyword.FROM}\` clause.`,markers:e,lines:t,value:o,lineIndex:n,customResolver:(e,t,n)=>{const r=t.indexOf(a);return r+a.length+t.slice(r+a.length).search(n)+1}})};t.reportAllowedTypeModel10=({markers:e,lines:t,lineIndex:n,value:r})=>{const a=t[n],s=a.slice(a.indexOf("["),a.lastIndexOf("]")+1);i({message:`Allowed types for relation '${r}' not valid for schema 1.0`,markers:e,lineIndex:n,lines:t,value:s,extraInformation:{error:o.ValidationError.AllowedTypesNotValidOnSchema1_0},customResolver:(e,t,n)=>{const r=t.indexOf(":")+1+1;return r+t.slice(r).indexOf(n.substring(1))}})};t.reportAssignableRelationMustHaveTypes=({markers:e,lines:t,lineIndex:n,value:r})=>{const a=t[n],s=a.includes("[")?a.slice(a.indexOf("["),a.lastIndexOf("]")+1):"self";i({message:`Assignable relation '${r}' must have types`,markers:e,lineIndex:n,lines:t,value:s,extraInformation:{error:o.ValidationError.AssignableRelationsMustHaveType},customResolver:(e,t,n)=>t.indexOf(n.substring(1))})};t.reportMaximumOneDirectRelationship=({markers:e,lines:t,lineIndex:n,value:r})=>{i({message:"Each relationship must have at most 1 set of direct relations defined.",markers:e,lineIndex:n,lines:t,value:r,extraInformation:{error:o.ValidationError.AssignableRelationsMustHaveType},customResolver:(e,t,n)=>t.indexOf(n.substring(1))})};t.reportAssignableTypeWildcardRelation=({markers:e,lines:t,lineIndex:n,value:r})=>{i({message:`Type restriction '${r}' cannot contain both wildcard and relation`,markers:e,lineIndex:n,lines:t,value:r,extraInformation:{error:o.ValidationError.TypeRestrictionCannotHaveWildcardAndRelation}})};t.reportInvalidButNot=({markers:e,lines:t,lineIndex:n,value:o,clause:a})=>{i({message:`Cannot self-reference (\`${o}\`) within \`${r.Keyword.BUT_NOT}\` clause.`,markers:e,lineIndex:n,lines:t,value:o,customResolver:(e,t,n)=>{const r=t.indexOf(a);return r+t.slice(r,r+a.length).lastIndexOf(n)+1}})};t.reportInvalidRelationWithinClause=({markers:e,lines:t,lineIndex:n,typeName:r,value:o,validRelations:s,clause:l,reverse:c=!1})=>{const u=a(s,r);!(null==u?void 0:u.includes(o))&&i({message:`The relation \`${o}\` does not exist${Array.isArray(s)?".":` in type \`${r}\``}`,markers:e,lines:t,value:o,lineIndex:n,customResolver:(e,t,n)=>{const r=t.indexOf(l);return e=r+t.slice(r,r+l.length).indexOf(n)+1,c&&(e=r+t.slice(r,r+l.length).lastIndexOf(n)+1),e}})};t.reportInvalidRelation=({markers:e,lines:t,lineIndex:n,value:r,validRelations:s})=>{const l=a(s);!(null==l?void 0:l.includes(r))&&i({markers:e,lines:t,lineIndex:n,value:r,message:`The relation \`${r}\` does not exist.`,extraInformation:{error:o.ValidationError.MissingDefinition,relation:r}})};t.reportInvalidTypeRelation=({markers:e,lines:t,lineIndex:n,value:r,typeName:a,relationName:s})=>{i({markers:e,lines:t,lineIndex:n,value:r,message:`\`${s}\` is not a valid relation for \`${a}\`.`,extraInformation:{error:o.ValidationError.InvalidRelationType,relation:s,typeName:a}})};t.reportInvalidType=({markers:e,lines:t,lineIndex:n,value:r,typeName:a})=>{i({markers:e,lines:t,lineIndex:n,value:r,message:`\`${a}\` is not a valid type.`,extraInformation:{error:o.ValidationError.InvalidType,typeName:a}})};t.noEntryPoint=({markers:e,lines:t,lineIndex:n,value:r,validRelations:s})=>{const l=a(s);!(null==l?void 0:l.includes(r))&&i({markers:e,lines:t,lineIndex:n,value:r,message:`\`${r}\` is an impossible relation (no entrypoint).`,extraInformation:{error:o.ValidationError.RelationNoEntrypoint,relation:r}})};t.reportTupleUsersetRequireDirect=({markers:e,lines:t,lineIndex:n,value:r})=>{i({markers:e,lines:t,lineIndex:n,value:r,message:`\`${r}\` relation used inside from allows only direct relation.`,extraInformation:{error:o.ValidationError.TuplesetNotDirect,relation:r},customResolver:(e,t,n)=>{const r=t.indexOf("from")+4+1;return r+t.slice(r).indexOf(n)+1}})};t.reportDuplicate=({markers:e,lines:t,lineIndex:n,value:a})=>{const i=t[n];e.push({extraInformation:{error:o.ValidationError.DuplicatedError},severity:8,startColumn:i.indexOf(r.Keyword.DEFINE)+1,endColumn:i.length+1,startLineNumber:n+1,endLineNumber:n+1,message:`Duplicate definition \`${a}\`.`,source:"linter"})};t.reportInvalidSyntaxVersion=({markers:e,lines:t,lineIndex:n,value:r})=>{i({markers:e,lines:t,lineIndex:n,value:r,message:`Invalid schema ${r}`,extraInformation:{error:o.ValidationError.InvalidSchema}})};t.report=function({markers:e,lines:n}){return{schemaVersionRequired:({lineIndex:r,value:o})=>(0,t.reportSchemaVersionRequired)({value:o,lineIndex:r,markers:e,lines:n}),useSelf:({lineIndex:r,value:o})=>(0,t.reportUseSelf)({value:o,lineIndex:r,markers:e,lines:n}),invalidName:({lineIndex:r,value:o,clause:a,typeName:i})=>(0,t.reportInvalidName)({value:o,lineIndex:r,markers:e,lines:n,clause:a,typeName:i}),reservedType:({lineIndex:r,value:o})=>(0,t.reportReservedTypeName)({value:o,lineIndex:r,markers:e,lines:n}),reservedRelation:({lineIndex:r,value:o})=>(0,t.reportReservedRelationName)({value:o,lineIndex:r,markers:e,lines:n}),invalidFrom:({lineIndex:r,value:o,clause:a})=>(0,t.reportInvalidFrom)({value:o,clause:a,lineIndex:r,markers:e,lines:n}),invalidButNot:({lineIndex:r,value:o,clause:a})=>(0,t.reportInvalidButNot)({lineIndex:r,value:o,clause:a,markers:e,lines:n}),tupleUsersetRequiresDirect:({lineIndex:r,value:o})=>(0,t.reportTupleUsersetRequireDirect)({lineIndex:r,value:o,markers:e,lines:n}),duplicateDefinition:({lineIndex:r,value:o})=>(0,t.reportDuplicate)({lineIndex:r,value:o,markers:e,lines:n}),noEntryPoint:({lineIndex:r,value:o,typeName:a})=>(0,t.noEntryPoint)({lineIndex:r,value:o,typeName:a,markers:e,lines:n}),invalidTypeRelation:({lineIndex:r,value:o,typeName:a,relationName:i})=>(0,t.reportInvalidTypeRelation)({lineIndex:r,value:o,typeName:a,relationName:i,markers:e,lines:n}),invalidType:({lineIndex:r,value:o,typeName:a})=>(0,t.reportInvalidType)({lineIndex:r,value:o,typeName:a,markers:e,lines:n}),invalidSchemaVersion:({lineIndex:r,value:o})=>(0,t.reportInvalidSyntaxVersion)({lineIndex:r,value:o,markers:e,lines:n}),allowedTypeModel10:({lineIndex:r,value:o})=>(0,t.reportAllowedTypeModel10)({lineIndex:r,markers:e,lines:n,value:o}),assignableRelationMustHaveTypes:({lineIndex:r,value:o})=>(0,t.reportAssignableRelationMustHaveTypes)({lineIndex:r,markers:e,lines:n,value:o}),maximumOneDirectRelationship:({lineIndex:r,value:o})=>(0,t.reportMaximumOneDirectRelationship)({lineIndex:r,markers:e,lines:n,value:o}),assignableTypeWildcardRelation:({lineIndex:r,value:o})=>(0,t.reportAssignableTypeWildcardRelation)({lineIndex:r,markers:e,lines:n,value:o}),invalidRelation:({lineIndex:r,value:o,validRelations:a})=>(0,t.reportInvalidRelation)({lineIndex:r,value:o,validRelations:a,markers:e,lines:n}),invalidRelationWithinClause:({lineIndex:r,value:o,typeName:a,validRelations:i,clause:s,reverse:l})=>(0,t.reportInvalidRelationWithinClause)({lineIndex:r,value:o,typeName:a,validRelations:i,clause:s,reverse:l,markers:e,lines:n})}}},89808:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ulidValidate=t.ulidPattern=void 0,t.ulidPattern=/[0-9A-HJKMNP-TV-Z]{26}/;t.ulidValidate=e=>t.ulidPattern.test(e)},81908:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ValidationError=void 0,function(e){e.SchemaVersionRequired="schema-version-required",e.SchemaVersionUnsupported="schema-version-unsupported",e.ReservedTypeKeywords="reserved-type-keywords",e.ReservedRelationKeywords="reserved-relation-keywords",e.SelfError="self-error",e.InvalidName="invalid-name",e.MissingDefinition="missing-definition",e.InvalidRelationType="invalid-relation-type",e.InvalidType="invalid-type",e.RelationNoEntrypoint="relation-no-entry-point",e.TuplesetNotDirect="tupleuset-not-direct",e.DuplicatedError="duplicated-error",e.RequireSchema1_0="allowed-type-schema-10",e.AssignableRelationsMustHaveType="assignable-relation-must-have-type",e.AllowedTypesNotValidOnSchema1_0="allowed-type-not-valid-on-schema-1_0",e.InvalidSchema="invalid-schema",e.InvalidSyntax="invalid-syntax",e.TypeRestrictionCannotHaveWildcardAndRelation="type-wildcard-relation"}(n||(t.ValidationError=n={}))},723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(67294),o=n(87462),a=n(68356),i=n.n(a),s=n(16887);const l={"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,91223)),"@theme/BlogTagsListPage",91223],"028b1cc5":[()=>Promise.all([n.e(532),n.e(8592),n.e(5289)]).then(n.bind(n,20936)),"@site/docs/content/interacting/read-tuple-changes.mdx",20936],"03f1273c":[()=>Promise.all([n.e(8592),n.e(9323)]).then(n.bind(n,55246)),"@site/blog/kubecon-na-2023.md?truncated=true",55246],"0938166f":[()=>Promise.all([n.e(532),n.e(8592),n.e(5721)]).then(n.bind(n,10711)),"@site/docs/content/modeling/migrating/overview.mdx",10711],"116d061d":[()=>Promise.all([n.e(532),n.e(8592),n.e(1176)]).then(n.bind(n,45667)),"@site/docs/content/getting-started/setup-openfga/overview.mdx",45667],15369573:[()=>Promise.all([n.e(532),n.e(8592),n.e(2052)]).then(n.bind(n,47756)),"@site/docs/content/modeling/building-blocks/object-to-object-relationships.mdx",47756],17896441:[()=>Promise.all([n.e(532),n.e(8592),n.e(7918)]).then(n.bind(n,78945)),"@theme/DocItem",78945],"18eda3ee":[()=>Promise.all([n.e(532),n.e(8592),n.e(3666)]).then(n.bind(n,1564)),"@site/docs/content/getting-started/framework.mdx",1564],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,51473)),"@theme/SearchPage",51473],"1bbc0b1c":[()=>Promise.all([n.e(532),n.e(8592),n.e(6418)]).then(n.bind(n,87004)),"@site/docs/content/getting-started/setup-openfga/kubernetes-setup.mdx",87004],"1be78505":[()=>Promise.all([n.e(532),n.e(8505),n.e(9514)]).then(n.bind(n,19963)),"@theme/DocPage",19963],"1df93b7f":[()=>Promise.all([n.e(532),n.e(8592),n.e(203),n.e(3237)]).then(n.bind(n,27116)),"@site/src/pages/index.tsx",27116],"24bd3649":[()=>n.e(6136).then(n.t.bind(n,57569,19)),"~blog/default/blog-tags-conferences-51c.json",57569],"30325ba4":[()=>Promise.all([n.e(532),n.e(8592),n.e(4374)]).then(n.bind(n,55874)),"@site/docs/content/modeling/direct-access.mdx",55874],"33b74eba":[()=>Promise.all([n.e(532),n.e(8592),n.e(1429)]).then(n.bind(n,91117)),"@site/docs/content/configuration-language.mdx",91117],"34a3e208":[()=>Promise.all([n.e(532),n.e(8592),n.e(5863)]).then(n.bind(n,79446)),"@site/docs/content/getting-started/update-tuples.mdx",79446],"34c50772":[()=>n.e(356).then(n.t.bind(n,60966,19)),"~blog/default/blog-tags-kubecon-bd1.json",60966],"3652cf2a":[()=>Promise.all([n.e(532),n.e(8592),n.e(4752)]).then(n.bind(n,2422)),"@site/docs/content/modeling/building-blocks/concentric-relationships.mdx",2422],"3759cf4b":[()=>Promise.all([n.e(532),n.e(8592),n.e(2991)]).then(n.bind(n,380)),"@site/docs/content/getting-started/immutable-models.mdx",380],"3827dd5a":[()=>n.e(2744).then(n.t.bind(n,12776,19)),"/home/runner/work/openfga.dev/openfga.dev/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json",12776],"3a191a7b":[()=>Promise.all([n.e(532),n.e(8592),n.e(6075)]).then(n.bind(n,50086)),"@site/docs/content/getting-started/setup-sdk-client.mdx",50086],"3aada504":[()=>Promise.all([n.e(532),n.e(8592),n.e(8705)]).then(n.bind(n,12963)),"@site/docs/content/interacting/managing-user-access.mdx",12963],"3d83e150":[()=>Promise.all([n.e(532),n.e(8592),n.e(3207)]).then(n.bind(n,30663)),"@site/docs/content/interacting/managing-relationships-between-objects.mdx",30663],"4204f988":[()=>Promise.all([n.e(532),n.e(8592),n.e(1794)]).then(n.bind(n,60855)),"@site/docs/content/modeling/building-blocks/direct-relationships.mdx",60855],"4337ba13":[()=>Promise.all([n.e(532),n.e(8592),n.e(7647)]).then(n.bind(n,34839)),"@site/docs/content/interacting/managing-group-access.mdx",34839],"439d46c1":[()=>Promise.all([n.e(532),n.e(8592),n.e(7459)]).then(n.bind(n,80348)),"@site/docs/content/modeling/user-groups.mdx",80348],"4427aa46":[()=>Promise.all([n.e(532),n.e(8592),n.e(6901)]).then(n.bind(n,30051)),"@site/docs/content/modeling/advanced/github.mdx",30051],"487f279c":[()=>Promise.all([n.e(532),n.e(8592),n.e(2623)]).then(n.bind(n,67361)),"@site/docs/content/getting-started/tuples-api-best-practices.mdx",67361],"4920f1c1":[()=>Promise.all([n.e(532),n.e(8592),n.e(9904)]).then(n.bind(n,59580)),"@site/docs/content/modeling/multiple-restrictions.mdx",59580],"4a075682":[()=>Promise.all([n.e(532),n.e(8592),n.e(8883)]).then(n.bind(n,14871)),"@site/docs/content/modeling/overview.mdx",14871],"4c2069ba":[()=>Promise.all([n.e(532),n.e(8592),n.e(5019)]).then(n.bind(n,14697)),"@site/docs/content/getting-started/production-best-practices.mdx",14697],"5ccffc9c":[()=>Promise.all([n.e(532),n.e(8592),n.e(2354)]).then(n.bind(n,5832)),"@site/docs/content/modeling/building-blocks/overview.mdx",5832],"5dfc8d6a":[()=>Promise.all([n.e(8592),n.e(1544)]).then(n.bind(n,34488)),"@site/blog/kubecon-na-2023.md",34488],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,36809)),"@generated/docusaurus.config",36809],"63b646c1":[()=>Promise.all([n.e(532),n.e(8592),n.e(2452)]).then(n.bind(n,32505)),"@site/docs/content/modeling/advanced/overview.mdx",32505],"6786195a":[()=>Promise.all([n.e(532),n.e(8592),n.e(3077)]).then(n.bind(n,19637)),"@site/docs/content/modeling/getting-started.mdx",19637],"6875c492":[()=>Promise.all([n.e(532),n.e(8592),n.e(2529),n.e(8610)]).then(n.bind(n,41714)),"@theme/BlogTagsPostsPage",41714],"69ced8de":[()=>Promise.all([n.e(532),n.e(8592),n.e(5777)]).then(n.bind(n,47996)),"@site/docs/content/modeling/migrating/migrating-schema-1-1.mdx",47996],"6a4b619d":[()=>Promise.all([n.e(532),n.e(8592),n.e(7852)]).then(n.bind(n,6340)),"@site/docs/content/modeling/parent-child.mdx",6340],"7284575f":[()=>Promise.all([n.e(532),n.e(8592),n.e(6743)]).then(n.bind(n,31492)),"@site/docs/content/modeling/custom-roles.mdx",31492],"73db2c80":[()=>Promise.all([n.e(532),n.e(8592),n.e(9302)]).then(n.bind(n,31527)),"@site/docs/content/interacting/relationship-queries.mdx",31527],"76c18be1":[()=>Promise.all([n.e(532),n.e(8592),n.e(6055)]).then(n.bind(n,12278)),"@site/docs/content/interacting/search-with-permissions.mdx",12278],"7742897f":[()=>Promise.all([n.e(532),n.e(8592),n.e(9062)]).then(n.bind(n,83166)),"@site/docs/content/getting-started/configure-model.mdx",83166],"78431c72":[()=>Promise.all([n.e(532),n.e(8592),n.e(4706)]).then(n.bind(n,37995)),"@site/docs/content/modeling/advanced/iot.mdx",37995],"78aaed86":[()=>Promise.all([n.e(532),n.e(8592),n.e(569)]).then(n.bind(n,58721)),"@site/docs/content/modeling/public-access.mdx",58721],"7bbc0b76":[()=>n.e(6403).then(n.t.bind(n,15745,19)),"/home/runner/work/openfga.dev/openfga.dev/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",15745],"814f3328":[()=>n.e(2535).then(n.t.bind(n,45641,19)),"~blog/default/blog-post-list-prop-default.json",45641],"87a4c587":[()=>Promise.all([n.e(532),n.e(8592),n.e(4886)]).then(n.bind(n,87872)),"@site/docs/content/modeling/blocklists.mdx",87872],"87c4c920":[()=>Promise.all([n.e(532),n.e(8592),n.e(265)]).then(n.bind(n,51376)),"@site/docs/content/getting-started/install-sdk.mdx",51376],"882ec15a":[()=>Promise.all([n.e(532),n.e(8592),n.e(8128)]).then(n.bind(n,79460)),"@site/docs/content/authorization-and-openfga.mdx",79460],"89e713ce":[()=>n.e(7604).then(n.t.bind(n,56255,19)),"~blog/default/blog-tags-conferences-51c-list.json",56255],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9578a8cf":[()=>Promise.all([n.e(532),n.e(8592),n.e(7464)]).then(n.bind(n,42401)),"@site/docs/content/modeling/organization-context-authorization.mdx",42401],"97140aee":[()=>Promise.all([n.e(532),n.e(8592),n.e(521)]).then(n.bind(n,1840)),"@site/docs/content/modeling/advanced/entitlements.mdx",1840],"9c4cd4c4":[()=>Promise.all([n.e(532),n.e(8592),n.e(1105)]).then(n.bind(n,17984)),"@site/docs/content/interacting/overview.mdx",17984],"9e4087bc":[()=>n.e(3608).then(n.bind(n,63169)),"@theme/BlogArchivePage",63169],a09a1188:[()=>Promise.all([n.e(532),n.e(8592),n.e(1217)]).then(n.bind(n,44179)),"@site/docs/content/modeling/building-blocks/usersets.mdx",44179],a36c58ef:[()=>n.e(8018).then(n.t.bind(n,83769,19)),"/home/runner/work/openfga.dev/openfga.dev/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",83769],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(8592),n.e(2529),n.e(3089)]).then(n.bind(n,80046)),"@theme/BlogListPage",80046],a7023ddc:[()=>n.e(1713).then(n.t.bind(n,53457,19)),"~blog/default/blog-tags-tags-4c2.json",53457],acf022e4:[()=>Promise.all([n.e(532),n.e(8592),n.e(1178),n.e(2450)]).then(n.bind(n,34841)),"@site/src/pages/api/service.tsx",34841],b2b675dd:[()=>n.e(533).then(n.t.bind(n,28017,19)),"~blog/default/blog-c06.json",28017],b2f554cd:[()=>n.e(1477).then(n.t.bind(n,30010,19)),"~blog/default/blog-archive-80c.json",30010],b2fd7883:[()=>Promise.all([n.e(532),n.e(8592),n.e(8371)]).then(n.bind(n,22436)),"@site/docs/content/modeling/advanced/gdrive.mdx",22436],b89f0a14:[()=>Promise.all([n.e(532),n.e(8592),n.e(8425)]).then(n.bind(n,32185)),"@site/docs/content/interacting/managing-group-membership.mdx",32185],bb879dcd:[()=>Promise.all([n.e(532),n.e(8592),n.e(2386)]).then(n.bind(n,24233)),"@site/docs/content/modeling/migrating/migrating-relations.mdx",24233],bd85ffac:[()=>Promise.all([n.e(532),n.e(8592),n.e(6359)]).then(n.bind(n,42376)),"@site/docs/content/concepts.mdx",42376],c0e854c3:[()=>Promise.all([n.e(532),n.e(8592),n.e(5263)]).then(n.bind(n,43302)),"@site/docs/content/getting-started/perform-list-objects.mdx",43302],cb8ccc1a:[()=>Promise.all([n.e(532),n.e(8592),n.e(3151)]).then(n.bind(n,57108)),"@site/docs/content/getting-started/perform-check.mdx",57108],ccc49370:[()=>Promise.all([n.e(532),n.e(8592),n.e(2529),n.e(6103)]).then(n.bind(n,65203)),"@theme/BlogPostPage",65203],d3d4dca1:[()=>Promise.all([n.e(532),n.e(8592),n.e(5362)]).then(n.bind(n,99052)),"@site/docs/content/modeling/roles-and-permissions.mdx",99052],da16da38:[()=>Promise.all([n.e(532),n.e(8592),n.e(3325)]).then(n.bind(n,89535)),"@site/docs/content/getting-started/overview.mdx",89535],db2cdc18:[()=>Promise.all([n.e(532),n.e(8592),n.e(8242)]).then(n.bind(n,53346)),"@site/docs/content/getting-started/create-store.mdx",53346],e23d3c5f:[()=>Promise.all([n.e(532),n.e(8592),n.e(3416)]).then(n.bind(n,92452)),"@site/docs/content/getting-started/setup-openfga/docker-setup.mdx",92452],e260e0bb:[()=>Promise.all([n.e(532),n.e(8592),n.e(7226)]).then(n.bind(n,87029)),"@site/docs/content/modeling/contextual-time-based-authorization.mdx",87029],e4a0c232:[()=>n.e(4461).then(n.t.bind(n,24469,19)),"/home/runner/work/openfga.dev/openfga.dev/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",24469],ed2f6563:[()=>Promise.all([n.e(532),n.e(8592),n.e(7287)]).then(n.bind(n,83396)),"@site/docs/content/interacting/transactional-writes.mdx",83396],f5ba7293:[()=>Promise.all([n.e(532),n.e(8592),n.e(4464)]).then(n.bind(n,22313)),"@site/docs/content/modeling/advanced/slack.mdx",22313],f849ae1d:[()=>n.e(2547).then(n.t.bind(n,80387,19)),"~blog/default/blog-tags-kubecon-bd1-list.json",80387]};function c(e){let{error:t,retry:n,pastDelay:o}=e;return t?r.createElement("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%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):o?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("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"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var u=n(99670),d=n(30226);function p(e,t){if("*"===e)return i()({loading:c,loader:()=>Promise.all([n.e(532),n.e(3604)]).then(n.bind(n,3604)),modules:["@theme/NotFound"],webpack:()=>[3604],render(e,t){const n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const a=s[`${e}-${t}`],p={},f=[],m=[],h=(0,u.Z)(a);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=l[n];r&&(p[t]=r[0],f.push(r[1]),m.push(r[2]))})),i().Map({loading:c,loader:p,modules:f,webpack:()=>m,render(t,n){const i=JSON.parse(JSON.stringify(a));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)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 o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let a=i;const s=n.split(".");s.slice(0,-1).forEach((e=>{a=a[e]})),a[s[s.length-1]]=o}));const s=i.__comp;delete i.__comp;const l=i.__context;return delete i.__context,r.createElement(d.z,{value:l},r.createElement(s,(0,o.Z)({},i,n)))}})}const f=[{path:"/api/service",component:p("/api/service","814"),exact:!0},{path:"/blog",component:p("/blog","5c3"),exact:!0},{path:"/blog/archive",component:p("/blog/archive","404"),exact:!0},{path:"/blog/kubecon-na-2023",component:p("/blog/kubecon-na-2023","a5a"),exact:!0},{path:"/blog/tags",component:p("/blog/tags","75b"),exact:!0},{path:"/blog/tags/conferences",component:p("/blog/tags/conferences","ad4"),exact:!0},{path:"/blog/tags/kubecon",component:p("/blog/tags/kubecon","243"),exact:!0},{path:"/search",component:p("/search","893"),exact:!0},{path:"/docs",component:p("/docs","f29"),routes:[{path:"/docs/authorization-and-openfga",component:p("/docs/authorization-and-openfga","b75"),exact:!0,sidebar:"docs"},{path:"/docs/concepts",component:p("/docs/concepts","c63"),exact:!0,sidebar:"docs"},{path:"/docs/configuration-language",component:p("/docs/configuration-language","284"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started",component:p("/docs/getting-started","45c"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/configure-model",component:p("/docs/getting-started/configure-model","3d5"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/create-store",component:p("/docs/getting-started/create-store","d80"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/framework",component:p("/docs/getting-started/framework","11b"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/immutable-models",component:p("/docs/getting-started/immutable-models","9a4"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/install-sdk",component:p("/docs/getting-started/install-sdk","54c"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/perform-check",component:p("/docs/getting-started/perform-check","64c"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/perform-list-objects",component:p("/docs/getting-started/perform-list-objects","c00"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/running-in-production",component:p("/docs/getting-started/running-in-production","3df"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/setup-openfga/docker",component:p("/docs/getting-started/setup-openfga/docker","41b"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/setup-openfga/kubernetes",component:p("/docs/getting-started/setup-openfga/kubernetes","577"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/setup-openfga/overview",component:p("/docs/getting-started/setup-openfga/overview","dc6"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/setup-sdk-client",component:p("/docs/getting-started/setup-sdk-client","084"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/tuples-api-best-practices",component:p("/docs/getting-started/tuples-api-best-practices","118"),exact:!0,sidebar:"docs"},{path:"/docs/getting-started/update-tuples",component:p("/docs/getting-started/update-tuples","98a"),exact:!0,sidebar:"docs"},{path:"/docs/interacting",component:p("/docs/interacting","073"),exact:!0,sidebar:"docs"},{path:"/docs/interacting/managing-group-access",component:p("/docs/interacting/managing-group-access","e78"),exact:!0,sidebar:"docs"},{path:"/docs/interacting/managing-group-membership",component:p("/docs/interacting/managing-group-membership","970"),exact:!0,sidebar:"docs"},{path:"/docs/interacting/managing-relationships-between-objects",component:p("/docs/interacting/managing-relationships-between-objects","36d"),exact:!0,sidebar:"docs"},{path:"/docs/interacting/managing-user-access",component:p("/docs/interacting/managing-user-access","fa6"),exact:!0,sidebar:"docs"},{path:"/docs/interacting/read-tuple-changes",component:p("/docs/interacting/read-tuple-changes","07b"),exact:!0,sidebar:"docs"},{path:"/docs/interacting/relationship-queries",component:p("/docs/interacting/relationship-queries","e5d"),exact:!0,sidebar:"docs"},{path:"/docs/interacting/search-with-permissions",component:p("/docs/interacting/search-with-permissions","86b"),exact:!0,sidebar:"docs"},{path:"/docs/interacting/transactional-writes",component:p("/docs/interacting/transactional-writes","073"),exact:!0,sidebar:"docs"},{path:"/docs/modeling",component:p("/docs/modeling","d15"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/advanced",component:p("/docs/modeling/advanced","3c0"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/advanced/entitlements",component:p("/docs/modeling/advanced/entitlements","260"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/advanced/gdrive",component:p("/docs/modeling/advanced/gdrive","c55"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/advanced/github",component:p("/docs/modeling/advanced/github","0ad"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/advanced/iot",component:p("/docs/modeling/advanced/iot","e2c"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/advanced/slack",component:p("/docs/modeling/advanced/slack","34d"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/blocklists",component:p("/docs/modeling/blocklists","e4f"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/building-blocks",component:p("/docs/modeling/building-blocks","8ce"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/building-blocks/concentric-relationships",component:p("/docs/modeling/building-blocks/concentric-relationships","1b8"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/building-blocks/direct-relationships",component:p("/docs/modeling/building-blocks/direct-relationships","d44"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/building-blocks/object-to-object-relationships",component:p("/docs/modeling/building-blocks/object-to-object-relationships","eaa"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/building-blocks/usersets",component:p("/docs/modeling/building-blocks/usersets","905"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/contextual-time-based-authorization",component:p("/docs/modeling/contextual-time-based-authorization","9fb"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/custom-roles",component:p("/docs/modeling/custom-roles","860"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/direct-access",component:p("/docs/modeling/direct-access","00b"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/getting-started",component:p("/docs/modeling/getting-started","9ce"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/migrating",component:p("/docs/modeling/migrating","780"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/migrating/migrating-relations",component:p("/docs/modeling/migrating/migrating-relations","d6a"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/migrating/migrating-schema-1-1",component:p("/docs/modeling/migrating/migrating-schema-1-1","709"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/multiple-restrictions",component:p("/docs/modeling/multiple-restrictions","74b"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/organization-context-authorization",component:p("/docs/modeling/organization-context-authorization","597"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/parent-child",component:p("/docs/modeling/parent-child","34a"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/public-access",component:p("/docs/modeling/public-access","e9a"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/roles-and-permissions",component:p("/docs/modeling/roles-and-permissions","fef"),exact:!0,sidebar:"docs"},{path:"/docs/modeling/user-groups",component:p("/docs/modeling/user-groups","2d1"),exact:!0,sidebar:"docs"}]},{path:"/",component:p("/","a17"),exact:!0},{path:"*",component:p("*")}]},98934:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,t:()=>a});var r=n(67294);const o=r.createContext(!1);function a(e){let{children:t}=e;const[n,a]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{a(!0)}),[]),r.createElement(o.Provider,{value:n},t)}},22679:(e,t,n)=>{"use strict";var r=n(67294),o=n(73935),a=n(73727),i=n(70405),s=n(10412);const l=[n(32497),n(78221),n(18320),n(43576),n(52295)];var c=n(723),u=n(16550),d=n(18790),p=n(35742),f=n(52263);function m(e){let{children:t}=e;const{siteConfig:n}=(0,f.Z)(),{contentSecurityPolicy:o}=n.customFields;return r.createElement("div",{className:"CustomizedRoot"},r.createElement(p.Z,null,r.createElement("meta",{httpEquiv:"Content-Security-Policy",content:o})),t)}var h=n(87462),g=n(44996),b=n(86668),y=n(1944),v=n(94711),_=n(19727),w=n(43320),E=n(18780),k=n(90197);function x(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,f.Z)(),n=(0,v.l)();return r.createElement(p.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:o}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:o})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function T(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,f.Z)(),o=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,f.Z)(),{pathname:r}=(0,u.TH)();return e+(0,E.applyTrailingSlash)((0,g.Z)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:o;return r.createElement(p.Z,null,r.createElement("meta",{property:"og:url",content:a}),r.createElement("link",{rel:"canonical",href:a}))}function $(){const{i18n:{currentLocale:e}}=(0,f.Z)(),{metadata:t,image:n}=(0,b.L)();return r.createElement(r.Fragment,null,r.createElement(p.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:_.h})),n&&r.createElement(y.d,{image:n}),r.createElement(T,null),r.createElement(x,null),r.createElement(k.Z,{tag:w.HX,locale:e}),r.createElement(p.Z,null,t.map(((e,t)=>r.createElement("meta",(0,h.Z)({key:t},e))))))}const S=new Map;function O(e){if(S.has(e.pathname))return{...e,pathname:S.get(e.pathname)};if((0,d.f)(c.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return S.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return S.set(e.pathname,t),{...e,pathname:t}}var I=n(98934),R=n(58940);function C(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:o}=e;return(0,r.useLayoutEffect)((()=>{o!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:o}),C("onRouteDidUpdate",{previousLocation:o,location:n}))}),[o,n]),t};function A(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(c.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class L extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.Z.canUseDOM?C("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=C("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),A(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 r.createElement(N,{previousLocation:this.previousLocation,location:t},r.createElement(u.AW,{location:t,render:()=>e}))}}const P=L,D="__docusaurus-base-url-issue-banner-container",F="__docusaurus-base-url-issue-banner",M="__docusaurus-base-url-issue-banner-suggestion-container",j="__DOCUSAURUS_INSERT_BASEURL_BANNER";function U(e){return`\nwindow['${j}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${j}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${D}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{window[j]=!1}),[]),r.createElement(r.Fragment,null,!s.Z.canUseDOM&&r.createElement(p.Z,null,r.createElement("script",null,U(e))),r.createElement("div",{id:D}))}function z(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,f.Z)(),{pathname:n}=(0,u.TH)();return t&&n===e?r.createElement(B,null):null}function V(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:o,localeConfigs:a}}=(0,f.Z)(),i=(0,g.Z)(e),{htmlLang:s,direction:l}=a[o];return r.createElement(p.Z,null,r.createElement("html",{lang:s,dir:l}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var H=n(44763),K=n(72389);function G(){const e=(0,K.Z)();return r.createElement(p.Z,null,r.createElement("html",{"data-has-hydrated":e}))}function Z(){const e=(0,d.H)(c.Z),t=(0,u.TH)();return r.createElement(H.Z,null,r.createElement(R.M,null,r.createElement(I.t,null,r.createElement(m,null,r.createElement(V,null),r.createElement($,null),r.createElement(z,null),r.createElement(P,{location:O(t)},e)),r.createElement(G,null))))}var W=n(16887);const Q=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 o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Y=n(99670);const q=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!q.has(e))(e))return!1;q.add(e);const t=(0,d.f)(c.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(W).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),A(e))},te=Object.freeze(ee);if(s.Z.canUseDOM){window.docusaurus=te;const e=o.hydrate;A(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(a.VK,null,r.createElement(Z,null))),document.getElementById("__docusaurus"))}))}},58940:(e,t,n)=>{"use strict";n.d(t,{_:()=>u,M:()=>d});var r=n(67294),o=n(36809);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"content/authorization-and-openfga","docs":[{"id":"content/authorization-and-openfga","path":"/docs/authorization-and-openfga","sidebar":"docs"},{"id":"content/concepts","path":"/docs/concepts","sidebar":"docs"},{"id":"content/configuration-language","path":"/docs/configuration-language","sidebar":"docs"},{"id":"content/getting-started/configure-model","path":"/docs/getting-started/configure-model","sidebar":"docs"},{"id":"content/getting-started/create-store","path":"/docs/getting-started/create-store","sidebar":"docs"},{"id":"content/getting-started/framework","path":"/docs/getting-started/framework","sidebar":"docs"},{"id":"content/getting-started/immutable-models","path":"/docs/getting-started/immutable-models","sidebar":"docs"},{"id":"content/getting-started/install-sdk","path":"/docs/getting-started/install-sdk","sidebar":"docs"},{"id":"content/getting-started/overview","path":"/docs/getting-started","sidebar":"docs"},{"id":"content/getting-started/perform-check","path":"/docs/getting-started/perform-check","sidebar":"docs"},{"id":"content/getting-started/perform-list-objects","path":"/docs/getting-started/perform-list-objects","sidebar":"docs"},{"id":"content/getting-started/production-best-practices","path":"/docs/getting-started/running-in-production","sidebar":"docs"},{"id":"content/getting-started/setup-openfga/docker-setup","path":"/docs/getting-started/setup-openfga/docker","sidebar":"docs"},{"id":"content/getting-started/setup-openfga/kubernetes-setup","path":"/docs/getting-started/setup-openfga/kubernetes","sidebar":"docs"},{"id":"content/getting-started/setup-openfga/overview","path":"/docs/getting-started/setup-openfga/overview","sidebar":"docs"},{"id":"content/getting-started/setup-sdk-client","path":"/docs/getting-started/setup-sdk-client","sidebar":"docs"},{"id":"content/getting-started/tuples-api-best-practices","path":"/docs/getting-started/tuples-api-best-practices","sidebar":"docs"},{"id":"content/getting-started/update-tuples","path":"/docs/getting-started/update-tuples","sidebar":"docs"},{"id":"content/interacting/managing-group-access","path":"/docs/interacting/managing-group-access","sidebar":"docs"},{"id":"content/interacting/managing-group-membership","path":"/docs/interacting/managing-group-membership","sidebar":"docs"},{"id":"content/interacting/managing-relationships-between-objects","path":"/docs/interacting/managing-relationships-between-objects","sidebar":"docs"},{"id":"content/interacting/managing-user-access","path":"/docs/interacting/managing-user-access","sidebar":"docs"},{"id":"content/interacting/overview","path":"/docs/interacting","sidebar":"docs"},{"id":"content/interacting/read-tuple-changes","path":"/docs/interacting/read-tuple-changes","sidebar":"docs"},{"id":"content/interacting/relationship-queries","path":"/docs/interacting/relationship-queries","sidebar":"docs"},{"id":"content/interacting/search-with-permissions","path":"/docs/interacting/search-with-permissions","sidebar":"docs"},{"id":"content/interacting/transactional-writes","path":"/docs/interacting/transactional-writes","sidebar":"docs"},{"id":"content/modeling/advanced/entitlements","path":"/docs/modeling/advanced/entitlements","sidebar":"docs"},{"id":"content/modeling/advanced/gdrive","path":"/docs/modeling/advanced/gdrive","sidebar":"docs"},{"id":"content/modeling/advanced/github","path":"/docs/modeling/advanced/github","sidebar":"docs"},{"id":"content/modeling/advanced/iot","path":"/docs/modeling/advanced/iot","sidebar":"docs"},{"id":"content/modeling/advanced/overview","path":"/docs/modeling/advanced","sidebar":"docs"},{"id":"content/modeling/advanced/slack","path":"/docs/modeling/advanced/slack","sidebar":"docs"},{"id":"content/modeling/blocklists","path":"/docs/modeling/blocklists","sidebar":"docs"},{"id":"content/modeling/building-blocks/concentric-relationships","path":"/docs/modeling/building-blocks/concentric-relationships","sidebar":"docs"},{"id":"content/modeling/building-blocks/direct-relationships","path":"/docs/modeling/building-blocks/direct-relationships","sidebar":"docs"},{"id":"content/modeling/building-blocks/object-to-object-relationships","path":"/docs/modeling/building-blocks/object-to-object-relationships","sidebar":"docs"},{"id":"content/modeling/building-blocks/overview","path":"/docs/modeling/building-blocks","sidebar":"docs"},{"id":"content/modeling/building-blocks/usersets","path":"/docs/modeling/building-blocks/usersets","sidebar":"docs"},{"id":"content/modeling/contextual-time-based-authorization","path":"/docs/modeling/contextual-time-based-authorization","sidebar":"docs"},{"id":"content/modeling/custom-roles","path":"/docs/modeling/custom-roles","sidebar":"docs"},{"id":"content/modeling/direct-access","path":"/docs/modeling/direct-access","sidebar":"docs"},{"id":"content/modeling/getting-started","path":"/docs/modeling/getting-started","sidebar":"docs"},{"id":"content/modeling/migrating/migrating-relations","path":"/docs/modeling/migrating/migrating-relations","sidebar":"docs"},{"id":"content/modeling/migrating/migrating-schema-1-1","path":"/docs/modeling/migrating/migrating-schema-1-1","sidebar":"docs"},{"id":"content/modeling/migrating/overview","path":"/docs/modeling/migrating","sidebar":"docs"},{"id":"content/modeling/multiple-restrictions","path":"/docs/modeling/multiple-restrictions","sidebar":"docs"},{"id":"content/modeling/organization-context-authorization","path":"/docs/modeling/organization-context-authorization","sidebar":"docs"},{"id":"content/modeling/overview","path":"/docs/modeling","sidebar":"docs"},{"id":"content/modeling/parent-child","path":"/docs/modeling/parent-child","sidebar":"docs"},{"id":"content/modeling/public-access","path":"/docs/modeling/public-access","sidebar":"docs"},{"id":"content/modeling/roles-and-permissions","path":"/docs/modeling/roles-and-permissions","sidebar":"docs"},{"id":"content/modeling/user-groups","path":"/docs/modeling/user-groups","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/docs/authorization-and-openfga","label":"What is OpenFGA"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(57529);const l=JSON.parse('{"docusaurusVersion":"2.4.3","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.3"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.4.3"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.3"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.3"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.3"},"webpack-overrides-docusaurus-plugin":{"type":"project"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"2.4.3"},"docusaurus-plugin-local-resolve":{"type":"package","name":"docusaurus-plugin-module-alias","version":"0.0.2"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.36.0"}}}'),c={siteConfig:o.default,siteMetadata:l,globalData:a,i18n:i,codeTranslations:s},u=r.createContext(c);function d(e){let{children:t}=e;return r.createElement(u.Provider,{value:c},t)}},44763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(67294),o=n(10412),a=n(35742),i=n(18780),s=n(40163);function l(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},r.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),r.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),r.createElement(c,{error:t}))}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function u(e){let{error:t,tryAgain:n}=e;return r.createElement(p,{fallback:()=>r.createElement(l,{error:t,tryAgain:n})},r.createElement(a.Z,null,r.createElement("title",null,"Page Error")),r.createElement(s.Z,null,r.createElement(l,{error:t,tryAgain:n})))}const d=e=>r.createElement(u,e);class p extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.Z.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??d)(e)}return e??null}}},10412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},35742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(67294),o=n(70405);function a(e){return r.createElement(o.ql,e)}},39960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(87462),o=n(67294),a=n(73727),i=n(18780),s=n(52263),l=n(13919),c=n(10412);const u=o.createContext({collectLink:()=>{}});var d=n(44996);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:{trailingSlash:v,baseUrl:_}}=(0,s.Z)(),{withBaseUrl:w}=(0,d.C)(),E=(0,o.useContext)(u),k=(0,o.useRef)(null);(0,o.useImperativeHandle)(t,(()=>k.current));const x=p||f;const T=(0,l.Z)(x),$=x?.replace("pathname://","");let S=void 0!==$?(O=$,b&&(e=>e.startsWith("/"))(O)?w(O):O):void 0;var O;S&&T&&(S=(0,i.applyTrailingSlash)(S,{trailingSlash:v,baseUrl:_}));const I=(0,o.useRef)(!1),R=n?a.OL:a.rU,C=c.Z.canUseIntersectionObserver,N=(0,o.useRef)(),A=()=>{I.current||null==S||(window.docusaurus.preload(S),I.current=!0)};(0,o.useEffect)((()=>(!C&&T&&null!=S&&window.docusaurus.prefetch(S),()=>{C&&N.current&&N.current.disconnect()})),[N,S,C,T]);const L=S?.startsWith("#")??!1,P=!S||!T||L;return P||g||E.collectLink(S),P?o.createElement("a",(0,r.Z)({ref:k,href:S},x&&!T&&{target:"_blank",rel:"noopener noreferrer"},y)):o.createElement(R,(0,r.Z)({},y,{onMouseEnter:A,onTouchStart:A,innerRef:e=>{k.current=e,C&&e&&T&&(N.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(N.current.unobserve(e),N.current.disconnect(),null!=S&&window.docusaurus.prefetch(S))}))})),N.current.observe(e))},to:S},n&&{isActive:h,activeClassName:m}))}const f=o.forwardRef(p)},95999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l,I:()=>s});var r=n(67294);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 a=n(57529);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return a[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return o(i({message:n,id:r}),t)}function l(e){let{children:t,id:n,values:a}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const s=i({message:t,id:n});return r.createElement(r.Fragment,null,o(s,a))}},29935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},13919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>o,b:()=>r})},44996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>s});var r=n(67294),o=n(52263),a=n(13919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:o=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,a.b)(n))return n;if(o)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},52263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(67294),o=n(58940);function a(){return(0,r.useContext)(o._)}},72389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(67294),o=n(98934);function a(){return(0,r.useContext)(o._)}},99670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const s=o?`${o}.${a}`:a;r(i)?e(i,s):t[s]=i}))}(e),t}},30226:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,z:()=>a});var r=n(67294);const o=r.createContext(null);function a(e){let{children:t,value:n}=e;const a=r.useContext(o),i=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:a,value:n})),[a,n]);return r.createElement(o.Provider,{value:i},t)}},80143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>h,gA:()=>p,_r:()=>u,Jo:()=>g,zh:()=>d,yW:()=>m,gB:()=>f});var r=n(16550),o=n(52263),a=n(29935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,o.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=function(e,t){const n=s(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),o=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}const c={},u=()=>i("docusaurus-plugin-content-docs")??c,d=e=>function(e,t,n){void 0===t&&(t=a.m),void 0===n&&(n={});const r=i(e),o=r?.[t];if(!o&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0});function p(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&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 a}(t,n,e)}function f(e){return d(e).versions}function m(e){const t=d(e);return s(t)}function h(e){const t=d(e),{pathname:n}=(0,r.TH)();return l(t,n)}function g(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=s(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},18320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(74865),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},78221:(e,t,n)=>{"use strict";n.r(t);var r=n(11205),o=n(36809),a=n(40801),i=n(30252);const s={...a.syntaxHighlighters.PrismExtensions.languageDefinition,[i.OpenFgaDslThemeTokenType.TYPE]:{...a.syntaxHighlighters.PrismExtensions.languageDefinition[i.OpenFgaDslThemeTokenType.TYPE],greedy:!0},[i.OpenFgaDslThemeTokenType.RELATION]:{...a.syntaxHighlighters.PrismExtensions.languageDefinition[i.OpenFgaDslThemeTokenType.RELATION],greedy:!0},[i.OpenFgaDslThemeTokenType.DIRECTLY_ASSIGNABLE]:/\[.*]|self/};!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(7464)(`./prism-${e}`)})),e.languages[a.syntaxHighlighters.PrismExtensions.LANGUAGE_NAME]=s,delete globalThis.Prism}(r.Z)},39471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(67294);const o={iconExternalLink:"iconExternalLink_nPIU"};function a(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:o.iconExternalLink},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},40163:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Lt});var r=n(67294),o=n(34334),a=n(44763),i=n(1944),s=n(87462),l=n(16550),c=n(95999),u=n(85936);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,u.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,c.I)({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:o}=f();return r.createElement("div",{ref:n,role:"region","aria-label":m},r.createElement("a",(0,s.Z)({},e,{href:`#${d}`,onClick:o}),t))}var g=n(35281),b=n(19727);const y={skipToContent:"skipToContent_fXgn"};function v(){return r.createElement(h,{className:y.skipToContent})}var _=n(86668),w=n(59689);function E(e){let{width:t=21,height:n=21,color:o="currentColor",strokeWidth:a=1.2,className:i,...l}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 15 15",width:t,height:n},l),r.createElement("g",{stroke:o,strokeWidth:a},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const k={closeButton:"closeButton_CVFx"};function x(e){return r.createElement("button",(0,s.Z)({type:"button","aria-label":(0,c.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,o.Z)("clean-btn close",k.closeButton,e.className)}),r.createElement(E,{width:14,height:14,strokeWidth:3.1}))}const T={content:"content_knG7"};function $(e){const{announcementBar:t}=(0,_.L)(),{content:n}=t;return r.createElement("div",(0,s.Z)({},e,{className:(0,o.Z)(T.content,e.className),dangerouslySetInnerHTML:{__html:n}}))}const S={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function O(){const{announcementBar:e}=(0,_.L)(),{isActive:t,close:n}=(0,w.nT)();if(!t)return null;const{backgroundColor:o,textColor:a,isCloseable:i}=e;return r.createElement("div",{className:S.announcementBar,style:{backgroundColor:o,color:a},role:"banner"},i&&r.createElement("div",{className:S.announcementBarPlaceholder}),r.createElement($,{className:S.announcementBarContent}),i&&r.createElement(x,{onClick:n,className:S.announcementBarClose}))}var I=n(93163),R=n(12466);var C=n(902),N=n(13102);const A=r.createContext(null);function L(e){let{children:t}=e;const n=function(){const e=(0,I.e)(),t=(0,N.HY)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,C.D9)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return r.createElement(A.Provider,{value:n},t)}function P(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function D(){const e=(0,r.useContext)(A);if(!e)throw new C.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,N.HY)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:P(a)})),[o,a,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:a}=e;const{shown:i}=D();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,o.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},a)))}var M=n(92949),j=n(72389);function U(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("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 B(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const z={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function V(e){let{className:t,buttonClassName:n,value:a,onChange:i}=e;const s=(0,j.Z)(),l=(0,c.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===a?(0,c.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,o.Z)(z.toggle,t)},r.createElement("button",{className:(0,o.Z)("clean-btn",z.toggleButton,!s&&z.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===a?"light":"dark"),disabled:!s,title:l,"aria-label":l,"aria-live":"polite"},r.createElement(U,{className:(0,o.Z)(z.toggleIcon,z.lightToggleIcon)}),r.createElement(B,{className:(0,o.Z)(z.toggleIcon,z.darkToggleIcon)})))}const H=r.memo(V),K={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,_.L)().navbar.style,o=(0,_.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:i}=(0,M.I)();return o?null:r.createElement(H,{className:t,buttonClassName:"dark"===n?K.darkNavbarColorModeToggle:void 0,value:a,onChange:i})}var Z=n(21327);function W(){return r.createElement(Z.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,I.e)();return r.createElement("button",{type:"button","aria-label":(0,c.I)({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()},r.createElement(E,{color:"var(--ifm-color-emphasis-600)"}))}function Y(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(W,null),r.createElement(G,{className:"margin-right--md"}),r.createElement(Q,null))}var q=n(39960),X=n(44996),J=n(13919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(39471);const ne="openfga_github_stars";function re(e){let{activeBasePath:t,activeBaseRegex:n,to:o,href:a,label:i,html:l,isDropdownLink:c,prependBaseUrlToHref:u,...d}=e;const p=(0,X.Z)(o),f=(0,X.Z)(t),m=(0,X.Z)(a,{forcePrependBaseUrl:!0}),h=i&&a&&!(0,J.Z)(a),[g,b]=(0,r.useState)(null);(0,r.useEffect)((()=>{g||(async()=>{const e=JSON.parse(sessionStorage.getItem(ne));try{if(e){const t=new Date(e.retrievedTime);if(t.setDate(t.getDate()+1),t.getTime()>Date.now())return void b({count:e.count,retrievedTime:Date.now()})}const t=await fetch("https://api.github.com/repos/openfga/openfga");if(!t.ok)throw new Error(`This is an HTTP error: The status is ${t.status}`);const n={count:(await t.json()).stargazers_count,retrievedTime:Date.now()};b(n),sessionStorage.setItem(ne,JSON.stringify(n))}catch(t){b(e||null)}})()}),[]);const y="GitHub"===i&&g?`GitHub | ${g.count}`:i,v=l?{dangerouslySetInnerHTML:{__html:l}}:{children:r.createElement(r.Fragment,null,y,h&&r.createElement(te.Z,c&&{width:12,height:12}))};return a?r.createElement(q.Z,(0,s.Z)({href:u?m:a},d,v)):r.createElement(q.Z,(0,s.Z)({to:p,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(f)},d,v))}function oe(e){let{className:t,isDropdownItem:n=!1,...a}=e;const i=r.createElement(re,(0,s.Z)({className:(0,o.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},a));return n?r.createElement("li",null,i):i}function ae(e){let{className:t,isDropdownItem:n,...a}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(re,(0,s.Z)({className:(0,o.Z)("menu__link",t)},a)))}function ie(e){let{mobile:t=!1,position:n,...o}=e;const a=t?ae:oe;return r.createElement(a,(0,s.Z)({},o,{activeClassName:o.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var se=n(86043),le=n(48596),ce=n(52263);function ue(e,t){return e.some((e=>function(e,t){return!!(0,le.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...l}=e;const c=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[c]),r.createElement("div",{ref:c,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u})},r.createElement(re,(0,s.Z)({"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,o.Z)("navbar__link",a)},l,{onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))}}),l.children??l.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>r.createElement(Ze,(0,s.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function pe(e){let{items:t,className:n,position:a,onClick:i,...c}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,ce.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ue(t,u),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,se.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),r.createElement("li",{className:(0,o.Z)("menu__list-item",{"menu__list-item--collapsed":p})},r.createElement(re,(0,s.Z)({role:"button",className:(0,o.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},c,{onClick:e=>{e.preventDefault(),f()}}),c.children??c.label),r.createElement(se.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p},t.map(((e,t)=>r.createElement(Ze,(0,s.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function fe(e){let{mobile:t=!1,...n}=e;const o=t?pe:de;return r.createElement(o,n)}var me=n(94711);function he(e){let{width:t=20,height:n=20,...o}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},o),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const ge="iconLanguage_nlXk";var be=n(61029),ye=n(1728),ve=n(10412),_e=n(60373),we=n(80143),Ee=n(90022),ke=n(98202),xe=n(73926),Te=n(91073),$e=n(82539),Se=n(10726);const Oe='',Ie='',Re='',Ce='',Ne='',Ae='',Le='',Pe={searchBar:"searchBar_RVTs",dropdownMenu:"dropdownMenu_qbY6",searchBarLeft:"searchBarLeft_MXDe",suggestion:"suggestion_fB_2",cursor:"cursor_eG29",hitTree:"hitTree_kk6K",hitIcon:"hitIcon_a7Zy",hitPath:"hitPath_ieM4",noResultsIcon:"noResultsIcon_EBY5",hitFooter:"hitFooter_E9YW",hitWrapper:"hitWrapper_sAK8",hitTitle:"hitTitle_vyVt",hitAction:"hitAction_NqkB",hideAction:"hideAction_vcyE",noResults:"noResults_l6Q3",searchBarContainer:"searchBarContainer_NW3z",searchBarLoadingRing:"searchBarLoadingRing_YnHq",searchClearButton:"searchClearButton_qk4g",searchIndexLoading:"searchIndexLoading_EJ1f",searchHintContainer:"searchHintContainer_Pkmr",searchHint:"searchHint_iIMx",focused:"focused_OWtg",input:"input_FOTf",hint:"hint_URu1",suggestions:"suggestions_X8XU",dataset:"dataset_QiCy",empty:"empty_eITn"};function De(e){let{document:t,type:n,page:r,metadata:o,tokens:a,isInterOfTree:i,isLastOfTree:s}=e;const l=0===n,c=1===n,u=[];i?u.push(Ae):s&&u.push(Le);const d=u.map((e=>`${e}`)),p=`${l?Oe:c?Ie:Re}`,f=[`${(0,Se.o)(t.t,(0,Te.m)(o,"t"),a)}`];if(!i&&!s&&be.H6){const e=r?(r.b??[]).concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;f.push(`${(0,xe.e)(e??[])}`)}else l||f.push(`${(0,$e.C)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),a)}`);const m=`${Ce}`;return[...d,p,``,...f,"",m].join("")}function Fe(){return`${Ne}${(0,c.I)({id:"theme.SearchBar.noResultsText",message:"No results"})}`}var Me=n(80311);async function je(){const e=await Promise.all([n.e(8443),n.e(5525)]).then(n.t.bind(n,68443,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const Ue="_highlight";const Be=function(e){let{handleSearchBarToggle:t}=e;const{siteConfig:{baseUrl:n}}=(0,ce.Z)(),o=(0,we.gA)();let a=n;try{const{preferredVersion:e}=(0,_e.J)(o?.pluginId??be.gQ);e&&!e.isLast&&(a=e.path+"/")}catch(L){if(be.l9&&!(L instanceof C.i6))throw L}const i=(0,l.k6)(),s=(0,l.TH)(),u=(0,r.useRef)(null),d=(0,r.useRef)(new Map),p=(0,r.useRef)(!1),[f,m]=(0,r.useState)(!1),[h,g]=(0,r.useState)(!1),[b,y]=(0,r.useState)(""),v=(0,r.useRef)(null),_=(0,r.useRef)(""),[w,E]=(0,r.useState)("");(0,r.useEffect)((()=>{if(!Array.isArray(be.Kc))return;let e="";if(s.pathname.startsWith(a)){const t=s.pathname.substring(a.length),n=be.Kc.find((e=>t===e||t.startsWith(`${e}/`)));n&&(e=n)}_.current!==e&&(d.current.delete(e),_.current=e),E(e)}),[s.pathname,a]);const k=!!be.hG&&Array.isArray(be.Kc)&&""===w,x=(0,r.useCallback)((async()=>{if(k||d.current.get(w))return;d.current.set(w,"loading"),v.current?.autocomplete.destroy(),m(!0);const[{wrappedIndexes:e,zhDictionary:t},r]=await Promise.all([(0,Ee.w)(a,w),je()]);if(v.current=r(u.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,ye.Z)(Pe.searchBar,{[Pe.searchBarLeft]:"left"===be.pu}),noPrefix:!0,dropdownMenu:Pe.dropdownMenu,input:Pe.input,hint:Pe.hint,suggestions:Pe.suggestions,suggestion:Pe.suggestion,cursor:Pe.cursor,dataset:Pe.dataset,empty:Pe.empty}},[{source:(0,ke.v)(e,t,be.qo),templates:{suggestion:De,empty:Fe,footer:e=>{let{query:t,isEmpty:r}=e;if(r&&!w)return;const o=(e=>{let{query:t,isEmpty:r}=e;const o=document.createElement("a"),s=new URLSearchParams,l=(0,c.I)({id:"theme.SearchBar.seeAll",message:"See all results"}),u=(0,c.I)({id:"theme.SearchBar.seeAllOutsideContext",message:"See results outside {context}"},{context:w}),d=(0,c.I)({id:"theme.SearchBar.searchInContext",message:"See all results in {context}"},{context:w});let p;if(s.set("q",t),p=w&&r?u:w?d:l,Array.isArray(be.Kc)&&!r&&s.set("ctx",w),a!==n){if(!a.startsWith(n))throw new Error(`Version url '${a}' does not start with base url '${n}', this is a bug of \`@easyops-cn/docusaurus-search-local\`, please report it.`);s.set("version",a.substring(n.length))}const f=`${n}search?${s.toString()}`;return o.href=f,o.textContent=p,o.addEventListener("click",(e=>{e.ctrlKey||e.metaKey||(e.preventDefault(),v.current?.autocomplete.close(),i.push(f))})),o})({query:t,isEmpty:r}),s=document.createElement("div");return s.className=Pe.hitFooter,s.appendChild(o),s}}}]).on("autocomplete:selected",(function(e,t){let{document:{u:n,h:r},tokens:o}=t;u.current?.blur();let a=n;if(be.vc&&o.length>0){const e=new URLSearchParams;for(const t of o)e.append(Ue,t);a+=`?${e.toString()}`}r&&(a+=r),i.push(a)})).on("autocomplete:closed",(()=>{u.current?.blur()})),d.current.set(w,"done"),m(!1),p.current){const e=u.current;e.value&&v.current?.autocomplete.open(),e.focus()}}),[k,w,a,n,i]);(0,r.useEffect)((()=>{if(!be.vc)return;const e=ve.Z.canUseDOM?new URLSearchParams(s.search).getAll(Ue):[];setTimeout((()=>{const t=document.querySelector("article");if(!t)return;const n=new be.vc(t);n.unmark(),0!==e.length&&n.mark(e),y(e.join(" ")),v.current?.autocomplete.setVal(e.join(" "))}))}),[s.search,s.pathname]);const[T,$]=(0,r.useState)(!1),S=(0,r.useCallback)((()=>{p.current=!0,x(),$(!0),t?.(!0)}),[t,x]),O=(0,r.useCallback)((()=>{$(!1),t?.(!1)}),[t]),I=(0,r.useCallback)((()=>{x()}),[x]),R=(0,r.useCallback)((e=>{y(e.target.value),e.target.value&&g(!0)}),[]),N=!!ve.Z.canUseDOM&&/mac/i.test(navigator.userAgentData?.platform??navigator.platform);(0,r.useEffect)((()=>{if(!be.AY)return;const e=e=>{!(N?e.metaKey:e.ctrlKey)||"k"!==e.key&&"K"!==e.key||(e.preventDefault(),u.current?.focus(),S())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[N,S]);const A=(0,r.useCallback)((()=>{const e=new URLSearchParams(s.search);e.delete(Ue);const t=e.toString(),n=s.pathname+(""!=t?`?${t}`:"")+s.hash;n!=s.pathname+s.search+s.hash&&i.push(n),y(""),v.current?.autocomplete.setVal("")}),[s.pathname,s.search,s.hash,i]);return r.createElement("div",{className:(0,ye.Z)("navbar__search",Pe.searchBarContainer,{[Pe.searchIndexLoading]:f&&h,[Pe.focused]:T}),hidden:k},r.createElement("input",{placeholder:(0,c.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:"navbar__search-input",onMouseEnter:I,onFocus:S,onBlur:O,onChange:R,ref:u,value:b}),r.createElement(Me.Z,{className:Pe.searchBarLoadingRing}),be.AY&&be.t_&&(""!==b?r.createElement("button",{className:Pe.searchClearButton,onClick:A},"\u2715"):ve.Z.canUseDOM&&r.createElement("div",{className:Pe.searchHintContainer},r.createElement("kbd",{className:Pe.searchHint},N?"\u2318":"ctrl"),r.createElement("kbd",{className:Pe.searchHint},"K"))))},ze={searchBox:"searchBox_ZlJk"};function Ve(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,o.Z)(n,ze.searchBox)},t)}var He=n(53438);const Ke=e=>e.docs.find((t=>t.id===e.mainDocId));const Ge={default:ie,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:o,...a}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,ce.Z)(),p=(0,me.l)(),{search:f,hash:m}=(0,l.TH)(),h=[...n,...u.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...o],g=t?(0,c.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(fe,(0,s.Z)({},a,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(he,{className:ge}),g),items:h}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement(Ve,{className:n},r.createElement(Be,null))},dropdown:fe,html:function(e){let{value:t,className:n,mobile:a=!1,isDropdownItem:i=!1}=e;const s=i?"li":"div";return r.createElement(s,{className:(0,o.Z)({navbar__item:!a&&!i,"menu__list-item":a},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:o,...a}=e;const{activeDoc:i}=(0,we.Iw)(o),l=(0,He.vY)(t,o);return null===l?null:r.createElement(ie,(0,s.Z)({exact:!0},a,{isActive:()=>i?.path===l.path||!!i?.sidebar&&i.sidebar===l.sidebar,label:n??l.id,to:l.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:o,...a}=e;const{activeDoc:i}=(0,we.Iw)(o),l=(0,He.oz)(t,o).link;if(!l)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(ie,(0,s.Z)({exact:!0},a,{isActive:()=>i?.sidebar===t,label:n??l.label,to:l.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:o,...a}=e;const i=(0,He.lO)(o)[0],l=t??i.label,c=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return r.createElement(ie,(0,s.Z)({},a,{label:l,to:c}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:o,dropdownItemsBefore:a,dropdownItemsAfter:i,...u}=e;const{search:d,hash:p}=(0,l.TH)(),f=(0,we.Iw)(n),m=(0,we.gB)(n),{savePreferredVersionName:h}=(0,_e.J)(n),g=[...a,...m.map((e=>{const t=f.alternateDocVersions[e.name]??Ke(e);return{label:e.label,to:`${t.path}${d}${p}`,isActive:()=>e===f.activeVersion,onClick:()=>h(e.name)}})),...i],b=(0,He.lO)(n)[0],y=t&&g.length>1?(0,c.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,v=t&&g.length>1?void 0:Ke(b).path;return g.length<=1?r.createElement(ie,(0,s.Z)({},u,{mobile:t,label:y,to:v,isActive:o?()=>!1:void 0})):r.createElement(fe,(0,s.Z)({},u,{mobile:t,label:y,to:v,items:g,isActive:o?()=>!1:void 0}))}};function Ze(e){let{type:t,...n}=e;const o=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=Ge[o];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(a,n)}function We(){const e=(0,I.e)(),t=(0,_.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(Ze,(0,s.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function Qe(e){return r.createElement("button",(0,s.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(c.Z,{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)"},"\u2190 Back to main menu"))}function Ye(){const e=0===(0,_.L)().navbar.items.length,t=D();return r.createElement(r.Fragment,null,!e&&r.createElement(Qe,{onClick:()=>t.hide()}),t.content)}function qe(){const e=(0,I.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(F,{header:r.createElement(Y,null),primaryMenu:r.createElement(We,null),secondaryMenu:r.createElement(Ye,null)}):null}const Xe={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Je(e){return r.createElement("div",(0,s.Z)({role:"presentation"},e,{className:(0,o.Z)("navbar-sidebar__backdrop",e.className)}))}function et(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,_.L)(),i=(0,I.e)(),{navbarRef:s,isNavbarVisible:l}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,R.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+c{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:s,"aria-label":(0,c.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.Z)("navbar","navbar--fixed-top",n&&[Xe.navbarHideable,!l&&Xe.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown})},t,r.createElement(Je,{onClick:i.toggle}),r.createElement(qe,null))}var tt=n(18780);const nt={errorBoundaryError:"errorBoundaryError_a6uf"};function rt(e){return r.createElement("button",(0,s.Z)({type:"button"},e),r.createElement(c.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function ot(e){let{error:t}=e;const n=(0,tt.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{className:nt.errorBoundaryError},n)}class at extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const it="right";function st(e){let{width:t=30,height:n=30,className:o,...a}=e;return r.createElement("svg",(0,s.Z)({className:o,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},a),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function lt(){const{toggle:e,shown:t}=(0,I.e)();return r.createElement("button",{onClick:e,"aria-label":(0,c.I)({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"},r.createElement(st,null))}const ct={colorModeToggle:"colorModeToggle_DEke"};function ut(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(at,{key:t,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})},r.createElement(Ze,e)))))}function dt(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function pt(){const e=(0,I.e)(),t=(0,_.L)().navbar.items,[n,o]=function(e){function t(e){return"left"===(e.position??it)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return r.createElement(dt,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(lt,null),r.createElement(W,null),r.createElement(ut,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(ut,{items:o}),r.createElement(G,{className:ct.colorModeToggle}),!a&&r.createElement(Ve,null,r.createElement(Be,null)))})}function ft(){return r.createElement(et,null,r.createElement(pt,null))}function mt(e){let{item:t}=e;const{to:n,href:o,label:a,prependBaseUrlToHref:i,...l}=t,c=(0,X.Z)(n),u=(0,X.Z)(o,{forcePrependBaseUrl:!0});return r.createElement(q.Z,(0,s.Z)({className:"footer__link-item"},o?{href:i?u:o}:{to:c},l),a,o&&!(0,J.Z)(o)&&r.createElement(te.Z,null))}function ht(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(mt,{item:t}))}function gt(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement(ht,{key:t,item:e})))))}function bt(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(gt,{key:t,column:e}))))}function yt(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function vt(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(mt,{item:t})}function _t(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(vt,{item:e}),t.length!==n+1&&r.createElement(yt,null))))))}function wt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(bt,{columns:t}):r.createElement(_t,{links:t})}var Et=n(50941);const kt={footerLogoLink:"footerLogoLink_BH7S"};function xt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),a={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(Et.Z,{className:(0,o.Z)("footer__logo",t.className),alt:t.alt,sources:a,width:t.width,height:t.height,style:t.style})}function Tt(e){let{logo:t}=e;return t.href?r.createElement(q.Z,{href:t.href,className:kt.footerLogoLink,target:t.target},r.createElement(xt,{logo:t})):r.createElement(xt,{logo:t})}function $t(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function St(e){let{style:t,links:n,logo:a,copyright:i}=e;return r.createElement("footer",{className:(0,o.Z)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(a||i)&&r.createElement("div",{className:"footer__bottom text--center"},a&&r.createElement("div",{className:"margin-bottom--sm"},a),i)))}function Ot(){const{footer:e}=(0,_.L)();if(!e)return null;const{copyright:t,links:n,logo:o,style:a}=e;return r.createElement(St,{style:a,links:n&&n.length>0&&r.createElement(wt,{links:n}),logo:o&&r.createElement(Tt,{logo:o}),copyright:t&&r.createElement($t,{copyright:t})})}const It=r.memo(Ot),Rt=(0,C.Qc)([M.S,w.pl,R.OC,_e.L5,i.VC,function(e){let{children:t}=e;return r.createElement(N.n2,null,r.createElement(I.M,null,r.createElement(L,null,t)))}]);function Ct(e){let{children:t}=e;return r.createElement(Rt,null,t)}function Nt(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(c.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement(rt,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(ot,{error:t})))))}const At={mainWrapper:"mainWrapper_z2l0"};function Lt(e){const{children:t,noFooter:n,wrapperClassName:s,title:l,description:c}=e;return(0,b.t)(),r.createElement(Ct,null,r.createElement(i.d,{title:l,description:c}),r.createElement(v,null),r.createElement(O,null),r.createElement(ft,null),r.createElement("div",{id:d,className:(0,o.Z)(g.k.wrapper.main,At.mainWrapper,s)},r.createElement(a.Z,{fallback:e=>r.createElement(Nt,e)},t)),!n&&r.createElement(It,null))}},21327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(87462),o=n(67294),a=n(39960),i=n(44996),s=n(52263),l=n(86668),c=n(50941);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},s=o.createElement(c.Z,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?o.createElement("div",{className:r},s):s}function d(e){const{siteConfig:{title:t}}=(0,s.Z)(),{navbar:{title:n,logo:c}}=(0,l.L)(),{imageClassName:d,titleClassName:p,...f}=e,m=(0,i.Z)(c?.href||"/"),h=n?"":t,g=c?.alt??h;return o.createElement(a.Z,(0,r.Z)({to:m},f,c?.target&&{target:c.target}),c&&o.createElement(u,{logo:c,alt:g,imageClassName:d}),null!=n&&o.createElement("b",{className:p},n))}},90197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(67294),o=n(35742);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return r.createElement(o.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),a&&r.createElement("meta",{name:"docusaurus_tag",content:a}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),a&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:a}))}},50941:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(87462),o=n(67294),a=n(34334),i=n(72389),s=n(92949);const l={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function c(e){const t=(0,i.Z)(),{colorMode:n}=(0,s.I)(),{sources:c,className:u,alt:d,...p}=e,f=t?"dark"===n?["dark"]:["light"]:["light","dark"];return o.createElement(o.Fragment,null,f.map((e=>o.createElement("img",(0,r.Z)({key:e,src:c[e],alt:d,className:(0,a.Z)(l.themedImage,l[`themedImage--${e}`],u)},p)))))}},86043:(e,t,n)=>{"use strict";n.d(t,{u:()=>l,z:()=>g});var r=n(87462),o=n(67294),a=n(10412),i=n(91442);const s="ease-in-out";function l(e){let{initialState:t}=e;const[n,r]=(0,o.useState)(t??!1),a=(0,o.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,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 p(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const a=(0,o.useRef)(!1);(0,o.useEffect)((()=>{const e=t.current;function o(){const t=e.scrollHeight,n=r?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${r?.easing??s}`,height:`${t}px`}}function l(){const t=o();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return d(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function f(e){if(!a.Z.canUseDOM)return e?c:u}function m(e){let{as:t="div",collapsed:n,children:r,animation:a,onCollapseTransitionEnd:i,className:s,disableSSRStyle:l}=e;const c=(0,o.useRef)(null);return p({collapsibleRef:c,collapsed:n,animation:a}),o.createElement(t,{ref:c,style:l?void 0:f(n),onTransitionEnd:e=>{"height"===e.propertyName&&(d(c.current,n),i?.(n))},className:s},r)}function h(e){let{collapsed:t,...n}=e;const[a,i]=(0,o.useState)(!t),[s,l]=(0,o.useState)(t);return(0,o.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,o.useLayoutEffect)((()=>{a&&l(t)}),[a,t]),a?o.createElement(m,(0,r.Z)({},n,{collapsed:s})):null}function g(e){let{lazy:t,...n}=e;const r=t?h:m;return o.createElement(r,n)}},59689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>f});var r=n(67294),o=n(72389),a=n(50012),i=n(902),s=n(86668);const l=(0,a.WA)("docusaurus.announcement.dismiss"),c=(0,a.WA)("docusaurus.announcement.id"),u=()=>"true"===l.get(),d=e=>l.set(String(e)),p=r.createContext(null);function f(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,o.Z)(),[n,a]=(0,r.useState)((()=>!!t&&u()));(0,r.useEffect)((()=>{a(u())}),[]);const i=(0,r.useCallback)((()=>{d(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&d(!1),!r&&u()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(p.Provider,{value:n},t)}function m(){const e=(0,r.useContext)(p);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},92949:(e,t,n)=>{"use strict";n.d(t,{I:()=>g,S:()=>h});var r=n(67294),o=n(10412),a=n(902),i=n(50012),s=n(86668);const l=r.createContext(void 0),c="theme",u=(0,i.WA)(c),d={light:"light",dark:"dark"},p=e=>e===d.dark?d.dark:d.light,f=e=>o.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),m=e=>{u.set(p(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[o,a]=(0,r.useState)(f(e));(0,r.useEffect)((()=>{t&&u.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&m(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),u.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=u.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===d.dark},setLightTheme(){i(d.light)},setDarkTheme(){i(d.dark)}})),[o,i])}();return r.createElement(l.Provider,{value:n},t)}function g(){const e=(0,r.useContext)(l);if(null==e)throw new a.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},60373:(e,t,n)=>{"use strict";n.d(t,{J:()=>y,L5:()=>g});var r=n(67294),o=n(80143),a=n(29935),i=n(86668),s=n(53438),l=n(902),c=n(50012);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,c.WA)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.WA)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.WA)(u(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const f=r.createContext(null);function m(){const e=(0,o._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,s]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return r.createElement(f.Provider,{value:n},t)}function g(e){let{children:t}=e;return s.cE?r.createElement(h,null,t):r.createElement(r.Fragment,null,t)}function b(){const e=(0,r.useContext)(f);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=a.m);const t=(0,o.zh)(e),[n,i]=b(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,b:()=>s});var r=n(67294),o=n(902);const a=Symbol("EmptyContext"),i=r.createContext(a);function s(e){let{children:t,name:n,items:o}=e;const a=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return r.createElement(i.Provider,{value:a},t)}function l(){const e=(0,r.useContext)(i);if(e===a)throw new o.i6("DocsSidebarProvider");return e}},93163:(e,t,n)=>{"use strict";n.d(t,{M:()=>d,e:()=>p});var r=n(67294),o=n(13102),a=n(87524),i=n(91980),s=n(86668),l=n(902);const c=r.createContext(void 0);function u(){const e=function(){const e=(0,o.HY)(),{items:t}=(0,s.L)().navbar;return 0===t.length&&!e.component}(),t=(0,a.i)(),n=!e&&"mobile"===t,[l,c]=(0,r.useState)(!1);(0,i.Rb)((()=>{if(l)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:l})),[e,n,u,l])}function d(e){let{children:t}=e;const n=u();return r.createElement(c.Provider,{value:n},t)}function p(){const e=r.useContext(c);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},13102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>l,n2:()=>i});var r=n(67294),o=n(902);const a=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(a.Provider,{value:n},t)}function s(){const e=(0,r.useContext)(a);if(!e)throw new o.i6("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const i=(0,r.useContext)(a);if(!i)throw new o.i6("NavbarSecondaryMenuContentProvider");const[,s]=i,l=(0,o.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},19727:(e,t,n)=>{"use strict";n.d(t,{h:()=>o,t:()=>a});var r=n(67294);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},87524:(e,t,n)=>{"use strict";n.d(t,{i:()=>c});var r=n(67294),o=n(10412);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(){return o.Z.canUseDOM?window.innerWidth>i?a.desktop:a.mobile:a.ssr}const l=!1;function c(){const[e,t]=(0,r.useState)((()=>l?"ssr":s()));return(0,r.useEffect)((()=>{function e(){t(s())}const n=l?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(n)}}),[]),e}},35281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},91442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},53438:(e,t,n)=>{"use strict";n.d(t,{Wl:()=>p,_F:()=>h,cE:()=>d,hI:()=>w,lO:()=>y,oz:()=>v,s1:()=>b,vY:()=>_});var r=n(67294),o=n(16550),a=n(18790),i=n(80143),s=n(60373),l=n(1116),c=n(67392),u=n(48596);const d=!!i._r;function p(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=p(t);if(e)return e}}}const f=(e,t)=>void 0!==e&&(0,u.Mg)(e,t),m=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?f(e.href,t):"category"===e.type&&(f(e.href,t)||m(e.items,t))}function g(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,u.Mg)(a.href,n)||e(a.items))||"link"===a.type&&(0,u.Mg)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function b(){const e=(0,l.V)(),{pathname:t}=(0,o.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?g({sidebarItems:e.items,pathname:t}):null}function y(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),o=(0,i.yW)(e);return(0,r.useMemo)((()=>(0,c.j)([t,n,o].filter(Boolean))),[t,n,o])}function v(e,t){const n=y(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=y(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,c.j)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function w(e){let{route:t,versionMetadata:n}=e;const r=(0,o.TH)(),i=t.routes,s=i.find((e=>(0,o.LX)(r.pathname,e)));if(!s)return null;const l=s.sidebar,c=l?n.docsSidebars[l]:void 0;return{docElement:(0,a.H)(i),sidebarName:l,sidebarItems:c}}},91980:(e,t,n)=>{"use strict";n.d(t,{Rb:()=>s,_X:()=>l});var r=n(67294),o=n(16550),a=n(61688),i=n(902);function s(e){!function(e){const t=(0,o.k6)(),n=(0,i.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function l(e){return function(e){const t=(0,o.k6)();return(0,a.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}},67392:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function o(e){return Array.from(new Set(e))}n.d(t,{j:()=>o,l:()=>r})},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>p,d:()=>u,VC:()=>f});var r=n(67294),o=n(87459),a=n(35742),i=n(30226);function s(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(44996),c=n(52263);function u(e){let{title:t,description:n,keywords:o,image:i,children:s}=e;const u=function(e){const{siteConfig:t}=(0,c.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,l.C)(),p=i?d(i,{absolute:!0}):void 0;return r.createElement(a.Z,null,t&&r.createElement("title",null,u),t&&r.createElement("meta",{property:"og:title",content:u}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),o&&r.createElement("meta",{name:"keywords",content:Array.isArray(o)?o.join(","):o}),p&&r.createElement("meta",{property:"og:image",content:p}),p&&r.createElement("meta",{name:"twitter:image",content:p}),s)}const d=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,o.Z)(i,t);return r.createElement(d.Provider,{value:s},r.createElement(a.Z,null,r.createElement("html",{className:s})),n)}function f(e){let{children:t}=e;const n=s(),a=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(p,{className:(0,o.Z)(a,i)},t)}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>c,Ql:()=>l,i6:()=>s,zX:()=>a});var r=n(67294);const o=n(10412).Z.canUseDOM?r.useLayoutEffect:r.useEffect;function a(e){const t=(0,r.useRef)(e);return o((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return o((()=>{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 l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},48596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(67294),o=n(723),a=n(52263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,a.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.Z,baseUrl:e})),[e])}},12466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>l,RF:()=>d,o5:()=>p});var r=n(67294),o=n(10412),a=n(72389),i=n(902);const s=r.createContext(void 0);function l(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(s.Provider,{value:n},t)}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const u=()=>o.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),o=(0,r.useRef)(u()),a=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=u();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function p(){const e=c(),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),o=(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,r.useLayoutEffect)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:o}}function f(){const e=(0,r.useRef)(null),t=(0,a.Z)()&&"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 o=document.documentElement.scrollTop;(n&&o>e||!n&&ot&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},43320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>o});n(52263);const r="default";function o(e,t){return`docs-${e}-${t}`}},50012:(e,t,n)=>{"use strict";n.d(t,{Nk:()=>d,WA:()=>u});var r=n(67294),o=n(61688);const a="localStorage";function i(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function s(e){if(void 0===e&&(e=a),"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,l||(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),l=!0),null}var t}let l=!1;const c={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=s(t?.persistence);return null===n?c:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),i({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),i({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?c:u(e,t))).current(),a=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,o.useSyncExternalStore)(a,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}},94711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(52263),o=n(16550),a=n(18780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.Z)(),{pathname:l}=(0,o.TH)(),c=(0,a.applyTrailingSlash)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},85936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(67294),o=n(16550),a=n(902);function i(e){const t=(0,o.TH)(),n=(0,a.D9)(t),i=(0,a.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},86668:(e,t,n)=>{"use strict";n.d(t,{L:()=>o});var r=n(52263);function o(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[o]=e.split(/[#?]/),a="/"===o||o===r?o:(i=o,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(o,a)}},54143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},18780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(o).default}});var a=n(54143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return a.getErrorCausalChain}})},80311:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(67294),o=n(1728);const a={loadingRing:"loadingRing_RJI3","loading-ring":"loading-ring_FB5o"};function i(e){let{className:t}=e;return r.createElement("div",{className:(0,o.Z)(a.loadingRing,t)},r.createElement("div",null),r.createElement("div",null),r.createElement("div",null),r.createElement("div",null))}},90022:(e,t,n)=>{"use strict";n.d(t,{w:()=>s});var r=n(31336),o=n.n(r),a=n(61029);const i=new Map;function s(e,t){const n=`${e}${t}`;let r=i.get(n);return r||(r=async function(e,t){{const n=`${e}${a.J.replace("{dir}",t?`-${t.replace(/\//g,"-")}`:"")}`;if(new URL(n,location.origin).origin!==location.origin)throw new Error("Unexpected version url");const r=await(await fetch(n)).json(),i=r.map(((e,t)=>{let{documents:n,index:r}=e;return{type:t,documents:n,index:o().Index.load(r)}})),s=r.reduce(((e,t)=>{for(const n of t.index.invertedIndex)/\p{Unified_Ideograph}/u.test(n[0][0])&&e.add(n[0]);return e}),new Set);return{wrappedIndexes:i,zhDictionary:Array.from(s)}}return{wrappedIndexes:[],zhDictionary:[]}}(e,t),i.set(n,r)),r}},98202:(e,t,n)=>{"use strict";n.d(t,{v:()=>l});var r=n(31336),o=n.n(r);var a=n(61029);function i(e){return s(e).concat(s(e.filter((e=>{const t=e[e.length-1];return!t.trailing&&t.maybeTyping})),!0))}function s(e,t){return e.map((e=>({tokens:e.map((e=>e.value)),term:e.map((e=>({value:e.value,presence:o().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?o().Query.wildcard.TRAILING:o().Query.wildcard.NONE})))})))}function l(e,t,n){return function(r,s){const l=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return o()[t[0]].tokenizer(e).map((e=>e.toString()));let n=/[^-\s]+/g;return t.includes("zh")&&(n=/\w+|\p{Unified_Ideograph}+/gu),e.toLowerCase().match(n)||[]}(r,a.dK);if(0===l.length)return void s([]);const c=function(e,t){const n=function(e,t){const n=[];return function e(r,o){if(0===r.length)return void n.push(o);const a=r[0];if(/\p{Unified_Ideograph}/u.test(a)){const n=function(e,t){const n=[];return function e(r,o){let a=0,i=!1;for(const s of t)if(r.substr(0,s.length)===s){const t={missed:o.missed,term:o.term.concat({value:s})};r.length>s.length?e(r.substr(s.length),t):n.push(t),i=!0}else for(let t=s.length-1;t>a;t-=1){const l=s.substr(0,t);if(r.substr(0,t)===l){a=t;const s={missed:o.missed,term:o.term.concat({value:l,trailing:!0})};r.length>t?e(r.substr(t),s):n.push(s),i=!0;break}}i||(r.length>0?e(r.substr(1),{missed:o.missed+1,term:o.term}):o.term.length>0&&n.push(o))}(e,{missed:0,term:[]}),n.sort(((e,t)=>{const n=e.missed>0?1:0,r=t.missed>0?1:0;return n!==r?n-r:e.term.length-t.term.length})).map((e=>e.term))}(a,t);for(const t of n){const n=o.concat(...t);e(r.slice(1),n)}}else{const t=o.concat({value:a});e(r.slice(1),t)}}(e,[]),n}(e,t);if(0===n.length)return[{tokens:e,term:e.map((e=>({value:e,presence:o().Query.presence.REQUIRED,wildcard:o().Query.wildcard.LEADING|o().Query.wildcard.TRAILING})))}];for(const o of n)o[o.length-1].maybeTyping=!0;const r=[];for(const i of a.dK)if("en"===i)a._k||r.unshift(o().stopWordFilter);else{const e=o()[i];e.stopWordFilter&&r.unshift(e.stopWordFilter)}let s;if(r.length>0){const e=e=>r.reduce(((e,t)=>e.filter((e=>t(e.value)))),e);s=[];const t=[];for(const r of n){const n=e(r);s.push(n),n.length0&&t.push(n)}n.push(...t)}else s=n.slice();const l=[];for(const o of s)if(o.length>2)for(let e=o.length-1;e>=0;e-=1)l.push(o.slice(0,e).concat(o.slice(e+1)));return i(n).concat(i(l))}(l,t),u=[];e:for(const{term:t,tokens:o}of c)for(const{documents:r,index:a,type:i}of e)if(u.push(...a.query((e=>{for(const n of t)e.term(n.value,{wildcard:n.wildcard,presence:n.presence})})).slice(0,n).filter((e=>!u.some((t=>t.document.i.toString()===e.ref)))).slice(0,n-u.length).map((t=>{const n=r.find((e=>e.i.toString()===t.ref));return{document:n,type:i,page:0!==i&&e[0].documents.find((e=>e.i===n.p)),metadata:t.matchData.metadata,tokens:o,score:t.score}}))),u.length>=n)break e;!function(e){e.forEach(((e,t)=>{e.index=t})),e.sort(((t,n)=>{let r=t.type>0&&t.page?e.findIndex((e=>e.document===t.page)):t.index,o=n.type>0&&n.page?e.findIndex((e=>e.document===n.page)):n.index;return-1===r&&(r=t.index),-1===o&&(o=n.index),r===o?0===t.type?-1:0===n.type?1:t.index-n.index:r-o}))}(u),function(e){e.forEach(((t,n)=>{n>0&&t.page&&e.some((e=>e.document===t.page))&&(n{"use strict";function r(e){return e.join(" \u203a ")}n.d(t,{e:()=>r})},21690:(e,t,n)=>{"use strict";function r(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{X:()=>r})},91073:(e,t,n)=>{"use strict";function r(e,t){const n=[];for(const r of Object.values(e))r[t]&&n.push(...r[t].position);return n.sort(((e,t)=>e[0]-t[0]||t[1]-e[1]))}n.d(t,{m:()=>r})},82539:(e,t,n)=>{"use strict";n.d(t,{C:()=>o});var r=n(21690);function o(e,t,n){const a=[];for(const i of t){const n=e.toLowerCase().indexOf(i);if(n>=0){n>0&&a.push(o(e.substr(0,n),t)),a.push(`${(0,r.X)(e.substr(n,i.length))}`);const s=n+i.length;s${(0,r.X)(e)}`:(0,r.X)(e):a.join("")}},10726:(e,t,n)=>{"use strict";n.d(t,{o:()=>l});var r=n(21690),o=n(82539);const a=/\w+|\p{Unified_Ideograph}/u;function i(e){const t=[];let n=0,r=e;for(;r.length>0;){const o=r.match(a);if(!o){t.push(r);break}o.index>0&&t.push(r.substring(0,o.index)),t.push(o[0]),n+=o.index+o[0].length,r=e.substring(n)}return t}var s=n(61029);function l(e,t,n,a){void 0===a&&(a=s.Hk);const{chunkIndex:l,chunks:c}=function(e,t,n){const a=[];let s=0,l=0,c=-1;for(;sl){const t=i(e.substring(l,u)).map((e=>({html:(0,r.X)(e),textLength:e.length})));for(const e of t)a.push(e)}-1===c&&(c=a.length),l=u+d,a.push({html:(0,o.C)(e.substring(u,l),n,!0),textLength:d})}}if(l({html:(0,r.X)(e),textLength:e.length})));for(const e of t)a.push(e)}return{chunkIndex:c,chunks:a}}(e,t,n),u=c.slice(0,l),d=c[l],p=[d.html],f=c.slice(l+1);let m=d.textLength,h=0,g=0,b=!1,y=!1;for(;m0){const e=u.pop();m+e.textLength<=a?(p.unshift(e.html),h+=e.textLength,m+=e.textLength):(b=!0,u.length=0)}else{if(!(f.length>0))break;{const e=f.shift();m+e.textLength<=a?(p.push(e.html),g+=e.textLength,m+=e.textLength):(y=!0,f.length=0)}}return(b||u.length>0)&&p.unshift("\u2026"),(y||f.length>0)&&p.push("\u2026"),p.join("")}},61029:(e,t,n)=>{"use strict";n.d(t,{vc:()=>a,gQ:()=>f,H6:()=>c,hG:()=>g,l9:()=>m,dK:()=>r,_k:()=>o,pu:()=>p,AY:()=>u,t_:()=>d,Kc:()=>h,J:()=>i,Hk:()=>l,qo:()=>s,pQ:()=>b});n(31336);const r=["en"],o=!1,a=null,i="search-index{dir}.json?_=5704e271",s=8,l=50,c=!1,u=!0,d=!0,p="right",f=void 0,m=!0,h=null,g=!1,b=!1},99318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>_,q_:()=>$,ob:()=>f,PP:()=>O,Ep:()=>p});var r=n(87462);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(38776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.Z)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,h(),_.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(_.entries[_.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=_.index+e;return t>=0&&t<_.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return _}},8679:(e,t,n)=>{"use strict";var r=n(59864),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={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},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=f(n);o&&o!==m&&e(t,o,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),h=l(n),g=0;g{"use strict";e.exports=function(e,t,n,r,o,a,i,s){if(!e){var l;if(void 0===t)l=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,o,a,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},31336:(e,t,n)=>{var r,o;!function(){var a,i,s,l,c,u,d,p,f,m,h,g,b,y,v,_,w,E,k,x,T,$,S,O,I,R,C,N,A,L,P=function(e){var t=new P.Builder;return t.pipeline.add(P.trimmer,P.stopWordFilter,P.stemmer),t.searchPipeline.add(P.stemmer),e.call(t,t),t.build()};P.version="2.3.9",P.utils={},P.utils.warn=(a=this,function(e){a.console&&console.warn&&console.warn(e)}),P.utils.asString=function(e){return null==e?"":e.toString()},P.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var l=P.utils.clone(t)||{};l.position=[i,s],l.index=o.length,o.push(new P.Token(n.slice(i,a),l))}i=a+1}}return o},P.tokenizer.separator=/[\s\-]+/,P.Pipeline=function(){this._stack=[]},P.Pipeline.registeredFunctions=Object.create(null),P.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&P.utils.warn("Overwriting existing registered function: "+t),e.label=t,P.Pipeline.registeredFunctions[e.label]=e},P.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||P.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},P.Pipeline.load=function(e){var t=new P.Pipeline;return e.forEach((function(e){var n=P.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},P.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){P.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},P.Pipeline.prototype.after=function(e,t){P.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},P.Pipeline.prototype.before=function(e,t){P.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},P.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},P.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(ae&&(n=o),a!=e);)r=n-t,o=t+Math.floor(r/2),a=this.elements[2*o];return a==e||a>e?2*o:as?c+=2:i==s&&(t+=n[l+1]*r[c+1],l+=2,c+=2);return t},P.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},P.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var a,i=o.str.charAt(0);i in o.node.edges?a=o.node.edges[i]:(a=new P.TokenSet,o.node.edges[i]=a),1==o.str.length&&(a.final=!0),r.push({node:a,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var s=o.node.edges["*"];else{s=new P.TokenSet;o.node.edges["*"]=s}if(0==o.str.length&&(s.final=!0),r.push({node:s,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&r.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var l=o.node.edges["*"];else{l=new P.TokenSet;o.node.edges["*"]=l}1==o.str.length&&(l.final=!0),r.push({node:l,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var c,u=o.str.charAt(0),d=o.str.charAt(1);d in o.node.edges?c=o.node.edges[d]:(c=new P.TokenSet,o.node.edges[d]=c),1==o.str.length&&(c.final=!0),r.push({node:c,editsRemaining:o.editsRemaining-1,str:u+o.str.slice(2)})}}}return n},P.TokenSet.fromString=function(e){for(var t=new P.TokenSet,n=t,r=0,o=e.length;r=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},P.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},P.Index.prototype.search=function(e){return this.query((function(t){new P.QueryParser(e,t).parse()}))},P.Index.prototype.query=function(e){for(var t=new P.Query(this.fields),n=Object.create(null),r=Object.create(null),o=Object.create(null),a=Object.create(null),i=Object.create(null),s=0;s1?1:e},P.Builder.prototype.k1=function(e){this._k1=e},P.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var o=0;o=this.length)return P.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},P.QueryLexer.prototype.width=function(){return this.pos-this.start},P.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},P.QueryLexer.prototype.backup=function(){this.pos-=1},P.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=P.QueryLexer.EOS&&this.backup()},P.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(P.QueryLexer.TERM)),e.ignore(),e.more())return P.QueryLexer.lexText},P.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(P.QueryLexer.EDIT_DISTANCE),P.QueryLexer.lexText},P.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(P.QueryLexer.BOOST),P.QueryLexer.lexText},P.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(P.QueryLexer.TERM)},P.QueryLexer.termSeparator=P.tokenizer.separator,P.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==P.QueryLexer.EOS)return P.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return P.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(P.QueryLexer.TERM),P.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(P.QueryLexer.TERM),P.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(P.QueryLexer.PRESENCE),P.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(P.QueryLexer.PRESENCE),P.QueryLexer.lexText;if(t.match(P.QueryLexer.termSeparator))return P.QueryLexer.lexTerm}else e.escapeCharacter()}},P.QueryParser=function(e,t){this.lexer=new P.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},P.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=P.QueryParser.parseClause;e;)e=e(this);return this.query},P.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},P.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},P.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},P.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case P.QueryLexer.PRESENCE:return P.QueryParser.parsePresence;case P.QueryLexer.FIELD:return P.QueryParser.parseField;case P.QueryLexer.TERM:return P.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new P.QueryParseError(n,t.start,t.end)}},P.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=P.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=P.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new P.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new P.QueryParseError(n,t.start,t.end)}switch(r.type){case P.QueryLexer.FIELD:return P.QueryParser.parseField;case P.QueryLexer.TERM:return P.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new P.QueryParseError(n,r.start,r.end)}}},P.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new P.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o){r="expecting term, found nothing";throw new P.QueryParseError(r,t.start,t.end)}if(o.type===P.QueryLexer.TERM)return P.QueryParser.parseTerm;r="expecting term, found '"+o.type+"'";throw new P.QueryParseError(r,o.start,o.end)}},P.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case P.QueryLexer.TERM:return e.nextClause(),P.QueryParser.parseTerm;case P.QueryLexer.FIELD:return e.nextClause(),P.QueryParser.parseField;case P.QueryLexer.EDIT_DISTANCE:return P.QueryParser.parseEditDistance;case P.QueryLexer.BOOST:return P.QueryParser.parseBoost;case P.QueryLexer.PRESENCE:return e.nextClause(),P.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new P.QueryParseError(r,n.start,n.end)}else e.nextClause()}},P.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new P.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case P.QueryLexer.TERM:return e.nextClause(),P.QueryParser.parseTerm;case P.QueryLexer.FIELD:return e.nextClause(),P.QueryParser.parseField;case P.QueryLexer.EDIT_DISTANCE:return P.QueryParser.parseEditDistance;case P.QueryLexer.BOOST:return P.QueryParser.parseBoost;case P.QueryLexer.PRESENCE:return e.nextClause(),P.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new P.QueryParseError(r,o.start,o.end)}else e.nextClause()}},P.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new P.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case P.QueryLexer.TERM:return e.nextClause(),P.QueryParser.parseTerm;case P.QueryLexer.FIELD:return e.nextClause(),P.QueryParser.parseField;case P.QueryLexer.EDIT_DISTANCE:return P.QueryParser.parseEditDistance;case P.QueryLexer.BOOST:return P.QueryParser.parseBoost;case P.QueryLexer.PRESENCE:return e.nextClause(),P.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new P.QueryParseError(r,o.start,o.end)}else e.nextClause()}},void 0===(o="function"==typeof(r=function(){return P})?r.call(t,n,t,e):r)||(e.exports=o)}()},32497:(e,t,n)=>{"use strict";n.r(t)},52295:(e,t,n)=>{"use strict";n.r(t)},43576:(e,t,n)=>{"use strict";n.r(t)},69654:function(e){var t,n;t=this,n=function(){function e(t,n,r){return this.id=++e.highestId,this.name=t,this.symbols=n,this.postprocess=r,this}function t(e,t,n,r){this.rule=e,this.dot=t,this.reference=n,this.data=[],this.wantedBy=r,this.isComplete=this.dot===e.symbols.length}function n(e,t){this.grammar=e,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}function r(e,t){this.rules=e,this.start=t||this.rules[0].name;var n=this.byName={};this.rules.forEach((function(e){n.hasOwnProperty(e.name)||(n[e.name]=[]),n[e.name].push(e)}))}function o(){this.reset("")}function a(e,t,a){if(e instanceof r){var i=e;a=t}else i=r.fromCompiled(e,t);for(var s in this.grammar=i,this.options={keepHistory:!1,lexer:i.lexer||new o},a||{})this.options[s]=a[s];this.lexer=this.options.lexer,this.lexerState=void 0;var l=new n(i,0);this.table=[l],l.wants[i.start]=[],l.predict(i.start),l.process(),this.current=0}function i(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return e.toString();if(e.type)return"%"+e.type;if(e.test)return"<"+String(e.test)+">";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var t=void 0===e?this.symbols.map(i).join(" "):this.symbols.slice(0,e).map(i).join(" ")+" \u25cf "+this.symbols.slice(e).map(i).join(" ");return this.name+" \u2192 "+t},t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(e){var n=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return n.left=this,n.right=e,n.isComplete&&(n.data=n.build(),n.right=void 0),n},t.prototype.build=function(){var e=[],t=this;do{e.push(t.right.data),t=t.left}while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,a.fail))},n.prototype.process=function(e){for(var t=this.states,n=this.wants,r=this.completed,o=0;o0&&t.push(" ^ "+r+" more lines identical to this"),r=0,t.push(" "+i)),n=i}},a.prototype.getSymbolDisplay=function(e){return function(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},a.prototype.buildFirstStateStack=function(e,t){if(-1!==t.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var n=e.wantedBy[0],r=[e].concat(t),o=this.buildFirstStateStack(n,r);return null===o?null:[e].concat(o)},a.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},a.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},a.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},a.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach((function(n){n.rule.name===t&&n.dot===n.rule.symbols.length&&0===n.reference&&n.data!==a.fail&&e.push(n)})),e.map((function(e){return e.data}))},{Parser:a,Grammar:r,Rule:e}},e.exports?e.exports=n():t.nearley=n()},74865:function(e,t,n){var r,o;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 o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}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=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){l(a,{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)*o(Math.random()*t,.1,.95)),t=o(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 o,i=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),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&&f(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 s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=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,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},27418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(o){return!1}}()?Object.assign:function(e,o){for(var a,i,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l{var r=n(5826);e.exports=f,e.exports.parse=a,e.exports.compile=function(e,t){return s(a(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,i=0,s="",u=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],p=n[1],f=n.index;if(s+=e.slice(i,f),i=f+d.length,p)s+=p[1];else{var m=e[i],h=n[2],g=n[3],b=n[4],y=n[5],v=n[6],_=n[7];s&&(r.push(s),s="");var w=null!=h&&null!=m&&m!==h,E="+"===v||"*"===v,k="?"===v||"*"===v,x=n[2]||u,T=b||y;r.push({name:g||a++,prefix:h||"",delimiter:x,optional:k,repeat:E,partial:w,asterisk:!!_,pattern:T?c(T):_?".*":"[^"+l(x)+"]+?"})}}return i{!function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return"(?:"+t[+n]+")"}))}function n(e,n,r){return RegExp(t(e,n),r||"")}function r(e,t){for(var n=0;n>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}var o="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",a="class enum interface record struct",i="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",s="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var c=l(a),u=RegExp(l(o+" "+a+" "+i+" "+s)),d=l(a+" "+i+" "+s),p=l(o+" "+a+" "+s),f=r(/<(?:[^<>;=+\-*/%&|^]|<>)*>/.source,2),m=r(/\((?:[^()]|<>)*\)/.source,2),h=/@?\b[A-Za-z_]\w*\b/.source,g=t(/<<0>>(?:\s*<<1>>)?/.source,[h,f]),b=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[d,g]),y=/\[\s*(?:,\s*)*\]/.source,v=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[b,y]),_=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[f,m,y]),w=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[_]),E=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[w,b,y]),k={keyword:u,punctuation:/[<>()?,.:[\]]/},x=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,T=/"(?:\\.|[^\\"\r\n])*"/.source,$=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:n(/(^|[^$\\])<<0>>/.source,[$]),lookbehind:!0,greedy:!0},{pattern:n(/(^|[^@$\\])<<0>>/.source,[T]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[b]),lookbehind:!0,inside:k},{pattern:n(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[h,E]),lookbehind:!0,inside:k},{pattern:n(/(\busing\s+)<<0>>(?=\s*=)/.source,[h]),lookbehind:!0},{pattern:n(/(\b<<0>>\s+)<<1>>/.source,[c,g]),lookbehind:!0,inside:k},{pattern:n(/(\bcatch\s*\(\s*)<<0>>/.source,[b]),lookbehind:!0,inside:k},{pattern:n(/(\bwhere\s+)<<0>>/.source,[h]),lookbehind:!0},{pattern:n(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[v]),lookbehind:!0,inside:k},{pattern:n(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[E,p,h]),inside:k}],keyword:u,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:n(/([(,]\s*)<<0>>(?=\s*:)/.source,[h]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:n(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[h]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[m]),lookbehind:!0,alias:"class-name",inside:k},"return-type":{pattern:n(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[E,b]),inside:k,alias:"class-name"},"constructor-invocation":{pattern:n(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[E]),lookbehind:!0,inside:k,alias:"class-name"},"generic-method":{pattern:n(/<<0>>\s*<<1>>(?=\s*\()/.source,[h,f]),inside:{function:n(/^<<0>>/.source,[h]),generic:{pattern:RegExp(f),alias:"class-name",inside:k}}},"type-list":{pattern:n(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[c,g,h,E,u.source,m,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:n(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[g,m]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:u,"class-name":{pattern:RegExp(E),greedy:!0,inside:k},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var S=T+"|"+x,O=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[S]),I=r(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[O]),2),R=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,C=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[b,I]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:n(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[R,C]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(/^<<0>>(?=\s*:)/.source,[R]),alias:"keyword"},"attribute-arguments":{pattern:n(/\(<<0>>*\)/.source,[I]),inside:e.languages.csharp},"class-name":{pattern:RegExp(b),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var N=/:[^}\r\n]+/.source,A=r(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[O]),2),L=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[A,N]),P=r(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<>*\)/.source,[S]),2),D=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[P,N]);function F(t,r){return{interpolation:{pattern:n(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[r,N]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:n(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[L]),lookbehind:!0,greedy:!0,inside:F(L,A)},{pattern:n(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[D]),lookbehind:!0,greedy:!0,inside:F(D,P)}],char:{pattern:RegExp(x),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(Prism)},22444:()=>{!function(e){var t=/("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/;e.languages.json5=e.languages.extend("json",{property:[{pattern:RegExp(t.source+"(?=\\s*:)"),greedy:!0},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/,alias:"unquoted"}],string:{pattern:t,greedy:!0},number:/[+-]?\b(?:NaN|Infinity|0x[a-fA-F\d]+)\b|[+-]?(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+\b)?/})}(Prism)},7464:(e,t,n)=>{var r={"./prism-csharp":79016,"./prism-json5":22444};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=7464},92703:(e,t,n)=>{"use strict";var r=n(50414);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=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 s.name="Invariant Violation",s}}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:a,resetWarningCache:o};return n.PropTypes=n,n}},45697:(e,t,n)=>{e.exports=n(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},64448:(e,t,n)=>{"use strict";var r=n(67294),o=n(27418),a=n(63840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n