diff --git a/404.html b/404.html index 742950e5..2d09e495 100644 --- a/404.html +++ b/404.html @@ -4,8 +4,8 @@ Paima Engine - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/assets/js/4fed49a9.87298f44.js b/assets/js/4fed49a9.87298f44.js deleted file mode 100644 index 914f6cf2..00000000 --- a/assets/js/4fed49a9.87298f44.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkpaima_engine_docs=self.webpackChunkpaima_engine_docs||[]).push([[1513],{5272:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var i=n(5893),s=n(1151);const r={sidebar_position:1},a="Timers & Ticks",o={id:"home/state-machine/creating-events/timers-ticks",title:"Timers & Ticks",description:"Games heavily rely on passive time to trigger events (often based on ticks), such as limits on the length of a match or the duration of status effects. Paima supports these through a generic system called scheduledData that keeps track of which inputs (that conform to your app's grammar) to trigger at which block height (used instead of timestamps).",source:"@site/docs/home/100-state-machine/325-creating-events/50-timers-ticks.md",sourceDirName:"home/100-state-machine/325-creating-events",slug:"/home/state-machine/creating-events/timers-ticks",permalink:"/home/state-machine/creating-events/timers-ticks",draft:!1,unlisted:!1,editUrl:"https://github.com/PaimaStudios/paima-engine-docs/tree/main/docs/home/100-state-machine/325-creating-events/50-timers-ticks.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Introduction",permalink:"/home/state-machine/creating-events/introduction"},next:{title:"Introduction",permalink:"/home/state-machine/creating-events/events/introduction"}},c={},l=[{value:"1. Durations",id:"1-durations",level:2},{value:"Time limits",id:"time-limits",level:3},{value:"Globally Recurring events",id:"globally-recurring-events",level:3},{value:"2. Synchronizing access to a shared state",id:"2-synchronizing-access-to-a-shared-state",level:2},{value:"3. Primitives",id:"3-primitives",level:2}];function h(e){const t={a:"a",br:"br",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components},{Details:n}=t;return n||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"timers--ticks",children:"Timers & Ticks"}),"\n",(0,i.jsxs)(t.p,{children:["Games heavily rely on passive time to trigger events (often based on ",(0,i.jsx)(t.em,{children:"ticks"}),"), such as limits on the length of a match or the duration of status effects. Paima supports these through a generic system called ",(0,i.jsx)(t.code,{children:"scheduledData"})," that keeps track of which inputs (that conform to your app's grammar) to trigger at which block height (used instead of timestamps)."]}),"\n",(0,i.jsxs)(t.p,{children:["Paima will fetch, execute and commit the result of any scheduled data for a block ",(0,i.jsx)(t.em,{children:"BEFORE"})," it considers any regular input inside the block."]}),"\n",(0,i.jsx)(t.p,{children:"There are three common usages of timers in Paima"}),"\n",(0,i.jsx)(t.h2,{id:"1-durations",children:"1. Durations"}),"\n",(0,i.jsx)(t.p,{children:"There are two functions for scheduling events"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"createScheduledData(inputData: string, blockHeight: number, precompileName: string ): SQLUpdate"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"deleteScheduledData(inputData: string, blockHeight: number | null): SQLUpdate"})}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"These can be used to schedule an event that happens in 5 minutes (ex: a potion whose status wears off eventually)."}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"precompileName"})," argument in ",(0,i.jsx)(t.code,{children:"createScheduledData"})," needs to be one of the keys of the object defined through ",(0,i.jsx)(t.a,{href:"/home/state-machine/creating-events/precompiles/introduction",children:"paima precompiles"}),". The associated precompile address will be used as the ",(0,i.jsx)(t.code,{children:"userAddress"})," when the event is triggered."]}),"\n",(0,i.jsx)(t.h3,{id:"time-limits",children:"Time limits"}),"\n",(0,i.jsx)(t.p,{children:"Some games leverage time limits to perform an action (ex: 5 minutes to make a move, otherwise your turn is skipped)"}),"\n",(0,i.jsx)(t.p,{children:"Handling this kind of use-case typically involve the following steps:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["When their turn starts, create a timer (",(0,i.jsx)(t.code,{children:"createScheduledData"}),") that skips their turn in 5 minutes"]}),"\n",(0,i.jsxs)(t.li,{children:["If they make a move, use ",(0,i.jsx)(t.code,{children:"deleteScheduledData"})," to delete their timer (and process their move)"]}),"\n",(0,i.jsx)(t.li,{children:"If they don't make a move, the timer from (1) will trigger so that your state machine can skip their turn (or any other cleanup required)"}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["We call this kind of state transition a ",(0,i.jsx)(t.code,{children:"zombie"})," (or ",(0,i.jsx)(t.code,{children:"zombie round"}),") as it's usually used to process a move if the player is no longer alive (ex: they left their keyboard so the timer expires and their turn is skipped)."]}),"\n",(0,i.jsx)(t.h3,{id:"globally-recurring-events",children:"Globally Recurring events"}),"\n",(0,i.jsx)(t.p,{children:"It is common to require to recurring events with no clear start trigger. For example:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Spawn monsters every 5 minutes"}),"\n",(0,i.jsx)(t.li,{children:"Cleanup stats once a day"}),"\n",(0,i.jsx)(t.li,{children:"Calculate prizes once a week"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:'To do this we can set up a "recursive" scheduled event'}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Specify the initial trigger as a SQL migration"}),"\n",(0,i.jsx)(t.li,{children:"Have every trigger schedule the next trigger"}),"\n"]}),"\n",(0,i.jsxs)(n,{children:[(0,i.jsx)("summary",{children:"Example"}),(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Register your precompile"}),"\n"]}),(0,i.jsxs)(t.p,{children:["You can learn more about precompiles ",(0,i.jsx)(t.a,{href:"/home/state-machine/creating-events/precompiles/introduction",children:"here"}),"."]}),(0,i.jsxs)(t.p,{children:["You can find the precompiles for your node at ",(0,i.jsx)(t.a,{href:"http://localhost:3333/docs/precompiles",children:"http://localhost:3333/docs/precompiles"}),", but if you cannot run it, you can generate it yourself using the following code even on ",(0,i.jsx)(t.a,{href:"https://playcode.io/typescript-playground",children:"typescript playgrounds"})]}),(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ts",children:"import { generatePrecompile } from '@paima/precompiles';\nconsole.log(generatePrecompile(\"game-tick\"));\n"})}),(0,i.jsxs)(t.ol,{start:"2",children:["\n",(0,i.jsxs)(t.li,{children:["Add a Migration at ",(0,i.jsx)(t.code,{children:"1.SQL"})]}),"\n"]}),(0,i.jsxs)(t.p,{children:["Create ",(0,i.jsx)(t.code,{children:"db/migrations/1.sql"})," and add an input to execute the first schedule."]}),(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-SQL",metastring:"wordWrap=true",children:"INSERT INTO scheduled_data (block_height, input_data )\nVALUES (\n -- get the latest block + 1\n coalesce((\n SELECT block_height\n FROM block_heights\n ORDER BY block_height DESC\n LIMIT 1\n ), 0) + 2,\n 'tick|0',\n) RETURNING id;\nINSERT INTO scheduled_data_precompile (id, precompile)\nVALUES (\n id,\n 'precompile_hash_here'\n);\n"})}),(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.em,{children:"NOTE"}),": You can replace the value for the ",(0,i.jsx)(t.code,{children:"block_height"})," if you need to run this at a specific time",(0,i.jsx)(t.br,{}),"\n","This is possible with blockchains with known block generation time or with ",(0,i.jsx)(t.a,{href:"/home/state-machine/react-to-events/funnel-types/stable-tick-rate-funnel",children:"Emulated Blocks mode"}),"."]}),(0,i.jsxs)(t.ol,{start:"3",children:["\n",(0,i.jsxs)(t.li,{children:["Add a Paima Concise Command\nModify ",(0,i.jsx)(t.code,{children:"state-transition/src/stf/v1/parser.ts"})," (or where you have the Paima Concise Grammar)."]}),"\n"]}),(0,i.jsx)(t.p,{children:"Add a command to the list a new command:"}),(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ts",children:"const myGrammar = `\n// highlight-next-line\n scheduleHourly = hour|tick\n`;\n\nconst parserCommands = {\n // highlight-next-line\n scheduleHourly: {\n tick: PaimaParser.NumberParser(0),\n },\n}\n"})}),(0,i.jsxs)(t.p,{children:["Add your interface: (Generally located at ",(0,i.jsx)(t.code,{children:"state-transition/src/stf/v1/types.ts"}),")"]}),(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ts",children:"export type ParsedSubmittedInput =\n | ScheduleHourlyInput\n\nexport interface ScheduleHourlyInput {\n input: 'scheduleHourly';\n tick: number;\n}\n"})}),(0,i.jsxs)(t.ol,{start:"4",children:["\n",(0,i.jsx)(t.li,{children:"Add an STF Function to process and create the next event"}),"\n"]}),(0,i.jsxs)(t.p,{children:["Capture the input in the STF and process it (Generally in ",(0,i.jsx)(t.code,{children:"state-transition/src/stf/v1/index.ts"}),")"]}),(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ts",children:"import type { type SubmittedChainData } from '@paima/sdk/utils';\nimport type Prando from '@paima/sdk/prando';\nimport type { Pool } from 'pg';\nimport type { BlockHeader } from '@paima/sdk/utils';\n\nexport default async function (\n inputData: STFSubmittedData,\n blockHeader: BlockHeader,\n randomnessGenerator: Prando,\n dbConn: Pool\n): Promise {\n\n const input = parse(inputData.inputData);\n\n // highlight-start\n if (input.input === 'scheduleHourly') {\n // Check if sent by the scheduler. Users might post the same input payload.\n if (inputData.realAddress === SCHEDULED_DATA_ADDRESS) {\n // highlight-end\n const commands: SQLUpdate[] = [];\n console.log('This message appears each hour!');\n console.log('This is tick number', input.tick);\n /* Add your custom logic */\n \n // Calculate the number of blocks in 1 hour. \n const hourSeconds = 60 * 60;\n const hourBlocks = hourSeconds / ENV.BLOCK_TIME;\n \n // highlight-start\n commands.push(createScheduledData(\n `hour|${input.tick + 1}`,\n blockHeader.blockHeight + hourBlocks\n ));\n // highlight-end\n \n return commands;\n }\n }\n ...\n}\n"})}),(0,i.jsx)(t.p,{children:"You will see in the console:"}),(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{children:"This message appears each hour!\nThis is tick number 0\nThis message appears each hour!\nThis is tick number 1\nThis message appears each hour!\nThis is tick number 2\n...\n"})}),(0,i.jsx)(t.p,{children:"IMPORTANT: It is very important that the scheduler does NOT return an SQL statement that might be rejected (e.g., duplicated primary key) if there is any invalid SQL command the entire list of commands is discarded, and the recursive schedule will not be inserted."})]}),"\n",(0,i.jsx)(t.h2,{id:"2-synchronizing-access-to-a-shared-state",children:"2. Synchronizing access to a shared state"}),"\n",(0,i.jsxs)(t.p,{children:["See ",(0,i.jsx)(t.a,{href:"/home/state-machine/define-machine/parallelism",children:"parallelism"})]}),"\n",(0,i.jsx)(t.h2,{id:"3-primitives",children:"3. Primitives"}),"\n",(0,i.jsxs)(t.p,{children:["Event found by ",(0,i.jsx)(t.a,{href:"./primitive-catalogue/introduction#accessing-the-collected-data",children:"primitives"})," are scheduled to occur when the rollup's state machine reaches the block height in which they're found."]})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>a});var i=n(7294);const s={},r=i.createContext(s);function a(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4fed49a9.e6b5751f.js b/assets/js/4fed49a9.e6b5751f.js new file mode 100644 index 00000000..8868803b --- /dev/null +++ b/assets/js/4fed49a9.e6b5751f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkpaima_engine_docs=self.webpackChunkpaima_engine_docs||[]).push([[1513],{5272:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var i=n(5893),s=n(1151);const r={sidebar_position:1},a="Timers & Ticks",c={id:"home/state-machine/creating-events/timers-ticks",title:"Timers & Ticks",description:"Games heavily rely on passive time to trigger events (often based on ticks), such as limits on the length of a match or the duration of status effects. Paima supports these through a generic system called scheduledData that keeps track of which inputs (that conform to your app's grammar) to trigger at which block height (used instead of timestamps).",source:"@site/docs/home/100-state-machine/325-creating-events/50-timers-ticks.md",sourceDirName:"home/100-state-machine/325-creating-events",slug:"/home/state-machine/creating-events/timers-ticks",permalink:"/home/state-machine/creating-events/timers-ticks",draft:!1,unlisted:!1,editUrl:"https://github.com/PaimaStudios/paima-engine-docs/tree/main/docs/home/100-state-machine/325-creating-events/50-timers-ticks.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Introduction",permalink:"/home/state-machine/creating-events/introduction"},next:{title:"Introduction",permalink:"/home/state-machine/creating-events/events/introduction"}},o={},l=[{value:"1. Durations",id:"1-durations",level:2},{value:"Time limits",id:"time-limits",level:3},{value:"Globally Recurring events",id:"globally-recurring-events",level:3},{value:"2. Synchronizing access to a shared state",id:"2-synchronizing-access-to-a-shared-state",level:2},{value:"3. Primitives",id:"3-primitives",level:2}];function h(e){const t={a:"a",br:"br",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components},{Details:n}=t;return n||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"timers--ticks",children:"Timers & Ticks"}),"\n",(0,i.jsxs)(t.p,{children:["Games heavily rely on passive time to trigger events (often based on ",(0,i.jsx)(t.em,{children:"ticks"}),"), such as limits on the length of a match or the duration of status effects. Paima supports these through a generic system called ",(0,i.jsx)(t.code,{children:"scheduledData"})," that keeps track of which inputs (that conform to your app's grammar) to trigger at which block height (used instead of timestamps)."]}),"\n",(0,i.jsxs)(t.p,{children:["Paima will fetch, execute and commit the result of any scheduled data for a block ",(0,i.jsx)(t.em,{children:"BEFORE"})," it considers any regular input inside the block."]}),"\n",(0,i.jsx)(t.p,{children:"There are three common usages of timers in Paima"}),"\n",(0,i.jsx)(t.h2,{id:"1-durations",children:"1. Durations"}),"\n",(0,i.jsx)(t.p,{children:"There are two functions for scheduling events"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"createScheduledData(inputData: string, blockHeight: number, precompileName: string ): SQLUpdate"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"deleteScheduledData(inputData: string, blockHeight: number | null): SQLUpdate"})}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"These can be used to schedule an event that happens in 5 minutes (ex: a potion whose status wears off eventually)."}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"precompileName"})," argument in ",(0,i.jsx)(t.code,{children:"createScheduledData"})," needs to be one of the keys of the object defined through ",(0,i.jsx)(t.a,{href:"/home/state-machine/creating-events/precompiles/introduction",children:"paima precompiles"}),". The associated precompile address will be used as the ",(0,i.jsx)(t.code,{children:"userAddress"})," when the event is triggered."]}),"\n",(0,i.jsx)(t.h3,{id:"time-limits",children:"Time limits"}),"\n",(0,i.jsx)(t.p,{children:"Some games leverage time limits to perform an action (ex: 5 minutes to make a move, otherwise your turn is skipped)"}),"\n",(0,i.jsx)(t.p,{children:"Handling this kind of use-case typically involve the following steps:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["When their turn starts, create a timer (",(0,i.jsx)(t.code,{children:"createScheduledData"}),") that skips their turn in 5 minutes"]}),"\n",(0,i.jsxs)(t.li,{children:["If they make a move, use ",(0,i.jsx)(t.code,{children:"deleteScheduledData"})," to delete their timer (and process their move)"]}),"\n",(0,i.jsx)(t.li,{children:"If they don't make a move, the timer from (1) will trigger so that your state machine can skip their turn (or any other cleanup required)"}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["We call this kind of state transition a ",(0,i.jsx)(t.code,{children:"zombie"})," (or ",(0,i.jsx)(t.code,{children:"zombie round"}),") as it's usually used to process a move if the player is no longer alive (ex: they left their keyboard so the timer expires and their turn is skipped)."]}),"\n",(0,i.jsx)(t.h3,{id:"globally-recurring-events",children:"Globally Recurring events"}),"\n",(0,i.jsx)(t.p,{children:"It is common to require to recurring events with no clear start trigger. For example:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Spawn monsters every 5 minutes"}),"\n",(0,i.jsx)(t.li,{children:"Cleanup stats once a day"}),"\n",(0,i.jsx)(t.li,{children:"Calculate prizes once a week"}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:'To do this we can set up a "recursive" scheduled event'}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Specify the initial trigger as a SQL migration"}),"\n",(0,i.jsx)(t.li,{children:"Have every trigger schedule the next trigger"}),"\n"]}),"\n",(0,i.jsxs)(n,{children:[(0,i.jsx)("summary",{children:"Example"}),(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Register your precompile"}),"\n"]}),(0,i.jsxs)(t.p,{children:["You can learn more about precompiles ",(0,i.jsx)(t.a,{href:"/home/state-machine/creating-events/precompiles/introduction",children:"here"}),"."]}),(0,i.jsxs)(t.ol,{start:"2",children:["\n",(0,i.jsxs)(t.li,{children:["Add a Migration at ",(0,i.jsx)(t.code,{children:"1.SQL"})]}),"\n"]}),(0,i.jsxs)(t.p,{children:["Create ",(0,i.jsx)(t.code,{children:"db/migrations/1.sql"})," and add an input to execute the first schedule."]}),(0,i.jsxs)(t.p,{children:["For example, imagine we created a precompile called ",(0,i.jsx)(t.code,{children:"reset-leaderboard"})]}),(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-SQL",metastring:"wordWrap=true",children:"WITH new_ticks AS (\n INSERT INTO scheduled_data (block_height, input_data )\n VALUES (\n -- get the latest block + 1\n coalesce((\n SELECT block_height\n FROM block_heights\n ORDER BY block_height DESC\n LIMIT 1\n ), 0) + 2,\n 'tick|0'\n )\n RETURNING id\n)\nINSERT INTO scheduled_data_precompile (id, precompile)\nSELECT id, 'reset-leaderboard'\nFROM new_ticks\n"})}),(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.em,{children:"NOTE"}),": You can replace the value for the ",(0,i.jsx)(t.code,{children:"block_height"})," if you need to run this at a specific time",(0,i.jsx)(t.br,{}),"\n","This is possible with blockchains with known block generation time or with ",(0,i.jsx)(t.a,{href:"/home/state-machine/react-to-events/funnel-types/stable-tick-rate-funnel",children:"Emulated Blocks mode"}),"."]}),(0,i.jsxs)(t.ol,{start:"3",children:["\n",(0,i.jsxs)(t.li,{children:["Add a Paima Concise Command\nModify ",(0,i.jsx)(t.code,{children:"state-transition/src/stf/v1/parser.ts"})," (or where you have the Paima Concise Grammar)."]}),"\n"]}),(0,i.jsx)(t.p,{children:"Add a command to the list a new command:"}),(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ts",children:"const myGrammar = `\n// highlight-next-line\n scheduleHourly = hour|tick\n`;\n\nconst parserCommands = {\n // highlight-next-line\n scheduleHourly: {\n tick: PaimaParser.NumberParser(0),\n },\n}\n"})}),(0,i.jsxs)(t.p,{children:["Add your interface: (Generally located at ",(0,i.jsx)(t.code,{children:"state-transition/src/stf/v1/types.ts"}),")"]}),(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ts",children:"export type ParsedSubmittedInput =\n | ScheduleHourlyInput\n\nexport interface ScheduleHourlyInput {\n input: 'scheduleHourly';\n tick: number;\n}\n"})}),(0,i.jsxs)(t.ol,{start:"4",children:["\n",(0,i.jsx)(t.li,{children:"Add an STF Function to process and create the next event"}),"\n"]}),(0,i.jsxs)(t.p,{children:["Capture the input in the STF and process it (Generally in ",(0,i.jsx)(t.code,{children:"state-transition/src/stf/v1/index.ts"}),")"]}),(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-ts",children:"import type { type SubmittedChainData } from '@paima/sdk/utils';\nimport type Prando from '@paima/sdk/prando';\nimport type { Pool } from 'pg';\nimport type { BlockHeader } from '@paima/sdk/utils';\n\nexport default async function (\n inputData: STFSubmittedData,\n blockHeader: BlockHeader,\n randomnessGenerator: Prando,\n dbConn: Pool\n): Promise {\n\n const input = parse(inputData.inputData);\n\n // highlight-start\n if (input.input === 'scheduleHourly') {\n // Check if sent by the scheduler. Users might post the same input payload.\n if (inputData.realAddress === SCHEDULED_DATA_ADDRESS) {\n // highlight-end\n const commands: SQLUpdate[] = [];\n console.log('This message appears each hour!');\n console.log('This is tick number', input.tick);\n /* Add your custom logic */\n \n // Calculate the number of blocks in 1 hour. \n const hourSeconds = 60 * 60;\n const hourBlocks = hourSeconds / ENV.BLOCK_TIME;\n \n // highlight-start\n commands.push(createScheduledData(\n `hour|${input.tick + 1}`,\n blockHeader.blockHeight + hourBlocks\n ));\n // highlight-end\n \n return commands;\n }\n }\n ...\n}\n"})}),(0,i.jsx)(t.p,{children:"You will see in the console:"}),(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{children:"This message appears each hour!\nThis is tick number 0\nThis message appears each hour!\nThis is tick number 1\nThis message appears each hour!\nThis is tick number 2\n...\n"})}),(0,i.jsx)(t.p,{children:"IMPORTANT: It is very important that the scheduler does NOT return an SQL statement that might be rejected (e.g., duplicated primary key) if there is any invalid SQL command the entire list of commands is discarded, and the recursive schedule will not be inserted."})]}),"\n",(0,i.jsx)(t.h2,{id:"2-synchronizing-access-to-a-shared-state",children:"2. Synchronizing access to a shared state"}),"\n",(0,i.jsxs)(t.p,{children:["See ",(0,i.jsx)(t.a,{href:"/home/state-machine/define-machine/parallelism",children:"parallelism"})]}),"\n",(0,i.jsx)(t.h2,{id:"3-primitives",children:"3. Primitives"}),"\n",(0,i.jsxs)(t.p,{children:["Event found by ",(0,i.jsx)(t.a,{href:"./primitive-catalogue/introduction#accessing-the-collected-data",children:"primitives"})," are scheduled to occur when the rollup's state machine reaches the block height in which they're found."]})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>a});var i=n(7294);const s={},r=i.createContext(s);function a(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.dab1bc9e.js b/assets/js/main.0f5fe6f9.js similarity index 99% rename from assets/js/main.dab1bc9e.js rename to assets/js/main.0f5fe6f9.js index 94adec58..9a703506 100644 --- a/assets/js/main.dab1bc9e.js +++ b/assets/js/main.0f5fe6f9.js @@ -1,2 +1,2 @@ -/*! For license information please see main.dab1bc9e.js.LICENSE.txt */ -(self.webpackChunkpaima_engine_docs=self.webpackChunkpaima_engine_docs||[]).push([[179],{1728:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta});const a=function(){for(var e,t,n=0,a="";n{"use strict";n.d(t,{Z:()=>p});n(7294);var r=n(8356),a=n.n(r),o=n(6887);const i={"017231c8":[()=>n.e(9187).then(n.bind(n,3768)),"@site/docs/home/100-state-machine/325-creating-events/100-events/110-builtin-events.md",3768],"0205cee1":[()=>n.e(6266).then(n.bind(n,9369)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/2000-create-your-own.md",9369],"0337d15a":[()=>n.e(7160).then(n.bind(n,5813)),"@site/docs/home/100-state-machine/300-react-to-events/3-funnel-types/600-mina-funnel.mdx",5813],"04103e85":[()=>n.e(6730).then(n.bind(n,6425)),"@site/docs/home/1-setup/4-environment-config-values.md",6425],"0710f3de":[()=>n.e(9746).then(n.bind(n,6910)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/20-cardano/40-cardano-mint-burn.md",6910],"07bff4a9":[()=>n.e(4786).then(n.bind(n,54)),"@site/docs/home/100-state-machine/325-creating-events/1-introduction.md",54],"09fe6904":[()=>n.e(1002).then(n.bind(n,401)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/10-evm/6-ERC1155.md",401],"0f317bf9":[()=>n.e(8899).then(n.bind(n,2452)),"@site/docs/home/100-state-machine/300-react-to-events/3-funnel-types/400-stable-tick-rate-funnel.mdx",2452],"138e0e15":[()=>n.e(9524).then(n.t.bind(n,536,19)),"@generated/@easyops-cn/docusaurus-search-local/default/__plugin.json",536],"14a3ce3e":[()=>n.e(4425).then(n.bind(n,9263)),"@site/docs/home/500-database-management/300-snapshotting.md",9263],"177ebf49":[()=>n.e(4105).then(n.bind(n,3381)),"@site/docs/home/100-state-machine/100-define-machine/10-read-data.md",3381],17896441:[()=>Promise.all([n.e(532),n.e(2312),n.e(7918)]).then(n.bind(n,4281)),"@theme/DocItem",4281],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,2027)),"@theme/SearchPage",2027],"22dd74f7":[()=>n.e(4980).then(n.t.bind(n,5904,19)),"@generated/docusaurus-plugin-content-docs/default/p/index-466.json",5904],"238a268c":[()=>n.e(9222).then(n.bind(n,6835)),"@site/docs/home/700-multichain-support/2-wallet-layer/1-introduction.mdx",6835],"2485616c":[()=>n.e(2264).then(n.bind(n,5559)),"@site/docs/home/700-multichain-support/1-nfts/1-introduction.mdx",5559],"27ec1384":[()=>n.e(1685).then(n.bind(n,1288)),"@site/docs/home/20000-PRCs/prc-3.md",1288],"283269cf":[()=>n.e(4537).then(n.bind(n,5141)),"@site/docs/home/100-state-machine/200-direct-write/400-batched-mode.md",5141],"2a57241f":[()=>n.e(1566).then(n.bind(n,4196)),"@site/docs/home/700-multichain-support/1-nfts/2-projected-nfts/2-cardano.md",4196],"2e02505b":[()=>n.e(2750).then(n.bind(n,5306)),"@site/docs/home/100-state-machine/300-react-to-events/3-funnel-types/500-parallel-evm-funnel.mdx",5306],"39d42adf":[()=>n.e(3104).then(n.bind(n,9445)),"@site/docs/home/50-smart-contracts/200-evm/200-paima-l2-contract.md",9445],"3e9a914b":[()=>n.e(1573).then(n.bind(n,1129)),"@site/docs/home/100-state-machine/300-react-to-events/3-funnel-types/500-carp-funnel.md",1129],"42703ed8":[()=>n.e(4838).then(n.bind(n,3134)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/1-introduction.md",3134],"43c2639d":[()=>n.e(109).then(n.bind(n,4793)),"@site/docs/home/100-state-machine/300-react-to-events/3-funnel-types/300-block-funnel.md",4793],"4a045d69":[()=>n.e(4778).then(n.bind(n,3220)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/10-evm/200-dynamic-primitives.md",3220],"4a94c5b9":[()=>n.e(8361).then(n.bind(n,4911)),"@site/docs/home/10000-libraries/100-evm-contracts/300-hardhat-tasks.md",4911],"4c68101a":[()=>n.e(2322).then(n.bind(n,4271)),"@site/docs/home/100-state-machine/200-direct-write/300-error-handling.md",4271],"4c85fb4d":[()=>n.e(5151).then(n.bind(n,9044)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/20-cardano/10-stakepools.md",9044],"4fed49a9":[()=>n.e(1513).then(n.bind(n,5272)),"@site/docs/home/100-state-machine/325-creating-events/50-timers-ticks.md",5272],51632284:[()=>n.e(5955).then(n.bind(n,5239)),"@site/docs/home/100-state-machine/325-creating-events/100-events/100-general-interface.md",5239],"558eb34d":[()=>Promise.all([n.e(532),n.e(2312),n.e(2112)]).then(n.bind(n,4352)),"@site/docs/home/10000-libraries/200-cardano-contracts/100-contrats.mdx",4352],"5e95c892":[()=>n.e(9661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"6a06fb5c":[()=>n.e(2692).then(n.bind(n,8438)),"@site/docs/home/700-multichain-support/2-wallet-layer/100-delegate-wallet/1-introduction.mdx",8438],"6e4bc4ac":[()=>n.e(5031).then(n.bind(n,2979)),"@site/docs/home/600-releasing-a-game/3-deployment.md",2979],"71654c3b":[()=>n.e(2277).then(n.bind(n,2712)),"@site/docs/home/100-state-machine/325-creating-events/300-precompiles/100-introduction.md",2712],"74a06df9":[()=>n.e(5753).then(n.bind(n,9152)),"@site/docs/home/600-releasing-a-game/1-generate-build.md",9152],76048346:[()=>n.e(4675).then(n.bind(n,8402)),"@site/docs/home/0-intro/0-what-is-paima-engine.md",8402],"7bf026b6":[()=>n.e(7452).then(n.bind(n,217)),"@site/docs/home/100-state-machine/300-react-to-events/3-funnel-types/1-common-concepts/1-intro.md",217],"7ed7e275":[()=>n.e(1034).then(n.bind(n,9421)),"@site/docs/home/100-state-machine/325-creating-events/100-events/200-low-level-api.md",9421],"8042f79e":[()=>n.e(7380).then(n.bind(n,376)),"@site/docs/home/100-state-machine/100-define-machine/200-parallelism.md",376],"8d646370":[()=>n.e(1991).then(n.bind(n,2471)),"@site/docs/home/100-state-machine/325-creating-events/100-events/1-introduction.md",2471],"8eabe20c":[()=>n.e(5434).then(n.bind(n,2474)),"@site/docs/home/350-game-node-api/2-achievements.md",2474],"903c50e1":[()=>n.e(2180).then(n.bind(n,3773)),"@site/docs/home/100-state-machine/300-react-to-events/3-funnel-types/800-avail-block-funnel.md",3773],"93b3fbb3":[()=>n.e(479).then(n.bind(n,6625)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/10-evm/3-ERC721.md",6625],"94b38fb2":[()=>n.e(1768).then(n.bind(n,4553)),"@site/docs/home/500-database-management/200-setup.md",4553],"95ad9355":[()=>n.e(1107).then(n.bind(n,892)),"@site/docs/home/700-multichain-support/1-nfts/2-projected-nfts/1-basics.mdx",892],"97ba3c0e":[()=>n.e(6303).then(n.bind(n,751)),"@site/docs/home/700-multichain-support/2-wallet-layer/100-delegate-wallet/3-interfaces.mdx",751],"984945ec":[()=>n.e(2524).then(n.bind(n,6432)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/20-cardano/30-cardano-transfer.md",6432],"9893d9f7":[()=>n.e(5165).then(n.bind(n,9593)),"@site/docs/home/20000-PRCs/prc-5.md",9593],"9a804797":[()=>n.e(6096).then(n.bind(n,7570)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/20-cardano/20-delayed-state.md",7570],"9b2dba92":[()=>n.e(4473).then(n.bind(n,7249)),"@site/docs/home/1-setup/10-connecting-wallets.md",7249],"9e4d28d8":[()=>n.e(7241).then(n.bind(n,8105)),"@site/docs/home/50-smart-contracts/200-evm/400-generating-code.md",8105],"9f6354d7":[()=>n.e(4888).then(n.bind(n,6476)),"@site/docs/home/50-smart-contracts/200-evm/300-deploy-stateful-nft.md",6476],a7bd4aaa:[()=>n.e(8518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a94703ab:[()=>Promise.all([n.e(532),n.e(4368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],aa90b64c:[()=>n.e(3052).then(n.bind(n,520)),"@site/docs/home/100-state-machine/1000-structure.md",520],aae12c5c:[()=>n.e(6299).then(n.bind(n,5394)),"@site/docs/home/100-state-machine/200-direct-write/20-write-data.md",5394],ab41c636:[()=>n.e(3164).then(n.bind(n,965)),"@site/docs/home/500-database-management/100-introduction.md",965],aba21aa0:[()=>n.e(3629).then(n.t.bind(n,1765,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",1765],abbecba4:[()=>n.e(5651).then(n.bind(n,6853)),"@site/docs/home/1-setup/1-how-to-use-paima-engine.md",6853],ad558597:[()=>n.e(8366).then(n.bind(n,3428)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/10-evm/2-ERC20.md",3428],afaed507:[()=>n.e(6957).then(n.bind(n,307)),"@site/docs/home/100-state-machine/300-react-to-events/3-funnel-types/1-common-concepts/2-parallel-networks.mdx",307],b3d087d3:[()=>n.e(874).then(n.bind(n,1081)),"@site/docs/home/20000-PRCs/prc-2.md",1081],b4ad4667:[()=>n.e(5126).then(n.bind(n,9988)),"@site/docs/home/100-state-machine/200-direct-write/500-replay-protection.md",9988],b97c32ab:[()=>n.e(8290).then(n.bind(n,6031)),"@site/docs/home/100-state-machine/300-react-to-events/100-L2-quirks.md",6031],ba4a5ca9:[()=>n.e(5650).then(n.bind(n,1199)),"@site/docs/home/500-database-management/400-migrations.md",1199],bb3229a5:[()=>n.e(4471).then(n.bind(n,861)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/10-evm/4-ERC6551.md",861],bbf2ceff:[()=>Promise.all([n.e(532),n.e(7440)]).then(n.bind(n,1131)),"@site/docs/home/10000-libraries/100-evm-contracts/200-solidity/200-generated-docs.mdx",1131],bf86fd9d:[()=>n.e(3973).then(n.bind(n,1458)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/20-cardano/50-projected-nft.md",1458],c94d43dd:[()=>n.e(544).then(n.bind(n,8363)),"@site/docs/home/100-state-machine/200-direct-write/600-autosign.md",8363],ca8632a3:[()=>n.e(4927).then(n.bind(n,5811)),"@site/docs/home/100-state-machine/300-react-to-events/3-funnel-types/200-configuration.md",5811],cd18a899:[()=>n.e(8688).then(n.bind(n,7489)),"@site/docs/home/100-state-machine/100-define-machine/1-base-format.md",7489],d3c9a13b:[()=>n.e(5780).then(n.bind(n,9681)),"@site/docs/home/400-randomness/index.md",9681],d4f81001:[()=>n.e(7361).then(n.bind(n,2228)),"@site/docs/home/600-releasing-a-game/2-versioning.md",2228],d5b93c44:[()=>n.e(5728).then(n.bind(n,8171)),"@site/docs/home/500-database-management/500-ts-bindings.md",8171],d66933b8:[()=>n.e(3801).then(n.bind(n,1612)),"@site/docs/home/700-multichain-support/1-nfts/2-projected-nfts/3-evm.md",1612],d811efd8:[()=>n.e(655).then(n.bind(n,8605)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/30-mina/10-generic.md",8605],de82a7f3:[()=>n.e(9064).then(n.bind(n,3364)),"@site/docs/home/20000-PRCs/prc-1.md",3364],de8c59a0:[()=>n.e(4077).then(n.bind(n,8196)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/10-evm/999-Generic.md",8196],df625df2:[()=>n.e(2534).then(n.bind(n,7077)),"@site/docs/home/1-setup/20-paima-bacher.md",7077],e3280e5e:[()=>n.e(9444).then(n.bind(n,515)),"@site/docs/home/50-smart-contracts/200-evm/100-introduction.md",515],e9f2a58c:[()=>n.e(7458).then(n.bind(n,7510)),"@site/docs/home/350-game-node-api/1-introduction.md",7510],eaecfe53:[()=>n.e(4113).then(n.bind(n,3639)),"@site/docs/home/700-multichain-support/2-wallet-layer/100-delegate-wallet/200-integrate.mdx",3639],eafebc7e:[()=>n.e(3584).then(n.bind(n,1480)),"@site/docs/home/10000-libraries/100-evm-contracts/1-introduction.md",1480],eb8c02a4:[()=>n.e(1892).then(n.bind(n,9623)),"@site/docs/home/100-state-machine/300-react-to-events/10-primitive-catalogue/5-meta/100-introduction.md",9623],eebe83ee:[()=>n.e(7756).then(n.bind(n,1127)),"@site/docs/home/100-state-machine/300-react-to-events/3-funnel-types/700-parallel-avail-funnel.md",1127]};var s=n(5893);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(9670),u=n(226);function d(e,t){if("*"===e)return a()({loading:l,loader:()=>n.e(1772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,s.jsx)(u.z,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},p=[],f=[],h=(0,c.Z)(r);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),a().Map({loading:l,loader:d,modules:p,webpack:()=>f,render(t,n){const a=JSON.parse(JSON.stringify(r));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 i=a;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;delete a.__context;const l=a.__props;return delete a.__props,(0,s.jsx)(u.z,{value:i,children:(0,s.jsx)(o,{...a,...l,...n})})}})}const p=[{path:"/search",component:d("/search","822"),exact:!0},{path:"/",component:d("/","54d"),routes:[{path:"/",component:d("/","7f9"),routes:[{path:"/",component:d("/","46c"),routes:[{path:"/home/database-management/introduction",component:d("/home/database-management/introduction","7e2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/database-management/migrations",component:d("/home/database-management/migrations","d22"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/database-management/setup",component:d("/home/database-management/setup","1ae"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/database-management/snapshotting",component:d("/home/database-management/snapshotting","6ae"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/database-management/ts-bindings",component:d("/home/database-management/ts-bindings","e6b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/game-node-api/achievements",component:d("/home/game-node-api/achievements","94f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/game-node-api/introduction",component:d("/home/game-node-api/introduction","268"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/libraries/cardano-contracts/contrats",component:d("/home/libraries/cardano-contracts/contrats","e00"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/libraries/evm-contracts/hardhat-tasks",component:d("/home/libraries/evm-contracts/hardhat-tasks","33a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/libraries/evm-contracts/introduction",component:d("/home/libraries/evm-contracts/introduction","2c8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/libraries/evm-contracts/solidity/generated-docs",component:d("/home/libraries/evm-contracts/solidity/generated-docs","466"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/multichain-support/nfts/introduction",component:d("/home/multichain-support/nfts/introduction","0b6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/multichain-support/nfts/projected-nfts/basics",component:d("/home/multichain-support/nfts/projected-nfts/basics","276"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/multichain-support/nfts/projected-nfts/cardano",component:d("/home/multichain-support/nfts/projected-nfts/cardano","50c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/multichain-support/nfts/projected-nfts/evm",component:d("/home/multichain-support/nfts/projected-nfts/evm","f9e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/multichain-support/wallet-layer/delegate-wallet/integrate",component:d("/home/multichain-support/wallet-layer/delegate-wallet/integrate","c83"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/multichain-support/wallet-layer/delegate-wallet/interfaces",component:d("/home/multichain-support/wallet-layer/delegate-wallet/interfaces","d91"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/multichain-support/wallet-layer/delegate-wallet/introduction",component:d("/home/multichain-support/wallet-layer/delegate-wallet/introduction","8b7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/multichain-support/wallet-layer/introduction",component:d("/home/multichain-support/wallet-layer/introduction","cd5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/PRCs/prc-1",component:d("/home/PRCs/prc-1","d8b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/PRCs/prc-2",component:d("/home/PRCs/prc-2","7b8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/PRCs/prc-3",component:d("/home/PRCs/prc-3","866"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/PRCs/prc-5",component:d("/home/PRCs/prc-5","cb3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/randomness/",component:d("/home/randomness/","1f8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/releasing-a-game/deployment",component:d("/home/releasing-a-game/deployment","93d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/releasing-a-game/generate-build",component:d("/home/releasing-a-game/generate-build","c2b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/releasing-a-game/versioning",component:d("/home/releasing-a-game/versioning","1f8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/setup/connecting-wallets",component:d("/home/setup/connecting-wallets","8fd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/setup/environment-config-values",component:d("/home/setup/environment-config-values","17c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/setup/how-to-use-paima-engine",component:d("/home/setup/how-to-use-paima-engine","099"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/setup/paima-bacher",component:d("/home/setup/paima-bacher","bc8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/smart-contracts/evm/deploy-stateful-nft",component:d("/home/smart-contracts/evm/deploy-stateful-nft","144"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/smart-contracts/evm/generating-code",component:d("/home/smart-contracts/evm/generating-code","1b7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/smart-contracts/evm/introduction",component:d("/home/smart-contracts/evm/introduction","5b9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/smart-contracts/evm/paima-l2-contract",component:d("/home/smart-contracts/evm/paima-l2-contract","ded"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/creating-events/events/builtin-events",component:d("/home/state-machine/creating-events/events/builtin-events","f0b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/creating-events/events/general-interface",component:d("/home/state-machine/creating-events/events/general-interface","549"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/creating-events/events/introduction",component:d("/home/state-machine/creating-events/events/introduction","876"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/creating-events/events/low-level-api",component:d("/home/state-machine/creating-events/events/low-level-api","ca3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/creating-events/introduction",component:d("/home/state-machine/creating-events/introduction","ec7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/creating-events/precompiles/introduction",component:d("/home/state-machine/creating-events/precompiles/introduction","cb6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/creating-events/timers-ticks",component:d("/home/state-machine/creating-events/timers-ticks","b8c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/define-machine/base-format",component:d("/home/state-machine/define-machine/base-format","946"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/define-machine/parallelism",component:d("/home/state-machine/define-machine/parallelism","61f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/define-machine/read-data",component:d("/home/state-machine/define-machine/read-data","92b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/direct-write/autosign",component:d("/home/state-machine/direct-write/autosign","d3a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/direct-write/batched-mode",component:d("/home/state-machine/direct-write/batched-mode","044"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/direct-write/error-handling",component:d("/home/state-machine/direct-write/error-handling","ba6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/direct-write/replay-protection",component:d("/home/state-machine/direct-write/replay-protection","b9b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/direct-write/write-data",component:d("/home/state-machine/direct-write/write-data","eb6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/funnel-types/avail-block-funnel",component:d("/home/state-machine/react-to-events/funnel-types/avail-block-funnel","743"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/funnel-types/block-funnel",component:d("/home/state-machine/react-to-events/funnel-types/block-funnel","228"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/funnel-types/carp-funnel",component:d("/home/state-machine/react-to-events/funnel-types/carp-funnel","1cc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/funnel-types/common-concepts/intro",component:d("/home/state-machine/react-to-events/funnel-types/common-concepts/intro","761"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/funnel-types/common-concepts/parallel-networks",component:d("/home/state-machine/react-to-events/funnel-types/common-concepts/parallel-networks","da3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/funnel-types/configuration",component:d("/home/state-machine/react-to-events/funnel-types/configuration","4f3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/funnel-types/mina-funnel",component:d("/home/state-machine/react-to-events/funnel-types/mina-funnel","fd7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/funnel-types/parallel-avail-funnel",component:d("/home/state-machine/react-to-events/funnel-types/parallel-avail-funnel","8d2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/funnel-types/parallel-evm-funnel",component:d("/home/state-machine/react-to-events/funnel-types/parallel-evm-funnel","e4c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/funnel-types/stable-tick-rate-funnel",component:d("/home/state-machine/react-to-events/funnel-types/stable-tick-rate-funnel","217"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/L2-quirks",component:d("/home/state-machine/react-to-events/L2-quirks","4df"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/cardano/cardano-mint-burn",component:d("/home/state-machine/react-to-events/primitive-catalogue/cardano/cardano-mint-burn","a01"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/cardano/cardano-transfer",component:d("/home/state-machine/react-to-events/primitive-catalogue/cardano/cardano-transfer","673"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/cardano/delayed-state",component:d("/home/state-machine/react-to-events/primitive-catalogue/cardano/delayed-state","767"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/cardano/projected-nft",component:d("/home/state-machine/react-to-events/primitive-catalogue/cardano/projected-nft","1df"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/cardano/stakepools",component:d("/home/state-machine/react-to-events/primitive-catalogue/cardano/stakepools","afa"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/create-your-own",component:d("/home/state-machine/react-to-events/primitive-catalogue/create-your-own","3b0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/evm/dynamic-primitives",component:d("/home/state-machine/react-to-events/primitive-catalogue/evm/dynamic-primitives","6dd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/evm/ERC1155",component:d("/home/state-machine/react-to-events/primitive-catalogue/evm/ERC1155","ec8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/evm/ERC20",component:d("/home/state-machine/react-to-events/primitive-catalogue/evm/ERC20","fbd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/evm/ERC6551",component:d("/home/state-machine/react-to-events/primitive-catalogue/evm/ERC6551","fc3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/evm/ERC721",component:d("/home/state-machine/react-to-events/primitive-catalogue/evm/ERC721","c02"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/evm/Generic",component:d("/home/state-machine/react-to-events/primitive-catalogue/evm/Generic","d51"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/introduction",component:d("/home/state-machine/react-to-events/primitive-catalogue/introduction","856"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/meta/introduction",component:d("/home/state-machine/react-to-events/primitive-catalogue/meta/introduction","85a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/react-to-events/primitive-catalogue/mina/generic",component:d("/home/state-machine/react-to-events/primitive-catalogue/mina/generic","4ba"),exact:!0,sidebar:"tutorialSidebar"},{path:"/home/state-machine/structure",component:d("/home/state-machine/structure","cf7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/",component:d("/","23c"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,t:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var r=n(7294),a=n(745),o=n(405),i=n(3727),s=n(6809),l=n(412);const c=[n(2497),n(3310),n(8320),n(2295)];var u=n(723),d=n(6550),p=n(8790),f=n(5893);function h(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var m=n(5742),g=n(2263),b=n(4996),y=n(6668),v=n(1944),w=n(4711),x=n(9727),k=n(3320),S=n(8780),E=n(197);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.Z)(),r=(0,w.l)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,f.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.Z)(),{pathname:r}=(0,d.TH)();return e+(0,S.applyTrailingSlash)((0,b.ZP)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,f.jsxs)(m.Z,{children:[(0,f.jsx)("meta",{property:"og:url",content:a}),(0,f.jsx)("link",{rel:"canonical",href:a})]})}function T(){const{i18n:{currentLocale:e}}=(0,g.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(m.Z,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:x.h})]}),n&&(0,f.jsx)(v.d,{image:n}),(0,f.jsx)(C,{}),(0,f.jsx)(_,{}),(0,f.jsx)(E.Z,{tag:k.HX,locale:e}),(0,f.jsx)(m.Z,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const P=new Map;var L=n(8934),N=n(8940),R=n(469);function A(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()=>a.forEach((e=>e?.()))}const O=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,R.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)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:r}),A("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function j(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,p.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?A("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=A("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),j(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(O,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(d.AW,{location:t,render:()=>e})})}}const F=I,D="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",B="__docusaurus-base-url-issue-banner-suggestion-container";function z(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${D}';\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(/{let{route:t}=e;return!0===t.exact})))return P.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return P.set(e.pathname,t),{...e,pathname:t}}((0,d.TH)());return(0,f.jsx)(F,{location:e,children:W})}function G(){return(0,f.jsx)(Q.Z,{children:(0,f.jsx)(N.M,{children:(0,f.jsxs)(L.t,{children:[(0,f.jsxs)(h,{children:[(0,f.jsx)(H,{}),(0,f.jsx)(T,{}),(0,f.jsx)(U,{}),(0,f.jsx)(q,{})]}),(0,f.jsx)(V,{})]})})})}var Y=n(6887);const K=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var X=n(9670);const J=new Set,ee=new Set,te=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ne={prefetch:e=>{if(!(e=>!te()&&!ee.has(e)&&!J.has(e))(e))return!1;J.add(e);const t=(0,p.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(Y).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,X.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?K(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!te()&&!ee.has(e))(e)&&(ee.add(e),j(e))},re=Object.freeze(ne);function ae(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,f.jsx)(i.UT,{children:t}):(0,f.jsx)(i.VK,{children:t})}const oe=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=re;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(o.B6,{children:(0,f.jsx)(ae,{children:(0,f.jsx)(G,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(oe)window.docusaurusRoot=a.hydrateRoot(e,t,{onRecoverableError:n});else{const r=a.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};j(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"home/intro/what-is-paima-engine","docs":[{"id":"home/database-management/introduction","path":"/home/database-management/introduction","sidebar":"tutorialSidebar"},{"id":"home/database-management/migrations","path":"/home/database-management/migrations","sidebar":"tutorialSidebar"},{"id":"home/database-management/setup","path":"/home/database-management/setup","sidebar":"tutorialSidebar"},{"id":"home/database-management/snapshotting","path":"/home/database-management/snapshotting","sidebar":"tutorialSidebar"},{"id":"home/database-management/ts-bindings","path":"/home/database-management/ts-bindings","sidebar":"tutorialSidebar"},{"id":"home/game-node-api/achievements","path":"/home/game-node-api/achievements","sidebar":"tutorialSidebar"},{"id":"home/game-node-api/introduction","path":"/home/game-node-api/introduction","sidebar":"tutorialSidebar"},{"id":"home/intro/what-is-paima-engine","path":"/","sidebar":"tutorialSidebar"},{"id":"home/libraries/cardano-contracts/contrats","path":"/home/libraries/cardano-contracts/contrats","sidebar":"tutorialSidebar"},{"id":"home/libraries/evm-contracts/hardhat-tasks","path":"/home/libraries/evm-contracts/hardhat-tasks","sidebar":"tutorialSidebar"},{"id":"home/libraries/evm-contracts/introduction","path":"/home/libraries/evm-contracts/introduction","sidebar":"tutorialSidebar"},{"id":"home/libraries/evm-contracts/solidity/generated-docs","path":"/home/libraries/evm-contracts/solidity/generated-docs","sidebar":"tutorialSidebar"},{"id":"home/multichain-support/nfts/introduction","path":"/home/multichain-support/nfts/introduction","sidebar":"tutorialSidebar"},{"id":"home/multichain-support/nfts/projected-nfts/basics","path":"/home/multichain-support/nfts/projected-nfts/basics","sidebar":"tutorialSidebar"},{"id":"home/multichain-support/nfts/projected-nfts/cardano","path":"/home/multichain-support/nfts/projected-nfts/cardano","sidebar":"tutorialSidebar"},{"id":"home/multichain-support/nfts/projected-nfts/evm","path":"/home/multichain-support/nfts/projected-nfts/evm","sidebar":"tutorialSidebar"},{"id":"home/multichain-support/wallet-layer/delegate-wallet/integrate","path":"/home/multichain-support/wallet-layer/delegate-wallet/integrate","sidebar":"tutorialSidebar"},{"id":"home/multichain-support/wallet-layer/delegate-wallet/interfaces","path":"/home/multichain-support/wallet-layer/delegate-wallet/interfaces","sidebar":"tutorialSidebar"},{"id":"home/multichain-support/wallet-layer/delegate-wallet/introduction","path":"/home/multichain-support/wallet-layer/delegate-wallet/introduction","sidebar":"tutorialSidebar"},{"id":"home/multichain-support/wallet-layer/introduction","path":"/home/multichain-support/wallet-layer/introduction","sidebar":"tutorialSidebar"},{"id":"home/PRCs/prc-1","path":"/home/PRCs/prc-1","sidebar":"tutorialSidebar"},{"id":"home/PRCs/prc-2","path":"/home/PRCs/prc-2","sidebar":"tutorialSidebar"},{"id":"home/PRCs/prc-3","path":"/home/PRCs/prc-3","sidebar":"tutorialSidebar"},{"id":"home/PRCs/prc-5","path":"/home/PRCs/prc-5","sidebar":"tutorialSidebar"},{"id":"home/randomness/index","path":"/home/randomness/","sidebar":"tutorialSidebar"},{"id":"home/releasing-a-game/deployment","path":"/home/releasing-a-game/deployment","sidebar":"tutorialSidebar"},{"id":"home/releasing-a-game/generate-build","path":"/home/releasing-a-game/generate-build","sidebar":"tutorialSidebar"},{"id":"home/releasing-a-game/versioning","path":"/home/releasing-a-game/versioning","sidebar":"tutorialSidebar"},{"id":"home/setup/connecting-wallets","path":"/home/setup/connecting-wallets","sidebar":"tutorialSidebar"},{"id":"home/setup/environment-config-values","path":"/home/setup/environment-config-values","sidebar":"tutorialSidebar"},{"id":"home/setup/how-to-use-paima-engine","path":"/home/setup/how-to-use-paima-engine","sidebar":"tutorialSidebar"},{"id":"home/setup/paima-bacher","path":"/home/setup/paima-bacher","sidebar":"tutorialSidebar"},{"id":"home/smart-contracts/evm/deploy-stateful-nft","path":"/home/smart-contracts/evm/deploy-stateful-nft","sidebar":"tutorialSidebar"},{"id":"home/smart-contracts/evm/generating-code","path":"/home/smart-contracts/evm/generating-code","sidebar":"tutorialSidebar"},{"id":"home/smart-contracts/evm/introduction","path":"/home/smart-contracts/evm/introduction","sidebar":"tutorialSidebar"},{"id":"home/smart-contracts/evm/paima-l2-contract","path":"/home/smart-contracts/evm/paima-l2-contract","sidebar":"tutorialSidebar"},{"id":"home/state-machine/creating-events/events/builtin-events","path":"/home/state-machine/creating-events/events/builtin-events","sidebar":"tutorialSidebar"},{"id":"home/state-machine/creating-events/events/general-interface","path":"/home/state-machine/creating-events/events/general-interface","sidebar":"tutorialSidebar"},{"id":"home/state-machine/creating-events/events/introduction","path":"/home/state-machine/creating-events/events/introduction","sidebar":"tutorialSidebar"},{"id":"home/state-machine/creating-events/events/low-level-api","path":"/home/state-machine/creating-events/events/low-level-api","sidebar":"tutorialSidebar"},{"id":"home/state-machine/creating-events/introduction","path":"/home/state-machine/creating-events/introduction","sidebar":"tutorialSidebar"},{"id":"home/state-machine/creating-events/precompiles/introduction","path":"/home/state-machine/creating-events/precompiles/introduction","sidebar":"tutorialSidebar"},{"id":"home/state-machine/creating-events/timers-ticks","path":"/home/state-machine/creating-events/timers-ticks","sidebar":"tutorialSidebar"},{"id":"home/state-machine/define-machine/base-format","path":"/home/state-machine/define-machine/base-format","sidebar":"tutorialSidebar"},{"id":"home/state-machine/define-machine/parallelism","path":"/home/state-machine/define-machine/parallelism","sidebar":"tutorialSidebar"},{"id":"home/state-machine/define-machine/read-data","path":"/home/state-machine/define-machine/read-data","sidebar":"tutorialSidebar"},{"id":"home/state-machine/direct-write/autosign","path":"/home/state-machine/direct-write/autosign","sidebar":"tutorialSidebar"},{"id":"home/state-machine/direct-write/batched-mode","path":"/home/state-machine/direct-write/batched-mode","sidebar":"tutorialSidebar"},{"id":"home/state-machine/direct-write/error-handling","path":"/home/state-machine/direct-write/error-handling","sidebar":"tutorialSidebar"},{"id":"home/state-machine/direct-write/replay-protection","path":"/home/state-machine/direct-write/replay-protection","sidebar":"tutorialSidebar"},{"id":"home/state-machine/direct-write/write-data","path":"/home/state-machine/direct-write/write-data","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/funnel-types/avail-block-funnel","path":"/home/state-machine/react-to-events/funnel-types/avail-block-funnel","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/funnel-types/block-funnel","path":"/home/state-machine/react-to-events/funnel-types/block-funnel","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/funnel-types/carp-funnel","path":"/home/state-machine/react-to-events/funnel-types/carp-funnel","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/funnel-types/common-concepts/intro","path":"/home/state-machine/react-to-events/funnel-types/common-concepts/intro","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/funnel-types/common-concepts/parallel-networks","path":"/home/state-machine/react-to-events/funnel-types/common-concepts/parallel-networks","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/funnel-types/configuration","path":"/home/state-machine/react-to-events/funnel-types/configuration","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/funnel-types/mina-funnel","path":"/home/state-machine/react-to-events/funnel-types/mina-funnel","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/funnel-types/parallel-avail-funnel","path":"/home/state-machine/react-to-events/funnel-types/parallel-avail-funnel","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/funnel-types/parallel-evm-funnel","path":"/home/state-machine/react-to-events/funnel-types/parallel-evm-funnel","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/funnel-types/stable-tick-rate-funnel","path":"/home/state-machine/react-to-events/funnel-types/stable-tick-rate-funnel","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/L2-quirks","path":"/home/state-machine/react-to-events/L2-quirks","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/cardano/cardano-mint-burn","path":"/home/state-machine/react-to-events/primitive-catalogue/cardano/cardano-mint-burn","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/cardano/cardano-transfer","path":"/home/state-machine/react-to-events/primitive-catalogue/cardano/cardano-transfer","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/cardano/delayed-state","path":"/home/state-machine/react-to-events/primitive-catalogue/cardano/delayed-state","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/cardano/projected-nft","path":"/home/state-machine/react-to-events/primitive-catalogue/cardano/projected-nft","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/cardano/stakepools","path":"/home/state-machine/react-to-events/primitive-catalogue/cardano/stakepools","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/create-your-own","path":"/home/state-machine/react-to-events/primitive-catalogue/create-your-own","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/evm/dynamic-primitives","path":"/home/state-machine/react-to-events/primitive-catalogue/evm/dynamic-primitives","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/evm/ERC1155","path":"/home/state-machine/react-to-events/primitive-catalogue/evm/ERC1155","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/evm/ERC20","path":"/home/state-machine/react-to-events/primitive-catalogue/evm/ERC20","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/evm/ERC6551","path":"/home/state-machine/react-to-events/primitive-catalogue/evm/ERC6551","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/evm/ERC721","path":"/home/state-machine/react-to-events/primitive-catalogue/evm/ERC721","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/evm/Generic","path":"/home/state-machine/react-to-events/primitive-catalogue/evm/Generic","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/introduction","path":"/home/state-machine/react-to-events/primitive-catalogue/introduction","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/meta/introduction","path":"/home/state-machine/react-to-events/primitive-catalogue/meta/introduction","sidebar":"tutorialSidebar"},{"id":"home/state-machine/react-to-events/primitive-catalogue/mina/generic","path":"/home/state-machine/react-to-events/primitive-catalogue/mina/generic","sidebar":"tutorialSidebar"},{"id":"home/state-machine/structure","path":"/home/state-machine/structure","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/","label":"home/intro/what-is-paima-engine"}}}}],"breadcrumbs":false}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en","ja"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"},"ja":{"label":"Japanese","direction":"ltr","htmlLang":"ja","calendar":"gregory","path":"ja"}}}');var s=n(7529);const l=JSON.parse('{"docusaurusVersion":"3.4.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.4.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.4.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.4.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.4.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.4.0"},"docusaurus-tailwindcss":{"type":"local"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"3.4.0"},"docusaurus-plugin-remote-content-prc":{"type":"package","name":"docusaurus-plugin-remote-content","version":"4.0.0"},"docusaurus-theme-mermaid":{"type":"package","name":"@docusaurus/theme-mermaid","version":"3.4.0"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.44.2"}}}');var c=n(5893);const u={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},d=r.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>m});var r=n(7294),a=n(412),o=n(5742),i=n(8780),s=n(2045),l=n(226),c=n(5893);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,c.jsx)(l.z,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(p,{children:(0,c.jsxs)(m,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(o.Z,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(s.Z,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const h=e=>(0,c.jsx)(f,{...e});class m extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.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??h)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(405),a=n(5893);function o(e){return(0,a.jsx)(r.ql,{...e})}},3692:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(3727),o=n(8780),i=n(2263),s=n(3919),l=n(412),c=n(8138),u=n(4996),d=n(5893);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:h,isActive:m,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:v}=(0,i.Z)(),{trailingSlash:w,baseUrl:x}=v,k=v.future.experimental_router,{withBaseUrl:S}=(0,u.Cg)(),E=(0,c.Z)(),_=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>_.current));const C=p||f;const T=(0,s.Z)(C),P=C?.replace("pathname://","");let L=void 0!==P?(N=P,b&&(e=>e.startsWith("/"))(N)?S(N):N):void 0;var N;"hash"===k&&L?.startsWith("./")&&(L=L?.slice(1)),L&&T&&(L=(0,o.applyTrailingSlash)(L,{trailingSlash:w,baseUrl:x}));const R=(0,r.useRef)(!1),A=n?a.OL:a.rU,O=l.Z.canUseIntersectionObserver,j=(0,r.useRef)(),I=()=>{R.current||null==L||(window.docusaurus.preload(L),R.current=!0)};(0,r.useEffect)((()=>(!O&&T&&null!=L&&window.docusaurus.prefetch(L),()=>{O&&j.current&&j.current.disconnect()})),[j,L,O,T]);const F=L?.startsWith("#")??!1,D=!y.target||"_self"===y.target,M=!L||!T||!D;return g||!F&&M||E.collectLink(L),y.id&&E.collectAnchor(y.id),M?(0,d.jsx)("a",{ref:_,href:L,...C&&!T&&{target:"_blank",rel:"noopener noreferrer"},...y}):(0,d.jsx)(A,{...y,onMouseEnter:I,onTouchStart:I,innerRef:e=>{_.current=e,O&&e&&T&&(j.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(j.current.unobserve(e),j.current.disconnect(),null!=L&&window.docusaurus.prefetch(L))}))})),j.current.observe(e))},to:L,...n&&{isActive:m,activeClassName:h}})}const f=r.forwardRef(p)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c,I:()=>l});var r=n(7294),a=n(5893);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return o(s({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=s({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{Cg:()=>i,ZP:()=>s});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:e}=(0,a.Z)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:a=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,o.b)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(a)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},8138:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7294);n(5893);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const s=a?`${a}.${o}`:o;r(i)?e(i,s):t[s]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,z:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:s,children:t})}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>m,gA:()=>p,_r:()=>u,Jo:()=>g,zh:()=>d,yW:()=>h,gB:()=>f});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.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),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const c={},u=()=>i("docusaurus-plugin-content-docs")??c,d=e=>{try{return function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function p(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function f(e){return d(e).versions}function h(e){const t=d(e);return s(t)}function m(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)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(2573),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(6854),n(1881)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},2503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(512),a=n(5999),o=n(6668),i=n(3692),s=n(8138);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(5893);function u(e){let{as:t,id:n,...u}=e;const d=(0,s.Z)(),{navbar:{hideOnScroll:p}}=(0,o.L)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const f=(0,a.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.Z)("anchor",p?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(5893);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},2045:(e,t,n)=>{"use strict";n.d(t,{Z:()=>At});var r=n(7294),a=n(512),o=n(4763),i=n(1944),s=n(6550),l=n(5999),c=n(5936),u=n(5893);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,s.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const h=(0,l.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 m(e){const t=e.children??h,{containerRef:n,onClick:r}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":h,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var g=n(5281),b=n(9727);const y={skipToContent:"skipToContent_fXgn"};function v(){return(0,u.jsx)(m,{className:y.skipToContent})}var w=n(6668),x=n(9689);function k(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:a,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.Z)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(k,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,a.Z)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function P(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,x.n)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,u.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,u.jsx)("div",{className:T.announcementBarPlaceholder}),(0,u.jsx)(C,{className:T.announcementBarContent}),o&&(0,u.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var L=n(2961),N=n(2466);var R=n(902),A=n(3102);const O=r.createContext(null);function j(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,A.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,R.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,u.jsx)(O.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function F(){const e=(0,r.useContext)(O);if(!e)throw new R.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,A.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:I(o)})),[a,o,t])}function D(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=F();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(2949),B=n(2389);function z(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function H(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,B.Z)(),s=(0,l.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"===r?(0,l.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,a.Z)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,a.Z)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite",children:[(0,u.jsx)(z,{className:(0,a.Z)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,a.Z)(U.toggleIcon,U.darkToggleIcon)})]})})}const Q=r.memo(H),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.I)();return r?null:(0,u.jsx)(Q,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var W=n(1327);function q(){return(0,u.jsx)(W.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function G(){const e=(0,L.e)();return(0,u.jsx)("button",{type:"button","aria-label":(0,l.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(),children:(0,u.jsx)(k,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(q,{}),(0,u.jsx)(V,{className:"margin-right--md"}),(0,u.jsx)(G,{})]})}var K=n(3692),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const d=(0,X.ZP)(r),p=(0,X.ZP)(t),f=(0,X.ZP)(a,{forcePrependBaseUrl:!0}),h=o&&a&&!(0,J.Z)(a),m=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[o,h&&(0,u.jsx)(te.Z,{...s&&{width:12,height:12}})]})};return a?(0,u.jsx)(K.Z,{href:l?f:a,...c,...m}):(0,u.jsx)(K.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...c,...m})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,u.jsx)(ne,{className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,a.Z)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,u.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(6043),se=n(8596),le=n(2263);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.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:o,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.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)}}),[l]),(0,u.jsxs)("div",{ref:l,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,a.Z)("navbar__link",o),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:s.children??s.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(qe,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:o,onClick:i,...l}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:h}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&h(!d)}),[c,d,h]),(0,u.jsxs)("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,a.Z)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),f()},children:l.children??l.label}),(0,u.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(qe,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,u.jsx)(r,{...n})}var he=n(4711);function me(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const ge="iconLanguage_nlXk";var be=n(1029),ye=n(1728),ve=n(373),we=n(143),xe=n(22),ke=n(8202),Se=n(3545),Ee=n(3926),_e=n(1073),Ce=n(2539),Te=n(726);const Pe='',Le='',Ne='',Re='',Ae='',Oe='',je='',Ie={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 Fe(e){let{document:t,type:n,page:r,metadata:a,tokens:o,isInterOfTree:i,isLastOfTree:s}=e;const l=n===Se.P.Title,c=n===Se.P.Keywords,u=l||c,d=n===Se.P.Heading,p=[];i?p.push(Oe):s&&p.push(je);const f=p.map((e=>`${e}`)),h=`${u?Pe:d?Le:Ne}`,m=[`${c?(0,Ce.C)(t.s,o):(0,Te.o)(t.t,(0,_e.m)(a,"t"),o)}`];if(!i&&!s&&be.H6){const e=r?r.b?.concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;m.push(`${(0,Ee.e)(e??[])}`)}else u||m.push(`${(0,Ce.C)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),o)}`);const g=`${Re}`;return[...f,h,``,...m,"",g].join("")}function De(){return`${Ae}${(0,l.I)({id:"theme.SearchBar.noResultsText",message:"No results"})}`}var Me=n(311),Be=n(51);async function ze(){const e=await Promise.all([n.e(8443),n.e(5525)]).then(n.t.bind(n,8443,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const $e="_highlight";const Ue=function(e){let{handleSearchBarToggle:t}=e;const n=(0,B.Z)(),{siteConfig:{baseUrl:a},i18n:{currentLocale:o}}=(0,le.Z)(),i=(0,we.gA)();let c=a;try{const{preferredVersion:e}=(0,ve.J)(i?.pluginId??be.gQ);e&&!e.isLast&&(c=e.path+"/")}catch(D){if(be.l9&&!(D instanceof R.i6))throw D}const d=(0,s.k6)(),p=(0,s.TH)(),f=(0,r.useRef)(null),h=(0,r.useRef)(new Map),m=(0,r.useRef)(!1),[g,b]=(0,r.useState)(!1),[y,v]=(0,r.useState)(!1),[w,x]=(0,r.useState)(""),k=(0,r.useRef)(null),S=(0,r.useRef)(""),[E,_]=(0,r.useState)("");(0,r.useEffect)((()=>{if(!Array.isArray(be.Kc))return;let e="";if(p.pathname.startsWith(c)){const t=p.pathname.substring(c.length);let n;for(const e of be.Kc){const r="string"==typeof e?e:e.path;if(t===r||t.startsWith(`${r}/`)){n=r;break}}n&&(e=n)}S.current!==e&&(h.current.delete(e),S.current=e),_(e)}),[p.pathname,c]);const C=!!be.hG&&Array.isArray(be.Kc)&&""===E,T=(0,r.useCallback)((async()=>{if(C||h.current.get(E))return;h.current.set(E,"loading"),k.current?.autocomplete.destroy(),b(!0);const[{wrappedIndexes:e,zhDictionary:t},n]=await Promise.all([(0,xe.w)(c,E),ze()]);if(k.current=n(f.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,ye.Z)(Ie.searchBar,{[Ie.searchBarLeft]:"left"===be.pu}),noPrefix:!0,dropdownMenu:Ie.dropdownMenu,input:Ie.input,hint:Ie.hint,suggestions:Ie.suggestions,suggestion:Ie.suggestion,cursor:Ie.cursor,dataset:Ie.dataset,empty:Ie.empty}},[{source:(0,ke.v)(e,t,be.qo),templates:{suggestion:Fe,empty:De,footer:e=>{let{query:t,isEmpty:n}=e;if(n&&(!E||!be.pQ))return;const r=(e=>{let{query:t,isEmpty:n}=e;const r=document.createElement("a"),i=new URLSearchParams;let s;if(i.set("q",t),E){const e=E&&Array.isArray(be.Kc)?be.Kc.find((e=>"string"==typeof e?e===E:e.path===E)):E,t=e?(0,Be._)(e,o).label:E;s=be.pQ&&n?(0,l.I)({id:"theme.SearchBar.seeAllOutsideContext",message:'See all results outside "{context}"'},{context:t}):(0,l.I)({id:"theme.SearchBar.searchInContext",message:'See all results within "{context}"'},{context:t})}else s=(0,l.I)({id:"theme.SearchBar.seeAll",message:"See all results"});if(!E||!Array.isArray(be.Kc)||be.pQ&&n||i.set("ctx",E),c!==a){if(!c.startsWith(a))throw new Error(`Version url '${c}' does not start with base url '${a}', this is a bug of \`@easyops-cn/docusaurus-search-local\`, please report it.`);i.set("version",c.substring(a.length))}const u=`${a}search?${i.toString()}`;return r.href=u,r.textContent=s,r.addEventListener("click",(e=>{e.ctrlKey||e.metaKey||(e.preventDefault(),k.current?.autocomplete.close(),d.push(u))})),r})({query:t,isEmpty:n}),i=document.createElement("div");return i.className=Ie.hitFooter,i.appendChild(r),i}}}]).on("autocomplete:selected",(function(e,t){let{document:{u:n,h:r},tokens:a}=t;f.current?.blur();let o=n;if(be.vc&&a.length>0){const e=new URLSearchParams;for(const t of a)e.append($e,t);o+=`?${e.toString()}`}r&&(o+=r),d.push(o)})).on("autocomplete:closed",(()=>{f.current?.blur()})),h.current.set(E,"done"),b(!1),m.current){const e=f.current;e.value&&k.current?.autocomplete.open(),e.focus()}}),[C,E,c,a,d]);(0,r.useEffect)((()=>{if(!be.vc)return;const e=n?new URLSearchParams(p.search).getAll($e):[];setTimeout((()=>{const t=document.querySelector("article");if(!t)return;const n=new be.vc(t);n.unmark(),0!==e.length&&n.mark(e),x(e.join(" ")),k.current?.autocomplete.setVal(e.join(" "))}))}),[n,p.search,p.pathname]);const[P,L]=(0,r.useState)(!1),N=(0,r.useCallback)((()=>{m.current=!0,T(),L(!0),t?.(!0)}),[t,T]),A=(0,r.useCallback)((()=>{L(!1),t?.(!1)}),[t]),O=(0,r.useCallback)((()=>{T()}),[T]),j=(0,r.useCallback)((e=>{x(e.target.value),e.target.value&&v(!0)}),[]),I=!!n&&/mac/i.test(navigator.userAgentData?.platform??navigator.platform);(0,r.useEffect)((()=>{if(!be.AY)return;const e=e=>{!(I?e.metaKey:e.ctrlKey)||"k"!==e.key&&"K"!==e.key||(e.preventDefault(),f.current?.focus(),N())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[I,N]);const F=(0,r.useCallback)((()=>{const e=new URLSearchParams(p.search);e.delete($e);const t=e.toString(),n=p.pathname+(""!=t?`?${t}`:"")+p.hash;n!=p.pathname+p.search+p.hash&&d.push(n),x(""),k.current?.autocomplete.setVal("")}),[p.pathname,p.search,p.hash,d]);return(0,u.jsxs)("div",{className:(0,ye.Z)("navbar__search",Ie.searchBarContainer,{[Ie.searchIndexLoading]:g&&y,[Ie.focused]:P}),hidden:C,dir:"ltr",children:[(0,u.jsx)("input",{placeholder:(0,l.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:"navbar__search-input",onMouseEnter:O,onFocus:N,onBlur:A,onChange:j,ref:f,value:w}),(0,u.jsx)(Me.Z,{className:Ie.searchBarLoadingRing}),be.AY&&be.t_&&(""!==w?(0,u.jsx)("button",{className:Ie.searchClearButton,onClick:F,children:"\u2715"}):n&&(0,u.jsxs)("div",{className:Ie.searchHintContainer,children:[(0,u.jsx)("kbd",{className:Ie.searchHint,children:I?"\u2318":"ctrl"}),(0,u.jsx)("kbd",{className:Ie.searchHint,children:"K"})]}))]})},He={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Qe(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,a.Z)(n,He.navbarSearchContainer),children:t})}var Ze=n(2802);const Ve=e=>e.docs.find((t=>t.id===e.mainDocId));const We={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.Z)(),p=(0,he.l)(),{search:f,hash:h}=(0,s.TH)(),m=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${h}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],g=t?(0,l.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(fe,{...o,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(me,{className:ge}),g]}),items:m})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(Qe,{className:n,children:(0,u.jsx)(Ue,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,u.jsx)(i,{className:(0,a.Z)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,Ze.vY)(t,r),s=o?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,u.jsx)(oe,{exact:!0,...a,isActive:()=>s||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,Ze.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,Ze.lO)(r)[0],i=t??o.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,u.jsx)(oe,{...a,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:c,hash:d}=(0,s.TH)(),p=(0,we.Iw)(n),f=(0,we.gB)(n),{savePreferredVersionName:h}=(0,ve.J)(n),m=[...a,...f.map((e=>{const t=p.alternateDocVersions[e.name]??Ve(e);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>h(e.name)}})),...o],g=(0,Ze.lO)(n)[0],b=t&&m.length>1?(0,l.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,y=t&&m.length>1?void 0:Ve(g).path;return m.length<=1?(0,u.jsx)(oe,{...i,mobile:t,label:b,to:y,isActive:r?()=>!1:void 0}):(0,u.jsx)(fe,{...i,mobile:t,label:b,to:y,items:m,isActive:r?()=>!1:void 0})}};function qe(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=We[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(a,{...n})}function Ge(){const e=(0,L.e)(),t=(0,w.L)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(qe,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Ye(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(l.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)",children:"\u2190 Back to main menu"})})}function Ke(){const e=0===(0,w.L)().navbar.items.length,t=F();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(Ye,{onClick:()=>t.hide()}),t.content]})}function Xe(){const e=(0,L.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?(0,u.jsx)(D,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(Ge,{}),secondaryMenu:(0,u.jsx)(Ke,{})}):null}const Je={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function et(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,a.Z)("navbar-sidebar__backdrop",e.className)})}function tt(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,L.e)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,N.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 a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:s,"aria-label":(0,l.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Je.navbarHideable,!d&&Je.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(et,{onClick:i.toggle}),(0,u.jsx)(Xe,{})]})}var nt=n(9690);const rt="right";function at(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function ot(){const{toggle:e,shown:t}=(0,L.e)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,l.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",children:(0,u.jsx)(at,{})})}const it={colorModeToggle:"colorModeToggle_DEke"};function st(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(nt.QW,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(qe,{...e})},t)))})}function lt(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function ct(){const e=(0,L.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??rt)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,u.jsx)(lt,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(ot,{}),(0,u.jsx)(q,{}),(0,u.jsx)(st,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(st,{items:r}),(0,u.jsx)(V,{className:it.colorModeToggle}),!a&&(0,u.jsx)(Qe,{children:(0,u.jsx)(Ue,{})})]})})}function ut(){return(0,u.jsx)(tt,{children:(0,u.jsx)(ct,{})})}function dt(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,s=(0,X.ZP)(n),l=(0,X.ZP)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(K.Z,{className:"footer__link-item",...r?{href:o?l:r}:{to:s},...i,children:[a,r&&!(0,J.Z)(r)&&(0,u.jsx)(te.Z,{})]})}function pt(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(dt,{item:t})},t.href??t.to)}function ft(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(pt,{item:e},t)))})]})}function ht(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(ft,{column:e},t)))})}function mt(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function gt(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(dt,{item:t})}function bt(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(gt,{item:e}),t.length!==n+1&&(0,u.jsx)(mt,{})]},n)))})})}function yt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(ht,{columns:t}):(0,u.jsx)(bt,{links:t})}var vt=n(9965);const wt={footerLogoLink:"footerLogoLink_BH7S"};function xt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.Cg)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(vt.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function kt(e){let{logo:t}=e;return t.href?(0,u.jsx)(K.Z,{href:t.href,className:wt.footerLogoLink,target:t.target,children:(0,u.jsx)(xt,{logo:t})}):(0,u.jsx)(xt,{logo:t})}function St(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Et(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,u.jsx)("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function _t(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,u.jsx)(Et,{style:a,links:n&&n.length>0&&(0,u.jsx)(yt,{links:n}),logo:r&&(0,u.jsx)(kt,{logo:r}),copyright:t&&(0,u.jsx)(St,{copyright:t})})}const Ct=r.memo(_t),Tt=(0,R.Qc)([M.S,x.p,N.OC,ve.L5,i.VC,function(e){let{children:t}=e;return(0,u.jsx)(A.n2,{children:(0,u.jsx)(L.M,{children:(0,u.jsx)(j,{children:t})})})}]);function Pt(e){let{children:t}=e;return(0,u.jsx)(Tt,{children:t})}var Lt=n(2503);function Nt(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(Lt.Z,{as:"h1",className:"hero__title",children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(nt.Cw,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(nt.aG,{error:t})})]})})})}const Rt={mainWrapper:"mainWrapper_z2l0"};function At(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,b.t)(),(0,u.jsxs)(Pt,{children:[(0,u.jsx)(i.d,{title:s,description:l}),(0,u.jsx)(v,{}),(0,u.jsx)(P,{}),(0,u.jsx)(ut,{}),(0,u.jsx)("div",{id:d,className:(0,a.Z)(g.k.wrapper.main,Rt.mainWrapper,r),children:(0,u.jsx)(o.Z,{fallback:e=>(0,u.jsx)(Nt,{...e}),children:t})}),!n&&(0,u.jsx)(Ct,{})]})}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(3692),a=n(4996),o=n(2263),i=n(6668),s=n(9965),l=n(5893);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.ZP)(t.src),dark:(0,a.ZP)(t.srcDark||t.src)},i=(0,l.jsx)(s.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,o.Z)(),{navbar:{title:n,logo:s}}=(0,i.L)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,a.ZP)(s?.href||"/"),h=n?"":t,m=s?.alt??h;return(0,l.jsxs)(r.Z,{to:f,...p,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:m,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(5742),a=n(5893);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.Z,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},9965:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7294),a=n(512),o=n(2389),i=n(2949);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(5893);function c(e){let{className:t,children:n}=e;const c=(0,o.Z)(),{colorMode:u}=(0,i.I)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.Z)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:o},e)}))})}function u(e){const{sources:t,className:n,alt:r,...a}=e;return(0,l.jsx)(c,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>c,z:()=>b});var r=n(7294),a=n(412),o=n(469),i=n(1442),s=n(5893);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return p(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function h(e){if(!a.Z.canUseDOM)return e?u:d}function m(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:o}),(0,s.jsx)(t,{ref:u,style:c?void 0:h(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:l,children:a})}function g(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[l,c]=(0,r.useState)(t);return(0,o.Z)((()=>{t||i(!0)}),[t]),(0,o.Z)((()=>{a&&c(t)}),[a,t]),a?(0,s.jsx)(m,{...n,collapsed:l}):null}function b(e){let{lazy:t,...n}=e;const r=t?g:m;return(0,s.jsx)(r,{...n})}},9689:(e,t,n)=>{"use strict";n.d(t,{n:()=>m,p:()=>h});var r=n(7294),a=n(2389),o=n(812),i=n(902),s=n(6668),l=n(5893);const c=(0,o.WA)("docusaurus.announcement.dismiss"),u=(0,o.WA)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=r.createContext(null);function h(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&p(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(f.Provider,{value:n,children:t})}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>b,S:()=>g});var r=n(7294),a=n(412),o=n(902),i=n(812),s=n(6668),l=n(5893);const c=r.createContext(void 0),u="theme",d=(0,i.WA)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,h=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{d.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[a,o]=(0,r.useState)(h(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&m(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const 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:a,setColorMode:i,get isDarkTheme(){return a===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[a,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function b(){const e=(0,r.useContext)(c);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>b});var r=n(7294),a=n(143),o=n(9935),i=n(6668),s=n(2802),l=n(902),c=n(812),u=n(5893);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,c.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.WA)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const h=r.createContext(null);function m(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=m();return(0,u.jsx)(h.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return s.cE?(0,u.jsx)(g,{children:t}):(0,u.jsx)(u.Fragment,{children:t})}function y(){const e=(0,r.useContext)(h);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=y(),{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:()=>c,b:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new a.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>l,q:()=>s});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new a.i6("DocsVersionProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>h});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),s=n(902);function l(e){!function(e){const t=(0,i.k6)(),n=(0,s.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var c=n(6668),u=n(5893);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,c.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,s]=(0,r.useState)(!1);l((()=>{if(i)return s(!1),!1}));const u=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:i})),[e,n,u,i])}function f(e){let{children:t}=e;const n=p();return(0,u.jsx)(d.Provider,{value:n,children:t})}function h(){const e=r.useContext(d);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>l,Zo:()=>c,n2:()=>s});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,s]=o,l=(0,a.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>s});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!a.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},5281:(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",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{LM:()=>f,_F:()=>g,cE:()=>p,SN:()=>E,lO:()=>x,vY:()=>S,oz:()=>k,s1:()=>w,f:()=>y});var r=n(7294),a=n(6550),o=n(8790),i=n(143),s=n(373),l=n(4477),c=n(1116);function u(e){return Array.from(new Set(e))}var d=n(8596);const p=!!i._r;function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}const h=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),m=(e,t)=>e.some((e=>g(e,t)));function g(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||m(e.items,t))}function b(e,t){switch(e.type){case"category":return g(e,t)||e.items.some((e=>b(e,t)));case"link":return!e.unlisted||g(e,t);default:return!0}}function y(e,t){return(0,r.useMemo)((()=>e.filter((e=>b(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function w(){const e=(0,c.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>u([t,n,a].filter(Boolean))),[t,n,a])}function k(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function E(e){let{route:t}=e;const n=(0,a.TH)(),r=(0,l.E)(),i=t.routes,s=i.find((e=>(0,a.LX)(n.pathname,e)));if(!s)return null;const c=s.sidebar,u=c?r.docsSidebars[c]:void 0;return{docElement:(0,o.H)(i),sidebarName:c,sidebarItems:u}}},9690:(e,t,n)=>{"use strict";n.d(t,{aG:()=>u,Ac:()=>c,Cw:()=>l,QW:()=>d});var r=n(7294),a=n(5999),o=n(8780);const i={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};var s=n(5893);function l(e){return(0,s.jsx)("button",{type:"button",...e,children:(0,s.jsx)(a.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function c(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{className:i.errorBoundaryFallback,children:[(0,s.jsx)("p",{children:t.message}),(0,s.jsx)(l,{onClick:n})]})}function u(e){let{error:t}=e;const n=(0,o.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{className:i.errorBoundaryError,children:n})}class d extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>d,VC:()=>h});var r=n(7294),a=n(512),o=n(5742),i=n(226);function s(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(4996),c=n(2263);var u=n(5893);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const s=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.Cg)(),p=a?d(a,{absolute:!0}):void 0;return(0,u.jsxs)(o.Z,{children:[t&&(0,u.jsx)("title",{children:s}),t&&(0,u.jsx)("meta",{property:"og:title",content:s}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,u.jsx)("meta",{property:"og:image",content:p}),p&&(0,u.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),s=(0,a.Z)(i,t);return(0,u.jsxs)(p.Provider,{value:s,children:[(0,u.jsx)(o.Z,{children:(0,u.jsx)("html",{className:s})}),n]})}function h(e){let{children:t}=e;const n=s(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,a.Z)(r,o),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>s,Qc:()=>u,Ql:()=>c,i6:()=>l,zX:()=>i});var r=n(7294),a=n(469),o=n(5893);function i(e){const t=(0,r.useRef)(e);return(0,a.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,a.Z)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.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 a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>c,RF:()=>p});var r=n(7294),a=n(412),o=n(2389),i=(n(469),n(902)),s=n(5893);const l=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,s.jsx)(l.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(d()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.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 a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2263);const r="default";function a(e,t){return`docs-${e}-${t}`}},812:(e,t,n)=>{"use strict";n.d(t,{WA:()=>c});n(7294);const r=JSON.parse('{"d":"localStorage","u":""}'),a=r.d;function o(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function i(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,s||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),s=!0),null}var t}let s=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){const n=`${e}${r.u}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const a=i(t?.persistence);return null===a?l:{get:()=>{try{return a.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=a.getItem(n);a.setItem(n,e),o({key:n,oldValue:t,newValue:e,storage:a})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=a.getItem(n);a.removeItem(n),o({key:n,oldValue:e,newValue:null,storage:a})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===a&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2263),a=n(6550),o=n(8780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.Z)(),{pathname:l}=(0,a.TH)(),c=(0,o.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}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=void 0;const r=n(5913);function a(e){return e.endsWith("/")?e:`${e}/`}function o(e){return(0,r.removeSuffix)(e,"/")}t.addTrailingSlash=a,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,n?a(l):o(l));var l;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=o},4143:(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]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}}),Object.defineProperty(t,"addTrailingSlash",{enumerable:!0,get:function(){return a.addTrailingSlash}}),Object.defineProperty(t,"addLeadingSlash",{enumerable:!0,get:function(){return a.addLeadingSlash}}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return a.removeTrailingSlash}});var o=n(5913);Object.defineProperty(t,"addPrefix",{enumerable:!0,get:function(){return o.addPrefix}}),Object.defineProperty(t,"removeSuffix",{enumerable:!0,get:function(){return o.removeSuffix}}),Object.defineProperty(t,"addSuffix",{enumerable:!0,get:function(){return o.addSuffix}}),Object.defineProperty(t,"removePrefix",{enumerable:!0,get:function(){return o.removePrefix}});var i=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},5913:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=void 0,t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},311:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(7294);var r=n(1728);const a={loadingRing:"loadingRing_RJI3","loading-ring":"loading-ring_FB5o"};var o=n(5893);function i(e){let{className:t}=e;return(0,o.jsxs)("div",{className:(0,r.Z)(a.loadingRing,t),children:[(0,o.jsx)("div",{}),(0,o.jsx)("div",{}),(0,o.jsx)("div",{}),(0,o.jsx)("div",{})]})}},22:(e,t,n)=>{"use strict";n.d(t,{w:()=>s});var r=n(1336),a=n.n(r),o=n(1029);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}${o.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:a().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}},8202:(e,t,n)=>{"use strict";n.d(t,{v:()=>c});var r=n(1336),a=n.n(r);var o=n(1029);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:a().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?a().Query.wildcard.TRAILING:a().Query.wildcard.NONE})))})))}var l=n(3545);function c(e,t,n){return function(r,s){const c=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return a()[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,o.dK);if(0===c.length)return void s([]);const u=function(e,t){const n=function(e,t){const n=[];return function e(r,a){if(0===r.length)return void n.push(a);const o=r[0];if(/\p{Unified_Ideograph}/u.test(o)){const n=function(e,t){const n=[];return function e(r,a){let o=0,i=!1;for(const s of t)if(r.substr(0,s.length)===s){const t={missed:a.missed,term:a.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>o;t-=1){const l=s.substr(0,t);if(r.substr(0,t)===l){o=t;const s={missed:a.missed,term:a.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:a.missed+1,term:a.term}):a.term.length>0&&n.push(a))}(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))}(o,t);for(const t of n){const n=a.concat(...t);e(r.slice(1),n)}}else{const t=a.concat({value:o});e(r.slice(1),t)}}(e,[]),n}(e,t);if(0===n.length)return[{tokens:e,term:e.map((e=>({value:e,presence:a().Query.presence.REQUIRED,wildcard:a().Query.wildcard.LEADING|a().Query.wildcard.TRAILING})))}];for(const a of n)a[a.length-1].maybeTyping=!0;const r=[];for(const i of o.dK)if("en"===i)o._k||r.unshift(a().stopWordFilter);else{const e=a()[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 a of s)if(a.length>2)for(let e=a.length-1;e>=0;e-=1)l.push(a.slice(0,e).concat(a.slice(e+1)));return i(n).concat(i(l))}(c,t),d=[];e:for(const{term:t,tokens:a}of u)for(const{documents:r,index:o,type:i}of e)if(d.push(...o.query((e=>{for(const n of t)e.term(n.value,{wildcard:n.wildcard,presence:n.presence})})).slice(0,n).filter((e=>!d.some((t=>t.document.i.toString()===e.ref)))).slice(0,n-d.length).map((t=>{const n=r.find((e=>e.i.toString()===t.ref));return{document:n,type:i,page:i!==l.P.Title&&e[0].documents.find((e=>e.i===n.p)),metadata:t.matchData.metadata,tokens:a,score:t.score}}))),d.length>=n)break e;!function(e){e.forEach(((e,t)=>{e.index=t})),e.sort(((t,n)=>{let r=t.type!==l.P.Heading&&t.type!==l.P.Content&&t.type!==l.P.Description||!t.page?t.index:e.findIndex((e=>e.document===t.page)),a=n.type!==l.P.Heading&&n.type!==l.P.Content&&n.type!==l.P.Description||!n.page?n.index:e.findIndex((e=>e.document===n.page));if(-1===r&&(r=t.index),-1===a&&(a=n.index),r===a){const e=(0===n.type?1:0)-(0===t.type?1:0);return 0===e?t.index-n.index:e}return r-a}))}(d),function(e){e.forEach(((t,n)=>{n>0&&t.page&&e.slice(0,n).some((e=>(e.type===l.P.Keywords?e.page:e.document)===t.page))&&(n{"use strict";function r(e){return e.join(" \u203a ")}n.d(t,{e:()=>r})},1690:(e,t,n)=>{"use strict";function r(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{X:()=>r})},1073:(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})},2539:(e,t,n)=>{"use strict";n.d(t,{C:()=>a});var r=n(1690);function a(e,t,n){const o=[];for(const i of t){const n=e.toLowerCase().indexOf(i);if(n>=0){n>0&&o.push(a(e.substr(0,n),t)),o.push(`${(0,r.X)(e.substr(n,i.length))}`);const s=n+i.length;s${(0,r.X)(e)}`:(0,r.X)(e):o.join("")}},726:(e,t,n)=>{"use strict";n.d(t,{o:()=>l});var r=n(1690),a=n(2539);const o=/\w+|\p{Unified_Ideograph}/u;function i(e){const t=[];let n=0,r=e;for(;r.length>0;){const a=r.match(o);if(!a){t.push(r);break}a.index>0&&t.push(r.substring(0,a.index)),t.push(a[0]),n+=a.index+a[0].length,r=e.substring(n)}return t}var s=n(1029);function l(e,t,n,o){void 0===o&&(o=s.Hk);const{chunkIndex:l,chunks:c}=function(e,t,n){const o=[];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)o.push(e)}-1===c&&(c=o.length),l=u+d,o.push({html:(0,a.C)(e.substring(u,l),n,!0),textLength:d})}}if(l({html:(0,r.X)(e),textLength:e.length})));for(const e of t)o.push(e)}return{chunkIndex:c,chunks:o}}(e,t,n),u=c.slice(0,l),d=c[l],p=[d.html],f=c.slice(l+1);let h=d.textLength,m=0,g=0,b=!1,y=!1;for(;h0){const e=u.pop();h+e.textLength<=o?(p.unshift(e.html),m+=e.textLength,h+=e.textLength):(b=!0,u.length=0)}else{if(!(f.length>0))break;{const e=f.shift();h+e.textLength<=o?(p.push(e.html),g+=e.textLength,h+=e.textLength):(y=!0,f.length=0)}}return(b||u.length>0)&&p.unshift("\u2026"),(y||f.length>0)&&p.push("\u2026"),p.join("")}},51:(e,t,n)=>{"use strict";function r(e,t){if("string"==typeof e)return{label:e,path:e};{const{label:n,path:r}=e;return"string"==typeof n?{label:n,path:r}:Object.prototype.hasOwnProperty.call(n,t)?{label:n[t],path:r}:{label:r,path:r}}}n.d(t,{_:()=>r})},1029:(e,t,n)=>{"use strict";n.d(t,{vc:()=>o,gQ:()=>f,H6:()=>c,hG:()=>g,l9:()=>h,dK:()=>r,_k:()=>a,pu:()=>p,AY:()=>u,t_:()=>d,Kc:()=>m,J:()=>i,Hk:()=>l,qo:()=>s,pQ:()=>b});n(1336);const r=["en"],a=!1,o=null,i="search-index{dir}.json?_=66d691ee",s=8,l=50,c=!1,u=!0,d=!0,p="right",f=void 0,h=!0,m=null,g=!1,b=!1},3545:(e,t,n)=>{"use strict";var r;n.d(t,{P:()=>r}),function(e){e[e.Title=0]="Title",e[e.Heading=1]="Heading",e[e.Description=2]="Description",e[e.Keywords=3]="Keywords",e[e.Content=4]="Content"}(r||(r={}))},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>f,PP:()=>P,Ep:()=>p});var r=n(3117);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),d++):d&&(o(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};var s=n(8776);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,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function f(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function h(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,m(),w.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}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,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var a=f(n);a&&a!==h&&e(t,a,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),m=l(n),g=0;g{"use strict";e.exports=function(e,t,n,r,a,o,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,a,o,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)}},1336:(e,t,n)=>{var r,a;!function(){var o,i,s,l,c,u,d,p,f,h,m,g,b,y,v,w,x,k,S,E,_,C,T,P,L,N,R,A,O,j,I=function(e){var t=new I.Builder;return t.pipeline.add(I.trimmer,I.stopWordFilter,I.stemmer),t.searchPipeline.add(I.stemmer),e.call(t,t),t.build()};I.version="2.3.9",I.utils={},I.utils.warn=(o=this,function(e){o.console&&console.warn&&console.warn(e)}),I.utils.asString=function(e){return null==e?"":e.toString()},I.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r0){var l=I.utils.clone(t)||{};l.position=[i,s],l.index=a.length,a.push(new I.Token(n.slice(i,o),l))}i=o+1}}return a},I.tokenizer.separator=/[\s\-]+/,I.Pipeline=function(){this._stack=[]},I.Pipeline.registeredFunctions=Object.create(null),I.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&I.utils.warn("Overwriting existing registered function: "+t),e.label=t,I.Pipeline.registeredFunctions[e.label]=e},I.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||I.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},I.Pipeline.load=function(e){var t=new I.Pipeline;return e.forEach((function(e){var n=I.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},I.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){I.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},I.Pipeline.prototype.after=function(e,t){I.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)},I.Pipeline.prototype.before=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},I.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},I.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(oe&&(n=a),o!=e);)r=n-t,a=t+Math.floor(r/2),o=this.elements[2*a];return o==e||o>e?2*a:os?c+=2:i==s&&(t+=n[l+1]*r[c+1],l+=2,c+=2);return t},I.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},I.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var o,i=a.str.charAt(0);i in a.node.edges?o=a.node.edges[i]:(o=new I.TokenSet,a.node.edges[i]=o),1==a.str.length&&(o.final=!0),r.push({node:o,editsRemaining:a.editsRemaining,str:a.str.slice(1)})}if(0!=a.editsRemaining){if("*"in a.node.edges)var s=a.node.edges["*"];else{s=new I.TokenSet;a.node.edges["*"]=s}if(0==a.str.length&&(s.final=!0),r.push({node:s,editsRemaining:a.editsRemaining-1,str:a.str}),a.str.length>1&&r.push({node:a.node,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)}),1==a.str.length&&(a.node.final=!0),a.str.length>=1){if("*"in a.node.edges)var l=a.node.edges["*"];else{l=new I.TokenSet;a.node.edges["*"]=l}1==a.str.length&&(l.final=!0),r.push({node:l,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)})}if(a.str.length>1){var c,u=a.str.charAt(0),d=a.str.charAt(1);d in a.node.edges?c=a.node.edges[d]:(c=new I.TokenSet,a.node.edges[d]=c),1==a.str.length&&(c.final=!0),r.push({node:c,editsRemaining:a.editsRemaining-1,str:u+a.str.slice(2)})}}}return n},I.TokenSet.fromString=function(e){for(var t=new I.TokenSet,n=t,r=0,a=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()}},I.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},I.Index.prototype.search=function(e){return this.query((function(t){new I.QueryParser(e,t).parse()}))},I.Index.prototype.query=function(e){for(var t=new I.Query(this.fields),n=Object.create(null),r=Object.create(null),a=Object.create(null),o=Object.create(null),i=Object.create(null),s=0;s1?1:e},I.Builder.prototype.k1=function(e){this._k1=e},I.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 a=0;a=this.length)return I.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},I.QueryLexer.prototype.width=function(){return this.pos-this.start},I.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},I.QueryLexer.prototype.backup=function(){this.pos-=1},I.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=I.QueryLexer.EOS&&this.backup()},I.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(I.QueryLexer.TERM)),e.ignore(),e.more())return I.QueryLexer.lexText},I.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.EDIT_DISTANCE),I.QueryLexer.lexText},I.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.BOOST),I.QueryLexer.lexText},I.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(I.QueryLexer.TERM)},I.QueryLexer.termSeparator=I.tokenizer.separator,I.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==I.QueryLexer.EOS)return I.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return I.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if(t.match(I.QueryLexer.termSeparator))return I.QueryLexer.lexTerm}else e.escapeCharacter()}},I.QueryParser=function(e,t){this.lexer=new I.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},I.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=I.QueryParser.parseClause;e;)e=e(this);return this.query},I.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},I.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},I.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},I.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case I.QueryLexer.PRESENCE:return I.QueryParser.parsePresence;case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.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 I.QueryParseError(n,t.start,t.end)}},I.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=I.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=I.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new I.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new I.QueryParseError(n,t.start,t.end)}switch(r.type){case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new I.QueryParseError(n,r.start,r.end)}}},I.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 I.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var a=e.peekLexeme();if(null==a){r="expecting term, found nothing";throw new I.QueryParseError(r,t.start,t.end)}if(a.type===I.QueryLexer.TERM)return I.QueryParser.parseTerm;r="expecting term, found '"+a.type+"'";throw new I.QueryParseError(r,a.start,a.end)}},I.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 I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new I.QueryParseError(r,n.start,n.end)}else e.nextClause()}},I.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 I.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new I.QueryParseError(r,a.start,a.end)}else e.nextClause()}},I.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 I.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new I.QueryParseError(r,a.start,a.end)}else e.nextClause()}},void 0===(a="function"==typeof(r=function(){return I})?r.call(t,n,t,e):r)||(e.exports=a)}()},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),c=o.querySelector(r.barSelector),u=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&f(a),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&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,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function c(e,t){return("string"==typeof e?e: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===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},7874:()=>{!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=o.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[a],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),h=p.indexOf(f);if(h>-1){++a;var m=p.substring(0,h),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(h+f.length),y=[];m&&y.push.apply(y,i([m])),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)}}}})}(Prism)},893:()=>{Prism.languages.solidity=Prism.languages.extend("clike",{"class-name":{pattern:/(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/,lookbehind:!0},keyword:/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/,operator:/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/}),Prism.languages.insertBefore("solidity","keyword",{builtin:/\b(?:address|bool|byte|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|string|bytes(?:[1-9]|[12]\d|3[0-2])?)\b/}),Prism.languages.insertBefore("solidity","number",{version:{pattern:/([<>]=?|\^)\d+\.\d+\.\d+\b/,lookbehind:!0,alias:"number"}}),Prism.languages.sol=Prism.languages.solidity},1881:(e,t,n)=>{var r={"./prism-bash":7874,"./prism-solidity":893};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=1881},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,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:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(3840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n