diff --git a/404.html b/404.html new file mode 100644 index 0000000..6170866 --- /dev/null +++ b/404.html @@ -0,0 +1,21 @@ + + + + + + 404 | Brocatel + + + + + + + + + + +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
+ + + + \ No newline at end of file diff --git a/arch.html b/arch.html new file mode 100644 index 0000000..1b37469 --- /dev/null +++ b/arch.html @@ -0,0 +1,156 @@ + + + + + + Brocatel Architecture | Brocatel + + + + + + + + + + + + + +
Skip to content

Brocatel Architecture

Brocatel is designed to be simple. Mainly, it consists of two parts:

  1. A Markdown compiler that

    • parses the input Markdown file(s),
    • transforms the parsed AST into an AST-like Lua table (or tables),
    • and runs any Lua macros to allow users to post-process the text tree.
  2. A virtual machine that:

    • yields text line by line,
    • runs user-provided Lua code to allow custom logic,
    • and supports threads and fibers (and coroutines) with some special Lua function calls.

Well, actually there will be a third part - lgettext (TBD), which extracts texts from the Lua table to generate a Gettext PO file for translation.

Markdown Compiler

The compiler compiles the Markdown file(s) into a .lua file (or files) so that it can easily get integrated anywhere.

It uses remark to parse the files into ASTs, transforms the ASTs into a Lua table (with references resolved) and merges all Lua files into an amalgam.

Stages of compilation

  1. Macro expansion.
  2. AST transpilation.
  3. Serialization.

Runtime

Not all of the following is implemented yet.

Story File Format

The story file is a Lua script file, which can get separated into multiple files if necessary (e.g. when the file is too large).

The Lua file should return a Lua table in the following format:

lua
return {
+  [""] = StoryFileMetadata,
+  [rootNodeName1] = RootNode1,
+  [rootNodeName2] = RootNode2,
+  -- ...
+}

See the RootNode section for the format of RootNode1 and RootNode2. Alternatively, a RootNode can also be a function that returns a real RootNode when called, useful when one wants to lazily load contents. rootNodeName1 and rootNodeName2 are simply names that refer to the corresponding root nodes.

StoryFileMetadata

A table that contains the basic metadata about the file.

lua
StoryFileMetadata = {
+  -- The story file format version.
+  format = 1,
+  -- The [IFID](https://www.ifwiki.org/IFID).
+  ifid = "4fd35a71-71ef-5a55-a9d9-aa75c889a6d0",
+  -- The name of the story entry point node.
+  entrance = rootNodeName1,
+}

RootNode

A RootNode is compiled from a Markdown file, whose base name is usually used as the rootNodeName of the node. For example, if RootNode1 is compiled from main.md, then it is very likely the story file returns something like this:

lua
return {
+  [""] = StoryFileMetadata,
+  main = RootNode1,
+}

A RootNode is a tree composed of arrays and elements. The RootNode itself is an array.

Arrays

An array is a Lua array, that is, a Lua table with only consecutive integer indices starting from 1. The first element of the array is a table used to keep some metadata, while other elements are nested arrays or elements.

lua
Array = {
+  ArrayMetadata,
+  -- ...
+}
+ArrayMetadata = {
+  -- [optional] The label of this array.
+  label = "chapter 1",
+  -- [optional] The links to all labeled child arrays (indirect ones included).
+  labels = { ["section 1"] = { 2, 2, 2 } },
+  -- [optional] Names of routine-local variables.
+  routine = { "var1", "var2" },
+  -- [optional] The source code location of each member in this array.
+  -- Each element is a table with two keys: `line` and `column`.
+  -- An empty string means the source code location is the same as the previous one.
+  debug = { "1:1", "", "2:1" },
+}
Elements

Valid elements are texts, links, if-else nodes and function nodes.

  • Texts: either a Lua string or a table of the following format:

    lua
    Text = {
    +  -- The text, string template allowed.
    +  text = "Hello {player_name}! You've solved {solved_count} out of {total_count} puzzles.",
    +  -- [optional] The dynamic values used for string interpolation.
    +  -- Note that the compiler should have ensured that simple replacement works and no character escape is ever needed.
    +  -- If one uses {player_name} in their Markdown file intending to leave it as is,
    +  -- then the following should have been compiled to { player_name_123 = ... }.
    +  values = {
    +    player_name = function() return player_name end,
    +    solved_count = function() return solved_count end,
    +    total_count = function() return total_count end,
    +  },
    +  -- [optional] Mark one of the interpolation value as affecting plural forms.
    +  plural = "total_count",
    +  -- [optional] Tags or attributes.
    +  tags = { colorful = "", size = "32" },
    +}
  • Links: They are jumps or goto in the following form:

    lua
    Link = {
    +  -- The path (hierarchical labels) to a certain array.
    +  -- For absolute paths (with root name specified in =root=), the look-up starts at the root node.
    +  -- It is similar to a =div p a= CSS selector, that is, omitting some labels is allowed.
    +  -- For relative paths, the look-up starts at the current node, first looking for a node nearby
    +  -- with the first label ("chapter 1" in this example), and then following the absolute look-up rules.
    +  link = { "chapter 1", "section 1" },
    +  -- [optional] The root node name, used only in absolute links.
    +  root = "main",
    +  -- [optional] Parameters for a routine call.
    +  params = function() return { param1 = 1 } end,
    +}
  • If-else nodes: A Lua array with the first element being function.

    lua
    IfElseNode = {
    +  -- The if-else condition.
    +  function() return score = 100 end,
    +  -- [optional] The if branch, executed when the condition yields true.
    +  { {}, "Wow, you scored 100!" },
    +  -- [optional] The else branch, executed when the condition yields false.
    +  { {}, "Keep going!" },
    +}
  • Function nodes: A Lua table representing a Lua function call. It can do almost anything with the provided API (more on that later).

    lua
    FunctionNode = {
    +  -- The function. The args argument is a path to the args node.
    +  -- In this example, it simulates a switch-case statement.
    +  func = function(args)
    +    if a == 1 then
    +      IP:set(args:resolve(2))  -- Go to Branch 1
    +    elseif a == 2 then
    +      IP:set(args:resolve(3))  -- ...
    +    elseif a == 3 then
    +      IP:set(args:resolve(4))
    +    elseif a == 4 then
    +      IP:set(args:resolve(5))
    +    end
    +  end,
    +  -- [optional] Arguments to the function.
    +  args = {
    +    {},
    +    { {}, "Branch 1" },
    +    { {}, "Branch 2" },
    +    { {}, "Branch 3" },
    +    { {}, "Branch 4" },
    +  },
    +}

Interpreter

User API

The interpreter provides the following API to its users:

  • current: Returns the (cached) current line (or selection options). Actually it should be able to return literally anything, as long as the user wishes it to.
  • next: Returns the next line and advances the IP (instruction pointer). The returned data is cached (and kept in save point data) to make the current function idempotent. It is also where user input should goes.
    • fetch_and_next: Returns the line (or nil) and advances the IP. Internally used by next. The difference is that it returns nil on non-text nodes, when the caller should call again to continue searching for a text node. The user may invent their own next by creative usages of fetch_and_next.
  • set_gettext: Sets the gettext handler to translate texts.
  • save: Returns the game state as a string.
  • load: Loads the game state from a string (usually generated by save).

Story File API

The Lua story file is run under a crafted Lua environment, which:

  • Provides some Lua functions like tonumber and type,
  • Enables automatically saving global variables,
  • Allows the story file script to specify paths as label_1.label_2,
  • Provides a series of game state retrieval / manipulation API:
    • IP: The current IP. One may modify the IP to literally jump to anywhere.
    • VM: The VM (virtual machine) instance.
    • EVAL: Evaluates a node.
    • SET: Attaches data to a certain node.
    • GET: Retrieves attached data.
    • T: Translates the supplied string with gettext. TODO.
    • GOTO: Well, goto. TODO.
  • Provides some useful modules, like math in Lua or the built-in function node module FUNC,
    • FUNC.SELECT: The default function used at a selection node, where a list of options is returned, requesting user input. It applies patches to the Lua environment before evaluating things: - CHOICE_COUNT is set to the currently available choices.
      • VISITS is set to the visited count.
      • ONCE is set to true if and only if the option is never visited before.
    • FUNC.S_ONCE: Similar to FUNC.SELECT, but each option shows only once, unless RECUR is used. It too, manipulates the environment.
      • RECUR is... complicated. It just yields true and makes the option recur.
  • Provides some utility functions:
    • TURNS: TODO.
    • TURNS_SINCE: TODO.
    • LINES: TODO.
    • VISITED: TODO.

Overriding these global variables are forbidden.

FUNC.SELECT

It accepts an extra integer recur argument.

  • When recur is true, RECUR is a function:
    • RECUR(0) returns true if the branch is never visited before. (It is just ONCE.)
    • RECUR(n) returns true if the branch is visited no greater than n times.
  • When recur is set to n, all branches are visited at most for n times, unless RECUR is specified.
    • RECUR is still that very function. However, by using __index, we get to know if the user is using the RECUR condition. If the script ever requests RECUR, the n-times limit is lifted.

Internals

Classes:

  • TablePath: Similar to JSON Path, it is Lua-table-path. When iterating through the story file, it automatically steps through the elements in order. When stepping onto an array, it automatically enters the array to find an actual element.
  • StackedEnv: The Lua environment provider, allowing (relatively) easy manipulation of the environment of the story file.
  • VM: The virtual machine, which the most functionalities lie.

Utility modules:

  • lookup: A module converting a hierarchical label path into a TablePath.
  • savedata: Saves and loads Lua tables.
  • history: Saves history and user-attached values.
fetch_and_next

The main "game loop".

  1. If the current IP already points to the end of the story, returns.

    However, the end of a story is exactly the start of it, and this adds a bit to the initialization of the VM.

  2. Fetches the current node (without any evaluation).

    Well, since we allow lazily loading root nodes, here is where we load the root node (if it is not yet loaded).

    Also, the current node should never be an array. (Just keep reading.)

  3. Advances the IP.

  4. Does things according to the node type:

    • texts: Just returns it (with translation and string interpolation applied).
    • links: Jumps.
    • if-else: Evaluates and jumps.
    • functions: Calls the function.
  5. Adjusts the current IP so that it never points to an array. If the story ends here, this should make IP point to an root node, signifying the end of a story.

Provided Lua environments
  1. After Lua 5.2, the setfenv function is officially removed, and we cannot change a function's environment freely (at least without the use of the debug module). Therefore, the only way we can bind an environment to a function while maintaining compatibility through Lua 5.x is when it is loaded with load. So, throughout the VM lifetime, we have to reuse the same environment instance, requiring us to make heavy use of the __index and __newindex meta-methods. (Thanks to them, we can precisely achieve what we want (with quite a bit of work) as is described below.)

  2. Variables belong to different scopes, which can differ in their expected behaviors. For example, you don't want to save the Lua _VERSION string.

  3. The outermost scope is the Lua environment, containing Lua functions and packages. It will not be included in the save data. It is mostly read-only but writable when loading Lua files.

  4. The second is the global scope. It is shared between all scripts and will be saved in the save data. Any modifications, if not captured by inner scopes, will end up here (except when loading Lua files).

  5. Then, the file-local scope. For non-programmers, I assume leaving everything global can be most friendly, so the default is putting everything in the global scope, and file-local variables need a special kind of declaration (with a function provided at runtime). It is saved.

  6. Here follows the label scope. I suppose it is the most curious scope, since we want to it to be read-only. The scope is generated from existing statistics, probably with a special __index function to compute things lazily.

  7. Thread-locals and function-locals (or just function parameters) are quite instinctive and are saved along the thread.

Procedure:

  1. Loading Lua files (Lua scope): Global variable writes goes to the Lua scope.
  2. Loading save data: Writes to a new global scope, local scopes for each file and the label statistics.
  3. Running functions (Lua, global, file-local, label, thread, function):
    • Reads: Looks up things from inner scopes to outer ones.
    • Writes: Looks up from inner to outer, excluding the Lua scope and the label scope.
Save Data

The save data itself is also a Lua table, containing literally anything. However, if the user's Lua scripts do not change things too much, saving only strings, numbers, booleans and tables should be enough. The table itself can contain recursive references, and you should want to make sure that you save and load it correctly.

lua
SaveData = {
+    current_thread = "threadName1",
+    threads = {
+        ["threadName1"] = {
+            current_coroutine = 1,
+            coroutines = {
+                {
+                    ip = CurrentInstructionPointer,
+                    locals = {
+                        values = {
+                            localVariable1 = "Hello",
+                        },
+                        keys = {
+                            localVariable1 = true,
+                        },
+                    },
+                    stack = {
+                        {ip = InstructionPointer1, locals = { ... }},
+                        {ip = InstructionPointer2, locals = { ... }},
+                    },
+                },
+            },
+            thread_locals = {
+                -- ...
+            },
+        },
+    },
+    stats = {
+        file1 = {
+          { I = 5, R = { 1 } },
+          {
+            { I = 3 },
+          },
+        },
+    },
+    globals = {
+        globalVariable = 1,
+    },
+}

History API

Before explaining the history API, we should first define "history".

  • Case 1:

    • Line 1
    • Line 2 <-- A user created a save point after reading this line
    • Line 3 When the savedata is read, the user should expect to be taken back right before "Line 2" is displayed.
    • (((The actual save point)))
    • Line 2
    • Line 3 Therefore, IP should not advance until the user confirms that they wants to read another line.
  • Case 2:

    • Line 1
    • Function call that modifies variables
    • Line 2 <-- save point Function calls or anything that may modify the game state should always advance IP (or set some flags) to prevent calling them for multiple times. Template texts are special, since they calls functions but are stil text lines, which makes cache necessary to ensure idempotence.
  • Case 3:

    • Selection (user input required) <-- save point
    • Line 2 Loading the savedata should show the same selection, while the selection API changes states.

So the design decision here is to introduce a cache.

lua
function current()
+  if not cache then
+    cache = advance_ip()
+  end
+  return cache
+end
+function next()
+  -- ...
+end

And the cache might have something to do with our history tracking: should cached entries be marked as read? Either is fine, but we need to be consistent throughout. Currently, cached entries are marked as read, just for coding convenience.

To avoid saving too much stats in the history, only read counts of array nodes are kept. History of other nodes (strings, etc.) are kept in a bitset, where read entries are marked as true.

If-else flags

If-else nodes writes to some internal flags, which the FUNC.SELECT function uses to know whether a node fails evaluation.

+ + + + \ No newline at end of file diff --git a/assets/app.CtgswNFv.js b/assets/app.CtgswNFv.js new file mode 100644 index 0000000..346cc72 --- /dev/null +++ b/assets/app.CtgswNFv.js @@ -0,0 +1,7 @@ +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} +import{j as o,a5 as p,a6 as u,a7 as l,a8 as c,a9 as f,aa as d,ab as m,ac as h,ad as g,ae as A,a3 as P,d as _,u as v,l as y,z as C,af as E,ag as b,ah as w,ai as R}from"./chunks/framework.tOI-YKg8.js";import{e as S}from"./chunks/theme.Y9KrAvu7.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),T=_({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{C(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&E(),b(),w(),s.setup&&s.setup(),()=>R(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=L(),a=j();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function j(){return h(T)}function L(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=P(()=>import(n),__vite__mapDeps([]))),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{D as createApp}; diff --git a/assets/arch.md.UB_RSDFD.js b/assets/arch.md.UB_RSDFD.js new file mode 100644 index 0000000..a05235c --- /dev/null +++ b/assets/arch.md.UB_RSDFD.js @@ -0,0 +1,133 @@ +import{_ as s,c as i,o as a,a4 as e}from"./chunks/framework.tOI-YKg8.js";const g=JSON.parse('{"title":"Brocatel Architecture","description":"","frontmatter":{},"headers":[],"relativePath":"arch.md","filePath":"arch.md"}'),n={name:"arch.md"},t=e(`

Brocatel Architecture

Brocatel is designed to be simple. Mainly, it consists of two parts:

  1. A Markdown compiler that

  2. A virtual machine that:

Well, actually there will be a third part - lgettext (TBD), which extracts texts from the Lua table to generate a Gettext PO file for translation.

Markdown Compiler

The compiler compiles the Markdown file(s) into a .lua file (or files) so that it can easily get integrated anywhere.

It uses remark to parse the files into ASTs, transforms the ASTs into a Lua table (with references resolved) and merges all Lua files into an amalgam.

Stages of compilation

  1. Macro expansion.
  2. AST transpilation.
  3. Serialization.

Runtime

Not all of the following is implemented yet.

Story File Format

The story file is a Lua script file, which can get separated into multiple files if necessary (e.g. when the file is too large).

The Lua file should return a Lua table in the following format:

lua
return {
+  [""] = StoryFileMetadata,
+  [rootNodeName1] = RootNode1,
+  [rootNodeName2] = RootNode2,
+  -- ...
+}

See the RootNode section for the format of RootNode1 and RootNode2. Alternatively, a RootNode can also be a function that returns a real RootNode when called, useful when one wants to lazily load contents. rootNodeName1 and rootNodeName2 are simply names that refer to the corresponding root nodes.

StoryFileMetadata

A table that contains the basic metadata about the file.

lua
StoryFileMetadata = {
+  -- The story file format version.
+  format = 1,
+  -- The [IFID](https://www.ifwiki.org/IFID).
+  ifid = "4fd35a71-71ef-5a55-a9d9-aa75c889a6d0",
+  -- The name of the story entry point node.
+  entrance = rootNodeName1,
+}

RootNode

A RootNode is compiled from a Markdown file, whose base name is usually used as the rootNodeName of the node. For example, if RootNode1 is compiled from main.md, then it is very likely the story file returns something like this:

lua
return {
+  [""] = StoryFileMetadata,
+  main = RootNode1,
+}

A RootNode is a tree composed of arrays and elements. The RootNode itself is an array.

Arrays

An array is a Lua array, that is, a Lua table with only consecutive integer indices starting from 1. The first element of the array is a table used to keep some metadata, while other elements are nested arrays or elements.

lua
Array = {
+  ArrayMetadata,
+  -- ...
+}
+ArrayMetadata = {
+  -- [optional] The label of this array.
+  label = "chapter 1",
+  -- [optional] The links to all labeled child arrays (indirect ones included).
+  labels = { ["section 1"] = { 2, 2, 2 } },
+  -- [optional] Names of routine-local variables.
+  routine = { "var1", "var2" },
+  -- [optional] The source code location of each member in this array.
+  -- Each element is a table with two keys: \`line\` and \`column\`.
+  -- An empty string means the source code location is the same as the previous one.
+  debug = { "1:1", "", "2:1" },
+}
Elements

Valid elements are texts, links, if-else nodes and function nodes.

Interpreter

User API

The interpreter provides the following API to its users:

Story File API

The Lua story file is run under a crafted Lua environment, which:

Overriding these global variables are forbidden.

FUNC.SELECT

It accepts an extra integer recur argument.

Internals

Classes:

Utility modules:

fetch_and_next

The main "game loop".

  1. If the current IP already points to the end of the story, returns.

    However, the end of a story is exactly the start of it, and this adds a bit to the initialization of the VM.

  2. Fetches the current node (without any evaluation).

    Well, since we allow lazily loading root nodes, here is where we load the root node (if it is not yet loaded).

    Also, the current node should never be an array. (Just keep reading.)

  3. Advances the IP.

  4. Does things according to the node type:

  5. Adjusts the current IP so that it never points to an array. If the story ends here, this should make IP point to an root node, signifying the end of a story.

Provided Lua environments
  1. After Lua 5.2, the setfenv function is officially removed, and we cannot change a function's environment freely (at least without the use of the debug module). Therefore, the only way we can bind an environment to a function while maintaining compatibility through Lua 5.x is when it is loaded with load. So, throughout the VM lifetime, we have to reuse the same environment instance, requiring us to make heavy use of the __index and __newindex meta-methods. (Thanks to them, we can precisely achieve what we want (with quite a bit of work) as is described below.)

  2. Variables belong to different scopes, which can differ in their expected behaviors. For example, you don't want to save the Lua _VERSION string.

  3. The outermost scope is the Lua environment, containing Lua functions and packages. It will not be included in the save data. It is mostly read-only but writable when loading Lua files.

  4. The second is the global scope. It is shared between all scripts and will be saved in the save data. Any modifications, if not captured by inner scopes, will end up here (except when loading Lua files).

  5. Then, the file-local scope. For non-programmers, I assume leaving everything global can be most friendly, so the default is putting everything in the global scope, and file-local variables need a special kind of declaration (with a function provided at runtime). It is saved.

  6. Here follows the label scope. I suppose it is the most curious scope, since we want to it to be read-only. The scope is generated from existing statistics, probably with a special __index function to compute things lazily.

  7. Thread-locals and function-locals (or just function parameters) are quite instinctive and are saved along the thread.

Procedure:

  1. Loading Lua files (Lua scope): Global variable writes goes to the Lua scope.
  2. Loading save data: Writes to a new global scope, local scopes for each file and the label statistics.
  3. Running functions (Lua, global, file-local, label, thread, function):
Save Data

The save data itself is also a Lua table, containing literally anything. However, if the user's Lua scripts do not change things too much, saving only strings, numbers, booleans and tables should be enough. The table itself can contain recursive references, and you should want to make sure that you save and load it correctly.

lua
SaveData = {
+    current_thread = "threadName1",
+    threads = {
+        ["threadName1"] = {
+            current_coroutine = 1,
+            coroutines = {
+                {
+                    ip = CurrentInstructionPointer,
+                    locals = {
+                        values = {
+                            localVariable1 = "Hello",
+                        },
+                        keys = {
+                            localVariable1 = true,
+                        },
+                    },
+                    stack = {
+                        {ip = InstructionPointer1, locals = { ... }},
+                        {ip = InstructionPointer2, locals = { ... }},
+                    },
+                },
+            },
+            thread_locals = {
+                -- ...
+            },
+        },
+    },
+    stats = {
+        file1 = {
+          { I = 5, R = { 1 } },
+          {
+            { I = 3 },
+          },
+        },
+    },
+    globals = {
+        globalVariable = 1,
+    },
+}

History API

Before explaining the history API, we should first define "history".

So the design decision here is to introduce a cache.

lua
function current()
+  if not cache then
+    cache = advance_ip()
+  end
+  return cache
+end
+function next()
+  -- ...
+end

And the cache might have something to do with our history tracking: should cached entries be marked as read? Either is fine, but we need to be consistent throughout. Currently, cached entries are marked as read, just for coding convenience.

To avoid saving too much stats in the history, only read counts of array nodes are kept. History of other nodes (strings, etc.) are kept in a bitset, where read entries are marked as true.

If-else flags

If-else nodes writes to some internal flags, which the FUNC.SELECT function uses to know whether a node fails evaluation.

`,64),l=[t];function h(p,k,o,r,d,E){return a(),i("div",null,l)}const y=s(n,[["render",h]]);export{g as __pageData,y as default}; diff --git a/assets/arch.md.UB_RSDFD.lean.js b/assets/arch.md.UB_RSDFD.lean.js new file mode 100644 index 0000000..3afaf50 --- /dev/null +++ b/assets/arch.md.UB_RSDFD.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a4 as e}from"./chunks/framework.tOI-YKg8.js";const g=JSON.parse('{"title":"Brocatel Architecture","description":"","frontmatter":{},"headers":[],"relativePath":"arch.md","filePath":"arch.md"}'),n={name:"arch.md"},t=e("",64),l=[t];function h(p,k,o,r,d,E){return a(),i("div",null,l)}const y=s(n,[["render",h]]);export{g as __pageData,y as default}; diff --git a/assets/caveat.md.CH6aLyWN.js b/assets/caveat.md.CH6aLyWN.js new file mode 100644 index 0000000..60855e4 --- /dev/null +++ b/assets/caveat.md.CH6aLyWN.js @@ -0,0 +1,26 @@ +import{_ as i,c as s,o as a,a4 as e}from"./chunks/framework.tOI-YKg8.js";const g=JSON.parse('{"title":"Caveats","description":"","frontmatter":{},"headers":[],"relativePath":"caveat.md","filePath":"caveat.md"}'),n={name:"caveat.md"},t=e(`

Caveats

In some Markdown processors (that convert Markdown into HTML), headings get unique HTML ids that serve as page "anchors", which links can then refer to with #id-of-a-heading. This is exactly why we choose to use headings and links to "jump" within stories - it is in sync with how you jump back and forth in an HTML page.

Generated Anchors in HTML Documents

However, in most processors, the generated id usually differs a bit from the actual heading. The following example is extracted from github-slugger, which we use to generate our anchors:

markdown
# foo
+[](#foo)
+
+# Привет non-latin 你好
+[](#привет-non-latin-你好)
+
+# 😄 emoji
+[](#-emoji)

It removes the quite a lot characters, but we are more interested in what gets preserved:

After that, it replaces all spaces with hyphens.

Generated Anchors in Brocatel

I really can't remember those rules and I don't think that a system should require its users to do so. Therefor, we also transform all the links in the documents, so that users just don't need to be concerned about the charsets or any other string replacements:

markdown
# foo
+[](#foo)
+
+# Привет non-latin 你好
+[](<#привет non latin 你好>) or [](#привет-non-latin-你好)
+
+# 😄 emoji
+[](#😄-emoji)

However, it can become a problem when the user wants to use anchors in Lua code: obviously (due to how Lua recognizes its symbols) a word with space is treated as four separate words and it won't really serve as a symbol.

To simplify things a bit, we allow using a_word_with_space to refer to the # a word with space heading. However, again, this won't work with languages with non-ASCII daily letters, and the user will need to use ROOT:

markdown
# Привет non-latin 你好
+[](#привет-non-latin-你好)
+\`\`\`lua
+привет_non_latin_你好 -- Not an indentifier.
+
+ROOT["привет-non-latin-你好"] -- This somehow works.
+\`\`\`

Here comes a third caveat: Lua has poor regex and Unicode support, which means, it is hard to keep compiler rules (TypeScript) and runtime rules (Lua) in sync:

markdown
# 你好,世界!
+[](#你好世界) or [](#你好,世界!)
+\`\`\`lua
+ROOT["你好世界"]      -- This works.
+ROOT["你好,世界!"]  -- This does not.
+\`\`\`
`,17),h=[t];function l(o,r,d,p,k,c){return a(),s("div",null,h)}const u=i(n,[["render",l]]);export{g as __pageData,u as default}; diff --git a/assets/caveat.md.CH6aLyWN.lean.js b/assets/caveat.md.CH6aLyWN.lean.js new file mode 100644 index 0000000..cb514b5 --- /dev/null +++ b/assets/caveat.md.CH6aLyWN.lean.js @@ -0,0 +1 @@ +import{_ as i,c as s,o as a,a4 as e}from"./chunks/framework.tOI-YKg8.js";const g=JSON.parse('{"title":"Caveats","description":"","frontmatter":{},"headers":[],"relativePath":"caveat.md","filePath":"caveat.md"}'),n={name:"caveat.md"},t=e("",17),h=[t];function l(o,r,d,p,k,c){return a(),s("div",null,h)}const u=i(n,[["render",l]]);export{g as __pageData,u as default}; diff --git a/assets/choices.md.BAxSAmcV.js b/assets/choices.md.BAxSAmcV.js new file mode 100644 index 0000000..d531267 --- /dev/null +++ b/assets/choices.md.BAxSAmcV.js @@ -0,0 +1,13 @@ +import{_ as h,E as t,c as n,J as a,w as l,a4 as o,m as s,a as i,o as k}from"./chunks/framework.tOI-YKg8.js";const B=JSON.parse('{"title":"Advanced Choice Usages","description":"","frontmatter":{},"headers":[],"relativePath":"choices.md","filePath":"choices.md"}'),r={name:"choices.md"},d=o('

Advanced Choice Usages

RECUR

There are two kinds of lists in Markdown:

  1. This is an ordered list.

Ordered ones recurs: the player can choose a one more than once; unordered ones, on the other hand, are one-time-only choices. You will probably want a DEFAULT branch for one-time-only choices. Otherwise, the script will just loooooooop.

',6),c=s("div",{class:"language-markdown vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"markdown"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::loop")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," One")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Two")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Three")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Four")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `DEFAULT`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ENDED")]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}}," ---")])])])],-1),p=s("p",null,[i("You can have granular control over this using the "),s("code",null,"RECUR"),i(" API:")],-1),E=s("div",{class:"language-markdown vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"markdown"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::loop")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `RECUR(0)`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," One")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `RECUR(1)`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Two")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `RECUR(2)`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Three")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `RECUR(3)`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Four")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `RECUR`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Always shown")])])])],-1);function g(F,u,y,_,m,C){const e=t("md-example");return k(),n("div",null,[d,a(e,null,{default:l(()=>[c]),_:1}),p,a(e,null,{default:l(()=>[E]),_:1})])}const v=h(r,[["render",g]]);export{B as __pageData,v as default}; diff --git a/assets/choices.md.BAxSAmcV.lean.js b/assets/choices.md.BAxSAmcV.lean.js new file mode 100644 index 0000000..f55d203 --- /dev/null +++ b/assets/choices.md.BAxSAmcV.lean.js @@ -0,0 +1,13 @@ +import{_ as h,E as t,c as n,J as a,w as l,a4 as o,m as s,a as i,o as k}from"./chunks/framework.tOI-YKg8.js";const B=JSON.parse('{"title":"Advanced Choice Usages","description":"","frontmatter":{},"headers":[],"relativePath":"choices.md","filePath":"choices.md"}'),r={name:"choices.md"},d=o("",6),c=s("div",{class:"language-markdown vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"markdown"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::loop")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," One")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Two")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Three")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Four")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `DEFAULT`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ENDED")]),i(` +`),s("span",{class:"line"}),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}}," ---")])])])],-1),p=s("p",null,[i("You can have granular control over this using the "),s("code",null,"RECUR"),i(" API:")],-1),E=s("div",{class:"language-markdown vp-adaptive-theme"},[s("button",{title:"Copy Code",class:"copy"}),s("span",{class:"lang"},"markdown"),s("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::loop")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `RECUR(0)`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," One")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `RECUR(1)`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Two")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `RECUR(2)`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Three")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `RECUR(3)`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Four")]),i(` +`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `RECUR`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Always shown")])])])],-1);function g(F,u,y,_,m,C){const e=t("md-example");return k(),n("div",null,[d,a(e,null,{default:l(()=>[c]),_:1}),p,a(e,null,{default:l(()=>[E]),_:1})])}const v=h(r,[["render",g]]);export{B as __pageData,v as default}; diff --git a/assets/chunks/MdExample.DRafiJc8.js b/assets/chunks/MdExample.DRafiJc8.js new file mode 100644 index 0000000..eace779 --- /dev/null +++ b/assets/chunks/MdExample.DRafiJc8.js @@ -0,0 +1,2435 @@ +import{d as hB,u as fB,h as $e,y as dB,l as pB,A as DB,E as yB,o as ht,c as ft,m as Me,r as wB,Q as Ig,J as Tn,p as Cn,w as ag,F as sg,G as eI,as as mB,al as Cg,am as Qg,T as tI}from"./framework.tOI-YKg8.js";var kB=Object.defineProperty,FB=(A,e,t)=>e in A?kB(A,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):A[e]=t,HA=(A,e,t)=>(FB(A,typeof e!="symbol"?e+"":e,t),t);function _n(A){return A!==null&&A<-2}function On(A){return A===-2||A===-1||A===32}var bB=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function dr(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}var Es={exports:{}};(function(A){(function(){var e;e=A.exports=r,e.format=r,e.vsprintf=n,typeof console<"u"&&typeof console.log=="function"&&(e.printf=t);function t(){console.log(r.apply(null,arguments))}function n(g,i){return r.apply(null,[g].concat(i))}function r(g){for(var i=1,o=[].slice.call(arguments),a=0,s=g.length,B="",E,u=!1,l,k,p=!1,w,y=function(){return o[i++]},H=function(){for(var m="";/\d/.test(g[a]);)m+=g[a++],E=g[a];return m.length>0?parseInt(m):null};a":""))+")"),u;function u(){var l=s.concat(o),k=[],p,w;if((!e||g(o,a,s[s.length-1]||null))&&(k=$B(t(o,s)),k[0]===ti))return k;if(o.children&&k[0]!==cs)for(w=(n?o.children.length:-1)+r;w>-1&&wA.split("-").map(e=>`\\u${e}`).join("-"),iI=gE.map(iE).join(""),oE=new RegExp(`([${iI}])(\\s*\\n+\\s*)([${iI}])`,"gm");function IE(A){rE(A,"text",e=>{e.type==="text"&&(e.value=e.value.replace(oE,"$1$3"))})}var aE=()=>IE;const sE=dr(aE),CE={};function Ui(A,e){const t=e||CE,n=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,r=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return hs(A,n,r)}function hs(A,e,t){if(QE(A)){if("value"in A)return A.type==="html"&&!t?"":A.value;if(e&&"alt"in A&&A.alt)return A.alt;if("children"in A)return oI(A.children,e,t)}return Array.isArray(A)?oI(A,e,t):""}function oI(A,e,t){const n=[];let r=-1;for(;++rr?0:r+e:e=e>r?r:e,t=t>0?t:0,n.length<1e4)i=Array.from(n),i.unshift(e,t),A.splice(...i);else for(t&&A.splice(e,t);g0?(_e(A,A.length,0,e),A):e}const II={}.hasOwnProperty;function BE(A){const e={};let t=-1;for(;++ti))return;const F=e.events.length;let L=F,N,V;for(;L--;)if(e.events[L][0]==="exit"&&e.events[L][1].type==="chunkFlow"){if(N){V=e.events[L][1].end;break}N=!0}for(y(n),d=F;dm;){const Y=t[U];e.containerState=Y[1],Y[0].exit.call(e,A)}t.length=m}function H(){r.write([null]),g=void 0,r=void 0,e.containerState._closeFlow=void 0}}function kE(A,e,t){return FA(A,A.attempt(this.parser.constructs.document,e,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function sI(A){if(A===null||se(A)||pE(A))return 1;if(dE(A))return 2}function xi(A,e,t){const n=[];let r=-1;for(;++r1&&A[t][1].end.offset-A[t][1].start.offset>1?2:1;const E=Object.assign({},A[n][1].end),u=Object.assign({},A[t][1].start);CI(E,-a),CI(u,a),i={type:a>1?"strongSequence":"emphasisSequence",start:E,end:Object.assign({},A[n][1].end)},o={type:a>1?"strongSequence":"emphasisSequence",start:Object.assign({},A[t][1].start),end:u},g={type:a>1?"strongText":"emphasisText",start:Object.assign({},A[n][1].end),end:Object.assign({},A[t][1].start)},r={type:a>1?"strong":"emphasis",start:Object.assign({},i.start),end:Object.assign({},o.end)},A[n][1].end=Object.assign({},i.start),A[t][1].start=Object.assign({},o.end),s=[],A[n][1].end.offset-A[n][1].start.offset&&(s=de(s,[["enter",A[n][1],e],["exit",A[n][1],e]])),s=de(s,[["enter",r,e],["enter",i,e],["exit",i,e],["enter",g,e]]),s=de(s,xi(e.parser.constructs.insideSpan.null,A.slice(n+1,t),e)),s=de(s,[["exit",g,e],["enter",o,e],["exit",o,e],["exit",r,e]]),A[t][1].end.offset-A[t][1].start.offset?(B=2,s=de(s,[["enter",A[t][1],e],["exit",A[t][1],e]])):B=0,_e(A,n-1,t-n+3,s),t=n+s.length-B-2;break}}for(t=-1;++t",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:` +`,Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:" ",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},xE={}.hasOwnProperty;function Ji(A){return xE.call(QI,A)?QI[A]:!1}const ps={name:"characterReference",tokenize:JE};function JE(A,e,t){const n=this;let r=0,g,i;return o;function o(E){return A.enter("characterReference"),A.enter("characterReferenceMarker"),A.consume(E),A.exit("characterReferenceMarker"),a}function a(E){return E===35?(A.enter("characterReferenceMarkerNumeric"),A.consume(E),A.exit("characterReferenceMarkerNumeric"),s):(A.enter("characterReferenceValue"),g=31,i=Ge,B(E))}function s(E){return E===88||E===120?(A.enter("characterReferenceMarkerHexadecimal"),A.consume(E),A.exit("characterReferenceMarkerHexadecimal"),A.enter("characterReferenceValue"),g=6,i=hE,B):(A.enter("characterReferenceValue"),g=7,i=ri,B(E))}function B(E){if(E===59&&r){const u=A.exit("characterReferenceValue");return i===Ge&&!Ji(n.sliceSerialize(u))?t(E):(A.enter("characterReferenceMarker"),A.consume(E),A.exit("characterReferenceMarker"),A.exit("characterReference"),e)}return i(E)&&r++0&&yA(d)?FA(A,H,"linePrefix",g+1)(d):H(d)}function H(d){return d===null||BA(d)?A.check(BI,p,U)(d):(A.enter("codeFlowValue"),m(d))}function m(d){return d===null||BA(d)?(A.exit("codeFlowValue"),H(d)):(A.consume(d),m)}function U(d){return A.exit("codeFenced"),e(d)}function Y(d,F,L){let N=0;return V;function V(x){return d.enter("lineEnding"),d.consume(x),d.exit("lineEnding"),M}function M(x){return d.enter("codeFencedFence"),yA(x)?FA(d,v,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(x):v(x)}function v(x){return x===o?(d.enter("codeFencedFenceSequence"),$(x)):L(x)}function $(x){return x===o?(N++,d.consume(x),$):N>=i?(d.exit("codeFencedFenceSequence"),yA(x)?FA(d,Z,"whitespace")(x):Z(x)):L(x)}function Z(x){return x===null||BA(x)?(d.exit("codeFencedFence"),F(x)):L(x)}}}function vE(A,e,t){const n=this;return r;function r(i){return i===null?t(i):(A.enter("lineEnding"),A.consume(i),A.exit("lineEnding"),g)}function g(i){return n.parser.lazy[n.now().line]?t(i):e(i)}}const Bg={name:"codeIndented",tokenize:YE},KE={tokenize:qE,partial:!0};function YE(A,e,t){const n=this;return r;function r(s){return A.enter("codeIndented"),FA(A,g,"linePrefix",5)(s)}function g(s){const B=n.events[n.events.length-1];return B&&B[1].type==="linePrefix"&&B[2].sliceSerialize(B[1],!0).length>=4?i(s):t(s)}function i(s){return s===null?a(s):BA(s)?A.attempt(KE,i,a)(s):(A.enter("codeFlowValue"),o(s))}function o(s){return s===null||BA(s)?(A.exit("codeFlowValue"),i(s)):(A.consume(s),o)}function a(s){return A.exit("codeIndented"),e(s)}}function qE(A,e,t){const n=this;return r;function r(i){return n.parser.lazy[n.now().line]?t(i):BA(i)?(A.enter("lineEnding"),A.consume(i),A.exit("lineEnding"),r):FA(A,g,"linePrefix",5)(i)}function g(i){const o=n.events[n.events.length-1];return o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?e(i):BA(i)?r(i):t(i)}}const TE={name:"codeText",tokenize:PE,resolve:_E,previous:OE};function _E(A){let e=A.length-4,t=3,n,r;if((A[t][1].type==="lineEnding"||A[t][1].type==="space")&&(A[e][1].type==="lineEnding"||A[e][1].type==="space")){for(n=t;++n=4?e(i):A.interrupt(n.parser.constructs.flow,t,e)(i)}}function ys(A,e,t,n,r,g,i,o,a){const s=a||Number.POSITIVE_INFINITY;let B=0;return E;function E(y){return y===60?(A.enter(n),A.enter(r),A.enter(g),A.consume(y),A.exit(g),u):y===null||y===32||y===41||ni(y)?t(y):(A.enter(n),A.enter(i),A.enter(o),A.enter("chunkString",{contentType:"string"}),p(y))}function u(y){return y===62?(A.enter(g),A.consume(y),A.exit(g),A.exit(r),A.exit(n),e):(A.enter(o),A.enter("chunkString",{contentType:"string"}),l(y))}function l(y){return y===62?(A.exit("chunkString"),A.exit(o),u(y)):y===null||y===60||BA(y)?t(y):(A.consume(y),y===92?k:l)}function k(y){return y===60||y===62||y===92?(A.consume(y),l):l(y)}function p(y){return!B&&(y===null||y===41||se(y))?(A.exit("chunkString"),A.exit(o),A.exit(i),A.exit(n),e(y)):B999||l===null||l===91||l===93&&!a||l===94&&!o&&"_hiddenFootnoteSupport"in i.parser.constructs?t(l):l===93?(A.exit(g),A.enter(r),A.consume(l),A.exit(r),A.exit(n),e):BA(l)?(A.enter("lineEnding"),A.consume(l),A.exit("lineEnding"),B):(A.enter("chunkString",{contentType:"string"}),E(l))}function E(l){return l===null||l===91||l===93||BA(l)||o++>999?(A.exit("chunkString"),B(l)):(A.consume(l),a||(a=!yA(l)),l===92?u:E)}function u(l){return l===91||l===92||l===93?(A.consume(l),o++,E):E(l)}}function ms(A,e,t,n,r,g){let i;return o;function o(u){return u===34||u===39||u===40?(A.enter(n),A.enter(r),A.consume(u),A.exit(r),i=u===40?41:u,a):t(u)}function a(u){return u===i?(A.enter(r),A.consume(u),A.exit(r),A.exit(n),e):(A.enter(g),s(u))}function s(u){return u===i?(A.exit(g),a(i)):u===null?t(u):BA(u)?(A.enter("lineEnding"),A.consume(u),A.exit("lineEnding"),FA(A,s,"linePrefix")):(A.enter("chunkString",{contentType:"string"}),B(u))}function B(u){return u===i||u===null||BA(u)?(A.exit("chunkString"),s(u)):(A.consume(u),u===92?E:B)}function E(u){return u===i||u===92?(A.consume(u),B):B(u)}}function fn(A,e){let t;return n;function n(r){return BA(r)?(A.enter("lineEnding"),A.consume(r),A.exit("lineEnding"),t=!0,n):yA(r)?FA(A,n,t?"linePrefix":"lineSuffix")(r):e(r)}}function _t(A){return A.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const $E={name:"definition",tokenize:el},Al={tokenize:tl,partial:!0};function el(A,e,t){const n=this;let r;return g;function g(l){return A.enter("definition"),i(l)}function i(l){return ws.call(n,A,o,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(l)}function o(l){return r=_t(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)),l===58?(A.enter("definitionMarker"),A.consume(l),A.exit("definitionMarker"),a):t(l)}function a(l){return se(l)?fn(A,s)(l):s(l)}function s(l){return ys(A,B,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(l)}function B(l){return A.attempt(Al,E,E)(l)}function E(l){return yA(l)?FA(A,u,"whitespace")(l):u(l)}function u(l){return l===null||BA(l)?(A.exit("definition"),n.parser.defined.push(r),e(l)):t(l)}}function tl(A,e,t){return n;function n(o){return se(o)?fn(A,r)(o):t(o)}function r(o){return ms(A,g,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(o)}function g(o){return yA(o)?FA(A,i,"whitespace")(o):i(o)}function i(o){return o===null||BA(o)?e(o):t(o)}}const nl={name:"hardBreakEscape",tokenize:rl};function rl(A,e,t){return n;function n(g){return A.enter("hardBreakEscape"),A.consume(g),r}function r(g){return BA(g)?(A.exit("hardBreakEscape"),e(g)):t(g)}}const gl={name:"headingAtx",tokenize:ol,resolve:il};function il(A,e){let t=A.length-2,n=3,r,g;return A[n][1].type==="whitespace"&&(n+=2),t-2>n&&A[t][1].type==="whitespace"&&(t-=2),A[t][1].type==="atxHeadingSequence"&&(n===t-1||t-4>n&&A[t-2][1].type==="whitespace")&&(t-=n+1===t?2:4),t>n&&(r={type:"atxHeadingText",start:A[n][1].start,end:A[t][1].end},g={type:"chunkText",start:A[n][1].start,end:A[t][1].end,contentType:"text"},_e(A,n,t-n+1,[["enter",r,e],["enter",g,e],["exit",g,e],["exit",r,e]])),A}function ol(A,e,t){let n=0;return r;function r(B){return A.enter("atxHeading"),g(B)}function g(B){return A.enter("atxHeadingSequence"),i(B)}function i(B){return B===35&&n++<6?(A.consume(B),i):B===null||se(B)?(A.exit("atxHeadingSequence"),o(B)):t(B)}function o(B){return B===35?(A.enter("atxHeadingSequence"),a(B)):B===null||BA(B)?(A.exit("atxHeading"),e(B)):yA(B)?FA(A,o,"whitespace")(B):(A.enter("atxHeadingText"),s(B))}function a(B){return B===35?(A.consume(B),a):(A.exit("atxHeadingSequence"),o(B))}function s(B){return B===null||B===35||se(B)?(A.exit("atxHeadingText"),o(B)):(A.consume(B),s)}}const Il=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],lI=["pre","script","style","textarea"],al={name:"htmlFlow",tokenize:Bl,resolveTo:Ql,concrete:!0},sl={tokenize:ll,partial:!0},Cl={tokenize:El,partial:!0};function Ql(A){let e=A.length;for(;e--&&!(A[e][0]==="enter"&&A[e][1].type==="htmlFlow"););return e>1&&A[e-2][1].type==="linePrefix"&&(A[e][1].start=A[e-2][1].start,A[e+1][1].start=A[e-2][1].start,A.splice(e-2,2)),A}function Bl(A,e,t){const n=this;let r,g,i,o,a;return s;function s(Q){return B(Q)}function B(Q){return A.enter("htmlFlow"),A.enter("htmlFlowData"),A.consume(Q),E}function E(Q){return Q===33?(A.consume(Q),u):Q===47?(A.consume(Q),g=!0,p):Q===63?(A.consume(Q),r=3,n.interrupt?e:f):Ye(Q)?(A.consume(Q),i=String.fromCharCode(Q),w):t(Q)}function u(Q){return Q===45?(A.consume(Q),r=2,l):Q===91?(A.consume(Q),r=5,o=0,k):Ye(Q)?(A.consume(Q),r=4,n.interrupt?e:f):t(Q)}function l(Q){return Q===45?(A.consume(Q),n.interrupt?e:f):t(Q)}function k(Q){const c="CDATA[";return Q===c.charCodeAt(o++)?(A.consume(Q),o===c.length?n.interrupt?e:v:k):t(Q)}function p(Q){return Ye(Q)?(A.consume(Q),i=String.fromCharCode(Q),w):t(Q)}function w(Q){if(Q===null||Q===47||Q===62||se(Q)){const c=Q===47,J=i.toLowerCase();return!c&&!g&&lI.includes(J)?(r=1,n.interrupt?e(Q):v(Q)):Il.includes(i.toLowerCase())?(r=6,c?(A.consume(Q),y):n.interrupt?e(Q):v(Q)):(r=7,n.interrupt&&!n.parser.lazy[n.now().line]?t(Q):g?H(Q):m(Q))}return Q===45||Ge(Q)?(A.consume(Q),i+=String.fromCharCode(Q),w):t(Q)}function y(Q){return Q===62?(A.consume(Q),n.interrupt?e:v):t(Q)}function H(Q){return yA(Q)?(A.consume(Q),H):V(Q)}function m(Q){return Q===47?(A.consume(Q),V):Q===58||Q===95||Ye(Q)?(A.consume(Q),U):yA(Q)?(A.consume(Q),m):V(Q)}function U(Q){return Q===45||Q===46||Q===58||Q===95||Ge(Q)?(A.consume(Q),U):Y(Q)}function Y(Q){return Q===61?(A.consume(Q),d):yA(Q)?(A.consume(Q),Y):m(Q)}function d(Q){return Q===null||Q===60||Q===61||Q===62||Q===96?t(Q):Q===34||Q===39?(A.consume(Q),a=Q,F):yA(Q)?(A.consume(Q),d):L(Q)}function F(Q){return Q===a?(A.consume(Q),a=null,N):Q===null||BA(Q)?t(Q):(A.consume(Q),F)}function L(Q){return Q===null||Q===34||Q===39||Q===47||Q===60||Q===61||Q===62||Q===96||se(Q)?Y(Q):(A.consume(Q),L)}function N(Q){return Q===47||Q===62||yA(Q)?m(Q):t(Q)}function V(Q){return Q===62?(A.consume(Q),M):t(Q)}function M(Q){return Q===null||BA(Q)?v(Q):yA(Q)?(A.consume(Q),M):t(Q)}function v(Q){return Q===45&&r===2?(A.consume(Q),CA):Q===60&&r===1?(A.consume(Q),pA):Q===62&&r===4?(A.consume(Q),SA):Q===63&&r===3?(A.consume(Q),f):Q===93&&r===5?(A.consume(Q),GA):BA(Q)&&(r===6||r===7)?(A.exit("htmlFlowData"),A.check(sl,O,$)(Q)):Q===null||BA(Q)?(A.exit("htmlFlowData"),$(Q)):(A.consume(Q),v)}function $(Q){return A.check(Cl,Z,O)(Q)}function Z(Q){return A.enter("lineEnding"),A.consume(Q),A.exit("lineEnding"),x}function x(Q){return Q===null||BA(Q)?$(Q):(A.enter("htmlFlowData"),v(Q))}function CA(Q){return Q===45?(A.consume(Q),f):v(Q)}function pA(Q){return Q===47?(A.consume(Q),i="",LA):v(Q)}function LA(Q){if(Q===62){const c=i.toLowerCase();return lI.includes(c)?(A.consume(Q),SA):v(Q)}return Ye(Q)&&i.length<8?(A.consume(Q),i+=String.fromCharCode(Q),LA):v(Q)}function GA(Q){return Q===93?(A.consume(Q),f):v(Q)}function f(Q){return Q===62?(A.consume(Q),SA):Q===45&&r===2?(A.consume(Q),f):v(Q)}function SA(Q){return Q===null||BA(Q)?(A.exit("htmlFlowData"),O(Q)):(A.consume(Q),SA)}function O(Q){return A.exit("htmlFlow"),e(Q)}}function El(A,e,t){const n=this;return r;function r(i){return BA(i)?(A.enter("lineEnding"),A.consume(i),A.exit("lineEnding"),g):t(i)}function g(i){return n.parser.lazy[n.now().line]?t(i):e(i)}}function ll(A,e,t){return n;function n(r){return A.enter("lineEnding"),A.consume(r),A.exit("lineEnding"),A.attempt(wr,e,t)}}const ul={name:"htmlText",tokenize:cl};function cl(A,e,t){const n=this;let r,g,i;return o;function o(f){return A.enter("htmlText"),A.enter("htmlTextData"),A.consume(f),a}function a(f){return f===33?(A.consume(f),s):f===47?(A.consume(f),Y):f===63?(A.consume(f),m):Ye(f)?(A.consume(f),L):t(f)}function s(f){return f===45?(A.consume(f),B):f===91?(A.consume(f),g=0,k):Ye(f)?(A.consume(f),H):t(f)}function B(f){return f===45?(A.consume(f),l):t(f)}function E(f){return f===null?t(f):f===45?(A.consume(f),u):BA(f)?(i=E,pA(f)):(A.consume(f),E)}function u(f){return f===45?(A.consume(f),l):E(f)}function l(f){return f===62?CA(f):f===45?u(f):E(f)}function k(f){const SA="CDATA[";return f===SA.charCodeAt(g++)?(A.consume(f),g===SA.length?p:k):t(f)}function p(f){return f===null?t(f):f===93?(A.consume(f),w):BA(f)?(i=p,pA(f)):(A.consume(f),p)}function w(f){return f===93?(A.consume(f),y):p(f)}function y(f){return f===62?CA(f):f===93?(A.consume(f),y):p(f)}function H(f){return f===null||f===62?CA(f):BA(f)?(i=H,pA(f)):(A.consume(f),H)}function m(f){return f===null?t(f):f===63?(A.consume(f),U):BA(f)?(i=m,pA(f)):(A.consume(f),m)}function U(f){return f===62?CA(f):m(f)}function Y(f){return Ye(f)?(A.consume(f),d):t(f)}function d(f){return f===45||Ge(f)?(A.consume(f),d):F(f)}function F(f){return BA(f)?(i=F,pA(f)):yA(f)?(A.consume(f),F):CA(f)}function L(f){return f===45||Ge(f)?(A.consume(f),L):f===47||f===62||se(f)?N(f):t(f)}function N(f){return f===47?(A.consume(f),CA):f===58||f===95||Ye(f)?(A.consume(f),V):BA(f)?(i=N,pA(f)):yA(f)?(A.consume(f),N):CA(f)}function V(f){return f===45||f===46||f===58||f===95||Ge(f)?(A.consume(f),V):M(f)}function M(f){return f===61?(A.consume(f),v):BA(f)?(i=M,pA(f)):yA(f)?(A.consume(f),M):N(f)}function v(f){return f===null||f===60||f===61||f===62||f===96?t(f):f===34||f===39?(A.consume(f),r=f,$):BA(f)?(i=v,pA(f)):yA(f)?(A.consume(f),v):(A.consume(f),Z)}function $(f){return f===r?(A.consume(f),r=void 0,x):f===null?t(f):BA(f)?(i=$,pA(f)):(A.consume(f),$)}function Z(f){return f===null||f===34||f===39||f===60||f===61||f===96?t(f):f===47||f===62||se(f)?N(f):(A.consume(f),Z)}function x(f){return f===47||f===62||se(f)?N(f):t(f)}function CA(f){return f===62?(A.consume(f),A.exit("htmlTextData"),A.exit("htmlText"),e):t(f)}function pA(f){return A.exit("htmlTextData"),A.enter("lineEnding"),A.consume(f),A.exit("lineEnding"),LA}function LA(f){return yA(f)?FA(A,GA,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f):GA(f)}function GA(f){return A.enter("htmlTextData"),i(f)}}const Hi={name:"labelEnd",tokenize:yl,resolveTo:Dl,resolveAll:pl},hl={tokenize:wl},fl={tokenize:ml},dl={tokenize:kl};function pl(A){let e=-1;for(;++e=3&&(s===null||BA(s))?(A.exit("thematicBreak"),e(s)):t(s)}function a(s){return s===r?(A.consume(s),n++,a):(A.exit("thematicBreakSequence"),yA(s)?FA(A,o,"whitespace")(s):o(s))}}const Ie={name:"list",tokenize:Ul,continuation:{tokenize:xl},exit:Hl},Ml={tokenize:vl,partial:!0},Gl={tokenize:Jl,partial:!0};function Ul(A,e,t){const n=this,r=n.events[n.events.length-1];let g=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0,i=0;return o;function o(l){const k=n.containerState.type||(l===42||l===43||l===45?"listUnordered":"listOrdered");if(k==="listUnordered"?!n.containerState.marker||l===n.containerState.marker:ri(l)){if(n.containerState.type||(n.containerState.type=k,A.enter(k,{_container:!0})),k==="listUnordered")return A.enter("listItemPrefix"),l===42||l===45?A.check(tr,t,s)(l):s(l);if(!n.interrupt||l===49)return A.enter("listItemPrefix"),A.enter("listItemValue"),a(l)}return t(l)}function a(l){return ri(l)&&++i<10?(A.consume(l),a):(!n.interrupt||i<2)&&(n.containerState.marker?l===n.containerState.marker:l===41||l===46)?(A.exit("listItemValue"),s(l)):t(l)}function s(l){return A.enter("listItemMarker"),A.consume(l),A.exit("listItemMarker"),n.containerState.marker=n.containerState.marker||l,A.check(wr,n.interrupt?t:B,A.attempt(Ml,u,E))}function B(l){return n.containerState.initialBlankLine=!0,g++,u(l)}function E(l){return yA(l)?(A.enter("listItemPrefixWhitespace"),A.consume(l),A.exit("listItemPrefixWhitespace"),u):t(l)}function u(l){return n.containerState.size=g+n.sliceSerialize(A.exit("listItemPrefix"),!0).length,e(l)}}function xl(A,e,t){const n=this;return n.containerState._closeFlow=void 0,A.check(wr,r,g);function r(o){return n.containerState.furtherBlankLines=n.containerState.furtherBlankLines||n.containerState.initialBlankLine,FA(A,e,"listItemIndent",n.containerState.size+1)(o)}function g(o){return n.containerState.furtherBlankLines||!yA(o)?(n.containerState.furtherBlankLines=void 0,n.containerState.initialBlankLine=void 0,i(o)):(n.containerState.furtherBlankLines=void 0,n.containerState.initialBlankLine=void 0,A.attempt(Gl,e,i)(o))}function i(o){return n.containerState._closeFlow=!0,n.interrupt=void 0,FA(A,A.attempt(Ie,e,t),"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o)}}function Jl(A,e,t){const n=this;return FA(A,r,"listItemIndent",n.containerState.size+1);function r(g){const i=n.events[n.events.length-1];return i&&i[1].type==="listItemIndent"&&i[2].sliceSerialize(i[1],!0).length===n.containerState.size?e(g):t(g)}}function Hl(A){A.exit(this.containerState.type)}function vl(A,e,t){const n=this;return FA(A,r,"listItemPrefixWhitespace",n.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function r(g){const i=n.events[n.events.length-1];return!yA(g)&&i&&i[1].type==="listItemPrefixWhitespace"?e(g):t(g)}}const uI={name:"setextUnderline",tokenize:Yl,resolveTo:Kl};function Kl(A,e){let t=A.length,n,r,g;for(;t--;)if(A[t][0]==="enter"){if(A[t][1].type==="content"){n=t;break}A[t][1].type==="paragraph"&&(r=t)}else A[t][1].type==="content"&&A.splice(t,1),!g&&A[t][1].type==="definition"&&(g=t);const i={type:"setextHeading",start:Object.assign({},A[r][1].start),end:Object.assign({},A[A.length-1][1].end)};return A[r][1].type="setextHeadingText",g?(A.splice(r,0,["enter",i,e]),A.splice(g+1,0,["exit",A[n][1],e]),A[n][1].end=Object.assign({},A[g][1].end)):A[n][1]=i,A.push(["exit",i,e]),A}function Yl(A,e,t){const n=this;let r;return g;function g(s){let B=n.events.length,E;for(;B--;)if(n.events[B][1].type!=="lineEnding"&&n.events[B][1].type!=="linePrefix"&&n.events[B][1].type!=="content"){E=n.events[B][1].type==="paragraph";break}return!n.parser.lazy[n.now().line]&&(n.interrupt||E)?(A.enter("setextHeadingLine"),r=s,i(s)):t(s)}function i(s){return A.enter("setextHeadingLineSequence"),o(s)}function o(s){return s===r?(A.consume(s),o):(A.exit("setextHeadingLineSequence"),yA(s)?FA(A,a,"lineSuffix")(s):a(s))}function a(s){return s===null||BA(s)?(A.exit("setextHeadingLine"),e(s)):t(s)}}const ql={tokenize:Tl};function Tl(A){const e=this,t=A.attempt(wr,n,A.attempt(this.parser.constructs.flowInitial,r,FA(A,A.attempt(this.parser.constructs.flow,r,A.attempt(jE,r)),"linePrefix")));return t;function n(g){if(g===null){A.consume(g);return}return A.enter("lineEndingBlank"),A.consume(g),A.exit("lineEndingBlank"),e.currentConstruct=void 0,t}function r(g){if(g===null){A.consume(g);return}return A.enter("lineEnding"),A.consume(g),A.exit("lineEnding"),e.currentConstruct=void 0,t}}const _l={resolveAll:Fs()},Ol=ks("string"),Pl=ks("text");function ks(A){return{tokenize:e,resolveAll:Fs(A==="text"?Vl:void 0)};function e(t){const n=this,r=this.parser.constructs[A],g=t.attempt(r,i,o);return i;function i(B){return s(B)?g(B):o(B)}function o(B){if(B===null){t.consume(B);return}return t.enter("data"),t.consume(B),a}function a(B){return s(B)?(t.exit("data"),g(B)):(t.consume(B),a)}function s(B){if(B===null)return!0;const E=r[B];let u=-1;if(E)for(;++u-1){const o=i[0];typeof o=="string"?i[0]=o.slice(n):i.shift()}g>0&&i.push(A[r].slice(0,g))}return i}function zl(A,e){let t=-1;const n=[];let r;for(;++t13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCharCode(t)}const su=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Ls(A){return A.replace(su,Cu)}function Cu(A,e,t){if(e)return e;if(t.charCodeAt(0)===35){const n=t.charCodeAt(1),r=n===120||n===88;return bs(t.slice(r?2:1),r?16:10)}return Ji(t)||A}function dn(A){return!A||typeof A!="object"?"":"position"in A||"type"in A?hI(A.position):"start"in A||"end"in A?hI(A):"line"in A||"column"in A?ii(A):""}function ii(A){return fI(A&&A.line)+":"+fI(A&&A.column)}function hI(A){return ii(A&&A.start)+"-"+ii(A&&A.end)}function fI(A){return A&&typeof A=="number"?A:1}const Ss={}.hasOwnProperty,Qu=function(A,e,t){return typeof e!="string"&&(t=e,e=void 0),Bu(t)(au(ou(t).document().write(Iu()(A,e,!0))))};function Bu(A){const e={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:o(We),autolinkProtocol:M,autolinkEmail:M,atxHeading:o(Ve),blockQuote:o(DA),characterEscape:M,characterReference:M,codeFenced:o(QA),codeFencedFenceInfo:a,codeFencedFenceMeta:a,codeIndented:o(QA,a),codeText:o(kA,a),codeTextData:M,data:M,codeFlowValue:M,definition:o(Pe),definitionDestinationString:a,definitionLabelString:a,definitionTitleString:a,emphasis:o(nt),hardBreakEscape:o(je),hardBreakTrailing:o(je),htmlFlow:o(Qe,a),htmlFlowData:M,htmlText:o(Qe,a),htmlTextData:M,image:o(rt),label:a,link:o(We),listItem:o(VA),listItemValue:k,listOrdered:o(UA,l),listUnordered:o(UA),paragraph:o(Je),reference:J,referenceString:a,resourceDestinationString:a,resourceTitleString:a,setextHeading:o(Ve),strong:o(nA),thematicBreak:o(Ct)},exit:{atxHeading:B(),atxHeadingSequence:F,autolink:B(),autolinkEmail:IA,autolinkProtocol:AA,blockQuote:B(),characterEscapeValue:v,characterReferenceMarkerHexadecimal:P,characterReferenceMarkerNumeric:P,characterReferenceValue:X,codeFenced:B(H),codeFencedFence:y,codeFencedFenceInfo:p,codeFencedFenceMeta:w,codeFlowValue:v,codeIndented:B(m),codeText:B(pA),codeTextData:v,data:v,definition:B(),definitionDestinationString:d,definitionLabelString:U,definitionTitleString:Y,emphasis:B(),hardBreakEscape:B(Z),hardBreakTrailing:B(Z),htmlFlow:B(x),htmlFlowData:v,htmlText:B(CA),htmlTextData:v,image:B(GA),label:SA,labelText:f,lineEnding:$,link:B(LA),listItem:B(),listOrdered:B(),listUnordered:B(),paragraph:B(),referenceString:G,resourceDestinationString:O,resourceTitleString:Q,resource:c,setextHeading:B(V),setextHeadingLineSequence:N,setextHeadingText:L,strong:B(),thematicBreak:B()}};Rs(e,(A||{}).mdastExtensions||[]);const t={};return n;function n(S){let K={type:"root",children:[]};const W={stack:[K],tokenStack:[],config:e,enter:s,exit:E,buffer:a,resume:u,setData:g,getData:i},rA=[];let gA=-1;for(;++gA0){const mA=W.tokenStack[W.tokenStack.length-1];(mA[1]||dI).call(W,void 0,mA[0])}for(K.position={start:gt(S.length>0?S[0][1].start:{line:1,column:1,offset:0}),end:gt(S.length>0?S[S.length-2][1].end:{line:1,column:1,offset:0})},gA=-1;++gA{const t=this.data("settings");return Qu(e,Object.assign({},t,A,{extensions:this.data("micromarkExtensions")||[],mdastExtensions:this.data("fromMarkdownExtensions")||[]}))}})}var Ns={},mr={},vi={},pI="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");vi.encode=function(A){if(0<=A&&A>1;return e?-t:t}mr.encode=function(A){var e="",t,n=uu(A);do t=n&Us,n>>>=Ki,n>0&&(t|=xs),e+=Ms.encode(t);while(n>0);return e};mr.decode=function(A,e,t){var n=A.length,r=0,g=0,i,o;do{if(e>=n)throw new Error("Expected more digits in base 64 VLQ value.");if(o=Ms.decode(A.charCodeAt(e++)),o===-1)throw new Error("Invalid base64 digit: "+A.charAt(e-1));i=!!(o&xs),o&=Us,r=r+(o<i&&N.pop(),$}}var a=o(function(L){var N=L,V=r(L);if(V){if(!V.path)return L;N=V.path}for(var M=A.isAbsolute(N),v=[],$=0,Z=0;;)if($=Z,Z=N.indexOf("/",$),Z===-1){v.push(N.slice($));break}else for(v.push(N.slice($,Z));Z=0;Z--)x=v[Z],x==="."?v.splice(Z,1):x===".."?CA++:CA>0&&(x===""?(v.splice(Z+1,CA),CA=0):(v.splice(Z,2),CA--));return N=v.join("/"),N===""&&(N=M?"/":"."),V?(V.path=N,g(V)):N});A.normalize=a;function s(L,N){L===""&&(L="."),N===""&&(N=".");var V=r(N),M=r(L);if(M&&(L=M.path||"/"),V&&!V.scheme)return M&&(V.scheme=M.scheme),g(V);if(V||N.match(n))return N;if(M&&!M.host&&!M.path)return M.host=N,g(M);var v=N.charAt(0)==="/"?N:a(L.replace(/\/+$/,"")+"/"+N);return M?(M.path=v,g(M)):v}A.join=s,A.isAbsolute=function(L){return L.charAt(0)==="/"||t.test(L)};function B(L,N){L===""&&(L="."),L=L.replace(/\/$/,"");for(var V=0;N.indexOf(L+"/")!==0;){var M=L.lastIndexOf("/");if(M<0||(L=L.slice(0,M),L.match(/^([^\/]+:\/)?\/*$/)))return N;++V}return Array(V+1).join("../")+N.substr(L.length+1)}A.relative=B;var E=function(){var L=Object.create(null);return!("__proto__"in L)}();function u(L){return L}function l(L){return p(L)?"$"+L:L}A.toSetString=E?u:l;function k(L){return p(L)?L.slice(1):L}A.fromSetString=E?u:k;function p(L){if(!L)return!1;var N=L.length;if(N<9||L.charCodeAt(N-1)!==95||L.charCodeAt(N-2)!==95||L.charCodeAt(N-3)!==111||L.charCodeAt(N-4)!==116||L.charCodeAt(N-5)!==111||L.charCodeAt(N-6)!==114||L.charCodeAt(N-7)!==112||L.charCodeAt(N-8)!==95||L.charCodeAt(N-9)!==95)return!1;for(var V=N-10;V>=0;V--)if(L.charCodeAt(V)!==36)return!1;return!0}function w(L,N,V){var M=U(L.source,N.source);return M!==0||(M=L.originalLine-N.originalLine,M!==0)||(M=L.originalColumn-N.originalColumn,M!==0||V)||(M=L.generatedColumn-N.generatedColumn,M!==0)||(M=L.generatedLine-N.generatedLine,M!==0)?M:U(L.name,N.name)}A.compareByOriginalPositions=w;function y(L,N,V){var M;return M=L.originalLine-N.originalLine,M!==0||(M=L.originalColumn-N.originalColumn,M!==0||V)||(M=L.generatedColumn-N.generatedColumn,M!==0)||(M=L.generatedLine-N.generatedLine,M!==0)?M:U(L.name,N.name)}A.compareByOriginalPositionsNoSource=y;function H(L,N,V){var M=L.generatedLine-N.generatedLine;return M!==0||(M=L.generatedColumn-N.generatedColumn,M!==0||V)||(M=U(L.source,N.source),M!==0)||(M=L.originalLine-N.originalLine,M!==0)||(M=L.originalColumn-N.originalColumn,M!==0)?M:U(L.name,N.name)}A.compareByGeneratedPositionsDeflated=H;function m(L,N,V){var M=L.generatedColumn-N.generatedColumn;return M!==0||V||(M=U(L.source,N.source),M!==0)||(M=L.originalLine-N.originalLine,M!==0)||(M=L.originalColumn-N.originalColumn,M!==0)?M:U(L.name,N.name)}A.compareByGeneratedPositionsDeflatedNoLine=m;function U(L,N){return L===N?0:L===null?1:N===null?-1:L>N?1:-1}function Y(L,N){var V=L.generatedLine-N.generatedLine;return V!==0||(V=L.generatedColumn-N.generatedColumn,V!==0)||(V=U(L.source,N.source),V!==0)||(V=L.originalLine-N.originalLine,V!==0)||(V=L.originalColumn-N.originalColumn,V!==0)?V:U(L.name,N.name)}A.compareByGeneratedPositionsInflated=Y;function d(L){return JSON.parse(L.replace(/^\)]}'[^\n]*\n/,""))}A.parseSourceMapInput=d;function F(L,N,V){if(N=N||"",L&&(L[L.length-1]!=="/"&&N[0]!=="/"&&(L+="/"),N=L+N),V){var M=r(V);if(!M)throw new Error("sourceMapURL could not be parsed");if(M.path){var v=M.path.lastIndexOf("/");v>=0&&(M.path=M.path.substring(0,v+1))}N=s(g(M),N)}return a(N)}A.computeSourceURL=F})(An);var Yi={},qi=An,Ti=Object.prototype.hasOwnProperty,Ft=typeof Map<"u";function et(){this._array=[],this._set=Ft?new Map:Object.create(null)}et.fromArray=function(A,e){for(var t=new et,n=0,r=A.length;n=0)return e}else{var t=qi.toSetString(A);if(Ti.call(this._set,t))return this._set[t]}throw new Error('"'+A+'" is not in the set.')};et.prototype.at=function(A){if(A>=0&&At||n==t&&g>=r||Hs.compareByGeneratedPositionsInflated(A,e)<=0}function kr(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}kr.prototype.unsortedForEach=function(A,e){this._array.forEach(A,e)};kr.prototype.add=function(A){hu(this._last,A)?(this._last=A,this._array.push(A)):(this._sorted=!1,this._array.push(A))};kr.prototype.toArray=function(){return this._sorted||(this._array.sort(Hs.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};Js.MappingList=kr;var Qn=mr,_A=An,Br=Yi.ArraySet,fu=Js.MappingList;function me(A){A||(A={}),this._file=_A.getArg(A,"file",null),this._sourceRoot=_A.getArg(A,"sourceRoot",null),this._skipValidation=_A.getArg(A,"skipValidation",!1),this._ignoreInvalidMapping=_A.getArg(A,"ignoreInvalidMapping",!1),this._sources=new Br,this._names=new Br,this._mappings=new fu,this._sourcesContents=null}me.prototype._version=3;me.fromSourceMap=function(A,e){var t=A.sourceRoot,n=new me(Object.assign(e||{},{file:A.file,sourceRoot:t}));return A.eachMapping(function(r){var g={generated:{line:r.generatedLine,column:r.generatedColumn}};r.source!=null&&(g.source=r.source,t!=null&&(g.source=_A.relative(t,g.source)),g.original={line:r.originalLine,column:r.originalColumn},r.name!=null&&(g.name=r.name)),n.addMapping(g)}),A.sources.forEach(function(r){var g=r;t!==null&&(g=_A.relative(t,r)),n._sources.has(g)||n._sources.add(g);var i=A.sourceContentFor(r);i!=null&&n.setSourceContent(r,i)}),n};me.prototype.addMapping=function(A){var e=_A.getArg(A,"generated"),t=_A.getArg(A,"original",null),n=_A.getArg(A,"source",null),r=_A.getArg(A,"name",null);!this._skipValidation&&this._validateMapping(e,t,n,r)===!1||(n!=null&&(n=String(n),this._sources.has(n)||this._sources.add(n)),r!=null&&(r=String(r),this._names.has(r)||this._names.add(r)),this._mappings.add({generatedLine:e.line,generatedColumn:e.column,originalLine:t!=null&&t.line,originalColumn:t!=null&&t.column,source:n,name:r}))};me.prototype.setSourceContent=function(A,e){var t=A;this._sourceRoot!=null&&(t=_A.relative(this._sourceRoot,t)),e!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[_A.toSetString(t)]=e):this._sourcesContents&&(delete this._sourcesContents[_A.toSetString(t)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))};me.prototype.applySourceMap=function(A,e,t){var n=e;if(e==null){if(A.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);n=A.file}var r=this._sourceRoot;r!=null&&(n=_A.relative(r,n));var g=new Br,i=new Br;this._mappings.unsortedForEach(function(o){if(o.source===n&&o.originalLine!=null){var a=A.originalPositionFor({line:o.originalLine,column:o.originalColumn});a.source!=null&&(o.source=a.source,t!=null&&(o.source=_A.join(t,o.source)),r!=null&&(o.source=_A.relative(r,o.source)),o.originalLine=a.line,o.originalColumn=a.column,a.name!=null&&(o.name=a.name))}var s=o.source;s!=null&&!g.has(s)&&g.add(s);var B=o.name;B!=null&&!i.has(B)&&i.add(B)},this),this._sources=g,this._names=i,A.sources.forEach(function(o){var a=A.sourceContentFor(o);a!=null&&(t!=null&&(o=_A.join(t,o)),r!=null&&(o=_A.relative(r,o)),this.setSourceContent(o,a))},this)};me.prototype._validateMapping=function(A,e,t,n){if(e&&typeof e.line!="number"&&typeof e.column!="number"){var r="original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.";if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(r),!1;throw new Error(r)}if(!(A&&"line"in A&&"column"in A&&A.line>0&&A.column>=0&&!e&&!t&&!n)){if(A&&"line"in A&&"column"in A&&e&&"line"in e&&"column"in e&&A.line>0&&A.column>=0&&e.line>0&&e.column>=0&&t)return;var r="Invalid mapping: "+JSON.stringify({generated:A,source:t,original:e,name:n});if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(r),!1;throw new Error(r)}};me.prototype._serializeMappings=function(){for(var A=0,e=1,t=0,n=0,r=0,g=0,i="",o,a,s,B,E=this._mappings.toArray(),u=0,l=E.length;u0){if(!_A.compareByGeneratedPositionsInflated(a,E[u-1]))continue;o+=","}o+=Qn.encode(a.generatedColumn-A),A=a.generatedColumn,a.source!=null&&(B=this._sources.indexOf(a.source),o+=Qn.encode(B-g),g=B,o+=Qn.encode(a.originalLine-1-n),n=a.originalLine-1,o+=Qn.encode(a.originalColumn-t),t=a.originalColumn,a.name!=null&&(s=this._names.indexOf(a.name),o+=Qn.encode(s-r),r=s)),i+=o}return i};me.prototype._generateSourcesContent=function(A,e){return A.map(function(t){if(!this._sourcesContents)return null;e!=null&&(t=_A.relative(e,t));var n=_A.toSetString(t);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)};me.prototype.toJSON=function(){var A={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(A.file=this._file),this._sourceRoot!=null&&(A.sourceRoot=this._sourceRoot),this._sourcesContents&&(A.sourcesContent=this._generateSourcesContent(A.sources,A.sourceRoot)),A};me.prototype.toString=function(){return JSON.stringify(this.toJSON())};Ns.SourceMapGenerator=me;var Fr={},vs={};(function(A){A.GREATEST_LOWER_BOUND=1,A.LEAST_UPPER_BOUND=2;function e(t,n,r,g,i,o){var a=Math.floor((n-t)/2)+t,s=i(r,g[a],!0);return s===0?a:s>0?n-a>1?e(a,n,r,g,i,o):o==A.LEAST_UPPER_BOUND?n1?e(t,a,r,g,i,o):o==A.LEAST_UPPER_BOUND?a:t<0?-1:t}A.search=function(t,n,r,g){if(n.length===0)return-1;var i=e(-1,n.length,t,n,r,g||A.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&r(n[i],n[i-1],!0)===0;)--i;return i}})(vs);var Ks={};function du(A){function e(r,g,i){var o=r[g];r[g]=r[i],r[i]=o}function t(r,g){return Math.round(r+Math.random()*(g-r))}function n(r,g,i,o){if(i=0){var g=this._originalMappings[r];if(A.column===void 0)for(var i=g.originalLine;g&&g.originalLine===i;)n.push({line:tA.getArg(g,"generatedLine",null),column:tA.getArg(g,"generatedColumn",null),lastColumn:tA.getArg(g,"lastGeneratedColumn",null)}),g=this._originalMappings[++r];else for(var o=g.originalColumn;g&&g.originalLine===e&&g.originalColumn==o;)n.push({line:tA.getArg(g,"generatedLine",null),column:tA.getArg(g,"generatedColumn",null),lastColumn:tA.getArg(g,"lastGeneratedColumn",null)}),g=this._originalMappings[++r]}return n};Fr.SourceMapConsumer=NA;function $A(A,e){var t=A;typeof A=="string"&&(t=tA.parseSourceMapInput(A));var n=tA.getArg(t,"version"),r=tA.getArg(t,"sources"),g=tA.getArg(t,"names",[]),i=tA.getArg(t,"sourceRoot",null),o=tA.getArg(t,"sourcesContent",null),a=tA.getArg(t,"mappings"),s=tA.getArg(t,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);i&&(i=tA.normalize(i)),r=r.map(String).map(tA.normalize).map(function(B){return i&&tA.isAbsolute(i)&&tA.isAbsolute(B)?tA.relative(i,B):B}),this._names=zt.fromArray(g.map(String),!0),this._sources=zt.fromArray(r,!0),this._absoluteSources=this._sources.toArray().map(function(B){return tA.computeSourceURL(i,B,e)}),this.sourceRoot=i,this.sourcesContent=o,this._mappings=a,this._sourceMapURL=e,this.file=s}$A.prototype=Object.create(NA.prototype);$A.prototype.consumer=NA;$A.prototype._findSourceIndex=function(A){var e=A;if(this.sourceRoot!=null&&(e=tA.relative(this.sourceRoot,e)),this._sources.has(e))return this._sources.indexOf(e);var t;for(t=0;t0&&(A[e]=g,A[e+1]=r)}else if(n<20)for(let r=e;re;g--){let i=A[g-1],o=A[g];if(lg(i,o)<=0)break;A[g-1]=o,A[g]=i}else Fn(A,lg,e)}$A.prototype._parseMappings=function(A,e){var t=1,n=0,r=0,g=0,i=0,o=0,a=A.length,s=0,B={},E=[],u=[],l,k,p,w;let y=0;for(;s1&&(l.source=i+k[1],i+=k[1],l.originalLine=r+k[2],r=l.originalLine,l.originalLine+=1,l.originalColumn=g+k[3],g=l.originalColumn,k.length>4&&(l.name=o+k[4],o+=k[4])),u.push(l),typeof l.originalLine=="number"){let m=l.source;for(;E.length<=m;)E.push(null);E[m]===null&&(E[m]=[]),E[m].push(l)}}yI(u,y),this.__generatedMappings=u;for(var H=0;H=0){var n=this._generatedMappings[t];if(n.generatedLine===e.generatedLine){var r=tA.getArg(n,"source",null);r!==null&&(r=this._sources.at(r),r=tA.computeSourceURL(this.sourceRoot,r,this._sourceMapURL));var g=tA.getArg(n,"name",null);return g!==null&&(g=this._names.at(g)),{source:r,line:tA.getArg(n,"originalLine",null),column:tA.getArg(n,"originalColumn",null),name:g}}}return{source:null,line:null,column:null,name:null}};$A.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(A){return A==null}):!1};$A.prototype.sourceContentFor=function(A,e){if(!this.sourcesContent)return null;var t=this._findSourceIndex(A);if(t>=0)return this.sourcesContent[t];var n=A;this.sourceRoot!=null&&(n=tA.relative(this.sourceRoot,n));var r;if(this.sourceRoot!=null&&(r=tA.urlParse(this.sourceRoot))){var g=n.replace(/^file:\/\//,"");if(r.scheme=="file"&&this._sources.has(g))return this.sourcesContent[this._sources.indexOf(g)];if((!r.path||r.path=="/")&&this._sources.has("/"+n))return this.sourcesContent[this._sources.indexOf("/"+n)]}if(e)return null;throw new Error('"'+n+'" is not in the SourceMap.')};$A.prototype.generatedPositionFor=function(A){var e=tA.getArg(A,"source");if(e=this._findSourceIndex(e),e<0)return{line:null,column:null,lastColumn:null};var t={source:e,originalLine:tA.getArg(A,"line"),originalColumn:tA.getArg(A,"column")},n=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",tA.compareByOriginalPositions,tA.getArg(A,"bias",NA.GREATEST_LOWER_BOUND));if(n>=0){var r=this._originalMappings[n];if(r.source===t.source)return{line:tA.getArg(r,"generatedLine",null),column:tA.getArg(r,"generatedColumn",null),lastColumn:tA.getArg(r,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};Fr.BasicSourceMapConsumer=$A;function Ue(A,e){var t=A;typeof A=="string"&&(t=tA.parseSourceMapInput(A));var n=tA.getArg(t,"version"),r=tA.getArg(t,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new zt,this._names=new zt;var g={line:-1,column:0};this._sections=r.map(function(i){if(i.url)throw new Error("Support for url field in sections not implemented.");var o=tA.getArg(i,"offset"),a=tA.getArg(o,"line"),s=tA.getArg(o,"column");if(a=0;e--)this.prepend(A[e]);else if(A[en]||typeof A=="string")this.children.unshift(A);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+A);return this};ue.prototype.walk=function(A){for(var e,t=0,n=this.children.length;t0){for(e=[],t=0;t + * @license MIT + */var bu=function(A){return A!=null&&A.constructor!=null&&typeof A.constructor.isBuffer=="function"&&A.constructor.isBuffer(A)};const qs=dr(bu);var nr=Object.prototype.hasOwnProperty,Ts=Object.prototype.toString,mI=Object.defineProperty,kI=Object.getOwnPropertyDescriptor,FI=function(A){return typeof Array.isArray=="function"?Array.isArray(A):Ts.call(A)==="[object Array]"},bI=function(A){if(!A||Ts.call(A)!=="[object Object]")return!1;var e=nr.call(A,"constructor"),t=A.constructor&&A.constructor.prototype&&nr.call(A.constructor.prototype,"isPrototypeOf");if(A.constructor&&!e&&!t)return!1;var n;for(n in A);return typeof n>"u"||nr.call(A,n)},LI=function(A,e){mI&&e.name==="__proto__"?mI(A,e.name,{enumerable:!0,configurable:!0,value:e.newValue,writable:!0}):A[e.name]=e.newValue},SI=function(A,e){if(e==="__proto__")if(nr.call(A,e)){if(kI)return kI(A,e).value}else return;return A[e]},Lu=function A(){var e,t,n,r,g,i,o=arguments[0],a=1,s=arguments.length,B=!1;for(typeof o=="boolean"&&(B=o,o=arguments[1]||{},a=2),(o==null||typeof o!="object"&&typeof o!="function")&&(o={});ai.length;let a;o&&i.push(r);try{a=A.apply(this,i)}catch(s){const B=s;if(o&&t)throw B;return r(B)}o||(a instanceof Promise?a.then(g,r):a instanceof Error?r(a):g(a))}function r(i,...o){t||(t=!0,e(i,...o))}function g(i){r(null,i)}}class Fe extends Error{constructor(e,t,n){const r=[null,null];let g={start:{line:null,column:null},end:{line:null,column:null}};if(super(),typeof t=="string"&&(n=t,t=void 0),typeof n=="string"){const i=n.indexOf(":");i===-1?r[1]=n:(r[0]=n.slice(0,i),r[1]=n.slice(i+1))}t&&("type"in t||"position"in t?t.position&&(g=t.position):"start"in t||"end"in t?g=t:("line"in t||"column"in t)&&(g.start=t)),this.name=dn(t)||"1:1",this.message=typeof e=="object"?e.message:e,this.stack="",typeof e=="object"&&e.stack&&(this.stack=e.stack),this.reason=this.message,this.fatal,this.line=g.start.line,this.column=g.start.column,this.position=g,this.source=r[0],this.ruleId=r[1],this.file,this.actual,this.expected,this.url,this.note}}Fe.prototype.file="";Fe.prototype.name="";Fe.prototype.reason="";Fe.prototype.message="";Fe.prototype.stack="";Fe.prototype.fatal=null;Fe.prototype.column=null;Fe.prototype.line=null;Fe.prototype.source=null;Fe.prototype.ruleId=null;Fe.prototype.position=null;const He={basename:Nu,dirname:Mu,extname:Gu,join:Uu,sep:"/"};function Nu(A,e){if(e!==void 0&&typeof e!="string")throw new TypeError('"ext" argument must be a string');Sn(A);let t=0,n=-1,r=A.length,g;if(e===void 0||e.length===0||e.length>A.length){for(;r--;)if(A.charCodeAt(r)===47){if(g){t=r+1;break}}else n<0&&(g=!0,n=r+1);return n<0?"":A.slice(t,n)}if(e===A)return"";let i=-1,o=e.length-1;for(;r--;)if(A.charCodeAt(r)===47){if(g){t=r+1;break}}else i<0&&(g=!0,i=r+1),o>-1&&(A.charCodeAt(r)===e.charCodeAt(o--)?o<0&&(n=r):(o=-1,n=i));return t===n?n=i:n<0&&(n=A.length),A.slice(t,n)}function Mu(A){if(Sn(A),A.length===0)return".";let e=-1,t=A.length,n;for(;--t;)if(A.charCodeAt(t)===47){if(n){e=t;break}}else n||(n=!0);return e<0?A.charCodeAt(0)===47?"/":".":e===1&&A.charCodeAt(0)===47?"//":A.slice(0,e)}function Gu(A){Sn(A);let e=A.length,t=-1,n=0,r=-1,g=0,i;for(;e--;){const o=A.charCodeAt(e);if(o===47){if(i){n=e+1;break}continue}t<0&&(i=!0,t=e+1),o===46?r<0?r=e:g!==1&&(g=1):r>-1&&(g=-1)}return r<0||t<0||g===0||g===1&&r===t-1&&r===n+1?"":A.slice(r,t)}function Uu(...A){let e=-1,t;for(;++e0&&A.charCodeAt(A.length-1)===47&&(t+="/"),e?"/"+t:t}function Ju(A,e){let t="",n=0,r=-1,g=0,i=-1,o,a;for(;++i<=A.length;){if(i2){if(a=t.lastIndexOf("/"),a!==t.length-1){a<0?(t="",n=0):(t=t.slice(0,a),n=t.length-1-t.lastIndexOf("/")),r=i,g=0;continue}}else if(t.length>0){t="",n=0,r=i,g=0;continue}}e&&(t=t.length>0?t+"/..":"..",n=2)}else t.length>0?t+="/"+A.slice(r+1,i):t=A.slice(r+1,i),n=i-r-1;r=i,g=0}else o===46&&g>-1?g++:g=-1}return t}function Sn(A){if(typeof A!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(A))}const Hu={cwd:vu};function vu(){return"/"}function Ii(A){return A!==null&&typeof A=="object"&&A.href&&A.origin}function Ku(A){if(typeof A=="string")A=new URL(A);else if(!Ii(A)){const e=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+A+"`");throw e.code="ERR_INVALID_ARG_TYPE",e}if(A.protocol!=="file:"){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return Yu(A)}function Yu(A){if(A.hostname!==""){const n=new TypeError('File URL host must be "localhost" or empty on darwin');throw n.code="ERR_INVALID_FILE_URL_HOST",n}const e=A.pathname;let t=-1;for(;++t{if(d||!F||!L)Y(d);else{const N=g.stringify(F,L);N==null||(Pu(N)?L.value=N:L.result=N),Y(d,L)}});function Y(d,F){d||!F?m(d):H?H(F):w(null,F)}}}function k(p){let w;g.freeze(),fg("processSync",g.Parser),dg("processSync",g.Compiler);const y=Bn(p);return g.process(y,H),UI("processSync","process",w),y;function H(m){w=!0,wI(m)}}}function MI(A,e){return typeof A=="function"&&A.prototype&&(_u(A.prototype)||e in A.prototype)}function _u(A){let e;for(e in A)if(_s.call(A,e))return!0;return!1}function fg(A,e){if(typeof e!="function")throw new TypeError("Cannot `"+A+"` without `Parser`")}function dg(A,e){if(typeof e!="function")throw new TypeError("Cannot `"+A+"` without `Compiler`")}function pg(A,e){if(e)throw new Error("Cannot call `"+A+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function GI(A){if(!oi(A)||typeof A.type!="string")throw new TypeError("Expected node, got `"+A+"`")}function UI(A,e,t){if(!t)throw new Error("`"+A+"` finished async. Use `"+e+"` instead")}function Bn(A){return Ou(A)?A:new Kt(A)}function Ou(A){return!!(A&&typeof A=="object"&&"message"in A&&"messages"in A)}function Pu(A){return typeof A=="string"||qs(A)}var ai={exports:{}};(function(A,e){(function(t,n){n(e)})(bB,function(t){var n=typeof document<"u"?document.currentScript:null;t.LuaReturn=void 0,function(O){O[O.Ok=0]="Ok",O[O.Yield=1]="Yield",O[O.ErrorRun=2]="ErrorRun",O[O.ErrorSyntax=3]="ErrorSyntax",O[O.ErrorMem=4]="ErrorMem",O[O.ErrorErr=5]="ErrorErr",O[O.ErrorFile=6]="ErrorFile"}(t.LuaReturn||(t.LuaReturn={}));const r=4,g=-1,i=1e6,o=-i-1e3;t.LuaType=void 0,function(O){O[O.None=-1]="None",O[O.Nil=0]="Nil",O[O.Boolean=1]="Boolean",O[O.LightUserdata=2]="LightUserdata",O[O.Number=3]="Number",O[O.String=4]="String",O[O.Table=5]="Table",O[O.Function=6]="Function",O[O.Userdata=7]="Userdata",O[O.Thread=8]="Thread"}(t.LuaType||(t.LuaType={})),t.LuaEventCodes=void 0,function(O){O[O.Call=0]="Call",O[O.Ret=1]="Ret",O[O.Line=2]="Line",O[O.Count=3]="Count",O[O.TailCall=4]="TailCall"}(t.LuaEventCodes||(t.LuaEventCodes={})),t.LuaEventMasks=void 0,function(O){O[O.Call=1]="Call",O[O.Ret=2]="Ret",O[O.Line=4]="Line",O[O.Count=8]="Count"}(t.LuaEventMasks||(t.LuaEventMasks={})),t.LuaLibraries=void 0,function(O){O.Base="_G",O.Coroutine="coroutine",O.Table="table",O.IO="io",O.OS="os",O.String="string",O.UTF8="utf8",O.Math="math",O.Debug="debug",O.Package="package"}(t.LuaLibraries||(t.LuaLibraries={}));class a extends Error{}class s{constructor(Q,c){this.target=Q,this.options=c}}function B(O,Q){return new s(O,Q)}class E extends Number{}class u extends Array{}const l=1e3;class k{constructor(Q,c,J,G){this.closed=!1,this.lua=Q,this.typeExtensions=c,this.address=J,this.parent=G}newThread(){const Q=this.lua.lua_newthread(this.address);if(!Q)throw new Error("lua_newthread returned a null pointer");return new k(this.lua,this.typeExtensions,Q)}resetThread(){this.assertOk(this.lua.lua_resetthread(this.address))}loadString(Q,c){const J=this.lua.module.lengthBytesUTF8(Q),G=J+1,P=this.lua.module._malloc(G);try{this.lua.module.stringToUTF8(Q,P,G),this.assertOk(this.lua.luaL_loadbufferx(this.address,P,J,c??P,null))}finally{this.lua.module._free(P)}}loadFile(Q){this.assertOk(this.lua.luaL_loadfilex(this.address,Q,null))}resume(Q=0){const c=this.lua.module._malloc(r);try{return this.lua.module.setValue(c,0,"i32"),{result:this.lua.lua_resume(this.address,null,Q,c),resultCount:this.lua.module.getValue(c,"i32")}}finally{this.lua.module._free(c)}}getTop(){return this.lua.lua_gettop(this.address)}setTop(Q){this.lua.lua_settop(this.address,Q)}remove(Q){return this.lua.lua_remove(this.address,Q)}setField(Q,c,J){Q=this.lua.lua_absindex(this.address,Q),this.pushValue(J),this.lua.lua_setfield(this.address,Q,c)}async run(Q=0,c){const J=this.timeout;try{(c==null?void 0:c.timeout)!==void 0&&this.setTimeout(Date.now()+c.timeout);let G=this.resume(Q);for(;G.result===t.LuaReturn.Yield;){if(this.timeout&&Date.now()>this.timeout)throw G.resultCount>0&&this.pop(G.resultCount),new a("thread timeout exceeded");if(G.resultCount>0){const P=this.getValue(-1);this.pop(G.resultCount),P===Promise.resolve(P)?await P:await new Promise(X=>setImmediate(X))}else await new Promise(P=>setImmediate(P));G=this.resume(0)}return this.assertOk(G.result),this.getStackValues()}finally{(c==null?void 0:c.timeout)!==void 0&&this.setTimeout(J)}}runSync(Q=0){const c=this.getTop()-Q-1;return this.assertOk(this.lua.lua_pcallk(this.address,Q,g,0,0,null)),this.getStackValues(c)}pop(Q=1){this.lua.lua_pop(this.address,Q)}call(Q,...c){const J=this.lua.lua_getglobal(this.address,Q);if(J!==t.LuaType.Function)throw new Error(`A function of type '${J}' was pushed, expected is ${t.LuaType.Function}`);for(const P of c)this.pushValue(P);const G=this.getTop()-c.length-1;return this.lua.lua_callk(this.address,c.length,g,0,null),this.getStackValues(G)}getStackValues(Q=0){const c=this.getTop()-Q,J=new u(c);for(let G=0;GAA.extension.pushValue(this,G,c)))throw new Error(`The type '${typeof P}' is not supported by Lua`)}if(G.options.metatable&&this.setMetatable(-1,G.options.metatable),this.getTop()!==X+1)throw new Error(`pushValue expected stack size ${X+1}, got ${this.getTop()}`)}setMetatable(Q,c){if(Q=this.lua.lua_absindex(this.address,Q),this.lua.lua_getmetatable(this.address,Q)){this.pop(1);const J=this.getMetatableName(Q);throw new Error(`data already has associated metatable: ${J||"unknown name"}`)}this.pushValue(c),this.lua.lua_setmetatable(this.address,Q)}getMetatableName(Q){const c=this.lua.luaL_getmetafield(this.address,Q,"__name");if(c===t.LuaType.Nil)return;if(c!==t.LuaType.String){this.pop(1);return}const J=this.lua.lua_tolstring(this.address,-1,null);return this.pop(1),J}getValue(Q,c,J){Q=this.lua.lua_absindex(this.address,Q);const G=c??this.lua.lua_type(this.address,Q);switch(G){case t.LuaType.None:return;case t.LuaType.Nil:return null;case t.LuaType.Number:return this.lua.lua_tonumberx(this.address,Q,null);case t.LuaType.String:return this.lua.lua_tolstring(this.address,Q,null);case t.LuaType.Boolean:return!!this.lua.lua_toboolean(this.address,Q);case t.LuaType.Thread:return this.stateToThread(this.lua.lua_tothread(this.address,Q));default:{let P;(G===t.LuaType.Table||G===t.LuaType.Userdata)&&(P=this.getMetatableName(Q));const X=this.typeExtensions.find(AA=>AA.extension.isType(this,Q,G,P));return X?X.extension.getValue(this,Q,J):(console.warn(`The type '${this.lua.lua_typename(this.address,G)}' returned is not supported on JS`),new E(this.lua.lua_topointer(this.address,Q)))}}}close(){this.isClosed()||(this.hookFunctionPointer&&this.lua.module.removeFunction(this.hookFunctionPointer),this.closed=!0)}setTimeout(Q){Q&&Q>0?(this.hookFunctionPointer||(this.hookFunctionPointer=this.lua.module.addFunction(()=>{Date.now()>Q&&(this.pushValue(new a("thread timeout exceeded")),this.lua.lua_error(this.address))},"vii")),this.lua.lua_sethook(this.address,this.hookFunctionPointer,t.LuaEventMasks.Count,l),this.timeout=Q):this.hookFunctionPointer&&(this.hookFunctionPointer=void 0,this.timeout=void 0,this.lua.lua_sethook(this.address,null,0,0))}getTimeout(){return this.timeout}getPointer(Q){return new E(this.lua.lua_topointer(this.address,Q))}isClosed(){var Q;return!this.address||this.closed||!!(!((Q=this.parent)===null||Q===void 0)&&Q.isClosed())}indexToString(Q){const c=this.lua.luaL_tolstring(this.address,Q,null);return this.pop(),c}dumpStack(Q=console.log){const c=this.getTop();for(let J=1;J<=c;J++){const G=this.lua.lua_type(this.address,J),P=this.lua.lua_typename(this.address,G),X=this.getPointer(J),AA=this.indexToString(J),IA=this.getValue(J,G);Q(J,P,X,AA,IA)}}assertOk(Q){if(Q!==t.LuaReturn.Ok&&Q!==t.LuaReturn.Yield){const c=t.LuaReturn[Q],J=new Error(`Lua Error(${c}/${Q})`);if(this.getTop()>0)if(Q===t.LuaReturn.ErrorMem)J.message=this.lua.lua_tolstring(this.address,-1,null);else{const G=this.getValue(-1);G instanceof Error&&(J.stack=G.stack),J.message=this.indexToString(-1)}if(Q!==t.LuaReturn.ErrorMem)try{this.lua.luaL_traceback(this.address,this.address,null,1);const G=this.lua.lua_tolstring(this.address,-1,null);G.trim()!=="stack traceback:"&&(J.message=`${J.message} +${G}`),this.pop(1)}catch(G){console.warn("Failed to generate stack trace",G)}throw J}}getValueDecorations(Q){return Q instanceof s?Q:new s(Q,{})}}class p extends k{constructor(Q,c){if(c){const J={memoryUsed:0},G=Q.module.addFunction((P,X,AA,IA)=>{if(IA===0)return X&&(J.memoryUsed-=AA,Q.module._free(X)),0;const DA=X?IA-AA:IA,QA=J.memoryUsed+DA;if(IA>AA&&J.memoryMax&&QA>J.memoryMax)return 0;const kA=Q.module._realloc(X,IA);return kA&&(J.memoryUsed=QA),kA},"iiiii");super(Q,[],Q.lua_newstate(G,null)),this.memoryStats=J,this.allocatorFunctionPointer=G}else super(Q,[],Q.luaL_newstate());if(this.isClosed())throw new Error("Global state could not be created (probably due to lack of memory)")}close(){if(!this.isClosed()){super.close(),this.lua.lua_close(this.address),this.allocatorFunctionPointer&&this.lua.module.removeFunction(this.allocatorFunctionPointer);for(const Q of this.typeExtensions)Q.extension.close()}}registerTypeExtension(Q,c){this.typeExtensions.push({extension:c,priority:Q}),this.typeExtensions.sort((J,G)=>G.priority-J.priority)}loadLibrary(Q){switch(Q){case t.LuaLibraries.Base:this.lua.luaopen_base(this.address);break;case t.LuaLibraries.Coroutine:this.lua.luaopen_coroutine(this.address);break;case t.LuaLibraries.Table:this.lua.luaopen_table(this.address);break;case t.LuaLibraries.IO:this.lua.luaopen_io(this.address);break;case t.LuaLibraries.OS:this.lua.luaopen_os(this.address);break;case t.LuaLibraries.String:this.lua.luaopen_string(this.address);break;case t.LuaLibraries.UTF8:this.lua.luaopen_string(this.address);break;case t.LuaLibraries.Math:this.lua.luaopen_math(this.address);break;case t.LuaLibraries.Debug:this.lua.luaopen_debug(this.address);break;case t.LuaLibraries.Package:this.lua.luaopen_package(this.address);break}this.lua.lua_setglobal(this.address,Q)}get(Q){const c=this.lua.lua_getglobal(this.address,Q),J=this.getValue(-1,c);return this.pop(),J}set(Q,c){this.pushValue(c),this.lua.lua_setglobal(this.address,Q)}getTable(Q,c){const J=this.getTop(),G=this.lua.lua_getglobal(this.address,Q);try{if(G!==t.LuaType.Table)throw new TypeError(`Unexpected type in ${Q}. Expected ${t.LuaType[t.LuaType.Table]}. Got ${t.LuaType[G]}.`);c(J+1)}finally{this.getTop()!==J+1&&console.warn(`getTable: expected stack size ${J} got ${this.getTop()}`),this.setTop(J)}}getMemoryUsed(){return this.getMemoryStatsRef().memoryUsed}getMemoryMax(){return this.getMemoryStatsRef().memoryMax}setMemoryMax(Q){this.getMemoryStatsRef().memoryMax=Q}getMemoryStatsRef(){if(!this.memoryStats)throw new Error("Memory allocations is not being traced, please build engine with { traceAllocations: true }");return this.memoryStats}}class w{constructor(Q,c){this.thread=Q,this.name=c}isType(Q,c,J,G){return J===t.LuaType.Userdata&&G===this.name}getValue(Q,c,J){const G=Q.lua.luaL_testudata(Q.address,c,this.name);if(!G)throw new Error(`data does not have the expected metatable: ${this.name}`);const P=Q.lua.module.getValue(G,"*");return Q.lua.getRef(P)}pushValue(Q,c,J){const{target:G}=c,P=Q.lua.ref(G),X=Q.lua.lua_newuserdatauv(Q.address,r,0);if(Q.lua.module.setValue(X,P,"*"),t.LuaType.Nil===Q.lua.luaL_getmetatable(Q.address,this.name))throw Q.pop(2),new Error(`metatable not found: ${this.name}`);return Q.lua.lua_setmetatable(Q.address,-2),!0}}class y extends w{constructor(Q,c){if(super(Q,"js_error"),this.gcPointer=Q.lua.module.addFunction(J=>{const G=Q.lua.luaL_checkudata(J,1,this.name),P=Q.lua.module.getValue(G,"*");return Q.lua.unref(P),t.LuaReturn.Ok},"ii"),Q.lua.luaL_newmetatable(Q.address,this.name)){const J=Q.lua.lua_gettop(Q.address);Q.lua.lua_pushstring(Q.address,"protected metatable"),Q.lua.lua_setfield(Q.address,J,"__metatable"),Q.lua.lua_pushcclosure(Q.address,this.gcPointer,0),Q.lua.lua_setfield(Q.address,J,"__gc"),Q.pushValue((G,P)=>P==="message"?G.message:null),Q.lua.lua_setfield(Q.address,J,"__index"),Q.pushValue(G=>G.message),Q.lua.lua_setfield(Q.address,J,"__tostring")}Q.lua.lua_pop(Q.address,1),c&&Q.set("Error",{create:J=>{if(J&&typeof J!="string")throw new Error("message must be a string");return new Error(J)}})}pushValue(Q,c){return c.target instanceof Error?super.pushValue(Q,c):!1}close(){this.thread.lua.module.removeFunction(this.gcPointer)}}function H(O,Q){return new y(O,Q)}class m{constructor(Q){this.count=Q}}function U(O,Q){return new s(O,Q)}class Y extends w{constructor(Q){super(Q,"js_function"),this.functionRegistry=typeof FinalizationRegistry<"u"?new FinalizationRegistry(c=>{this.thread.isClosed()||this.thread.lua.luaL_unref(this.thread.address,o,c)}):void 0,this.functionRegistry||console.warn("FunctionTypeExtension: FinalizationRegistry not found. Memory leaks likely."),this.gcPointer=Q.lua.module.addFunction(c=>{Q.lua.luaL_checkudata(c,1,this.name);const J=Q.lua.luaL_checkudata(c,1,this.name),G=Q.lua.module.getValue(J,"*");return Q.lua.unref(G),t.LuaReturn.Ok},"ii"),Q.lua.luaL_newmetatable(Q.address,this.name)&&(Q.lua.lua_pushstring(Q.address,"__gc"),Q.lua.lua_pushcclosure(Q.address,this.gcPointer,0),Q.lua.lua_settable(Q.address,-3),Q.lua.lua_pushstring(Q.address,"__metatable"),Q.lua.lua_pushstring(Q.address,"protected metatable"),Q.lua.lua_settable(Q.address,-3)),Q.lua.lua_pop(Q.address,1),this.functionWrapper=Q.lua.module.addFunction(c=>{const J=Q.stateToThread(c),G=Q.lua.luaL_checkudata(c,Q.lua.lua_upvalueindex(1),this.name),P=Q.lua.module.getValue(G,"*"),{target:X,options:AA}=Q.lua.getRef(P),IA=J.getTop(),DA=[];if(AA.receiveThread&&DA.push(J),AA.receiveArgsQuantity)DA.push(IA);else for(let QA=1;QA<=IA;QA++){const kA=J.getValue(QA);(QA!==1||!(AA!=null&&AA.self)||kA!==AA.self)&&DA.push(kA)}try{const QA=X.apply(AA==null?void 0:AA.self,DA);if(QA===void 0)return 0;if(QA instanceof m)return QA.count;if(QA instanceof u){for(const kA of QA)J.pushValue(kA);return QA.length}else return J.pushValue(QA),1}catch(QA){if(QA===1/0)throw QA;return J.pushValue(QA),J.lua.lua_error(J.address)}},"ii")}close(){this.thread.lua.module.removeFunction(this.gcPointer),this.thread.lua.module.removeFunction(this.functionWrapper)}isType(Q,c,J){return J===t.LuaType.Function}pushValue(Q,c){if(typeof c.target!="function")return!1;const J=Q.lua.ref(c),G=Q.lua.lua_newuserdatauv(Q.address,r,0);if(Q.lua.module.setValue(G,J,"*"),t.LuaType.Nil===Q.lua.luaL_getmetatable(Q.address,this.name))throw Q.pop(1),Q.lua.unref(J),new Error(`metatable not found: ${this.name}`);return Q.lua.lua_setmetatable(Q.address,-2),Q.lua.lua_pushcclosure(Q.address,this.functionWrapper,1),!0}getValue(Q,c){var J;Q.lua.lua_pushvalue(Q.address,c);const G=Q.lua.luaL_ref(Q.address,o),P=(...X)=>{if(Q.isClosed()){console.warn("Tried to call a function after closing lua state");return}const AA=Q.lua.lua_rawgeti(Q.address,o,G);if(AA!==t.LuaType.Function){const QA=Q.lua.luaL_getmetafield(Q.address,-1,"__call");if(Q.pop(),QA!==t.LuaType.Function)throw new Error(`A value of type '${AA}' was pushed but it is not callable`)}for(const QA of X)Q.pushValue(QA);const IA=Q.lua.lua_pcallk(Q.address,X.length,1,0,0,null);if(IA===t.LuaReturn.Yield)throw new Error("cannot yield in callbacks from javascript");Q.assertOk(IA);const DA=Q.getValue(-1);return Q.pop(),DA};return(J=this.functionRegistry)===null||J===void 0||J.register(P,G),P}}function d(O){return new Y(O)}class F extends w{constructor(Q,c){if(super(Q,"js_promise"),this.gcPointer=Q.lua.module.addFunction(J=>{const G=Q.lua.luaL_checkudata(J,1,this.name),P=Q.lua.module.getValue(G,"*");return Q.lua.unref(P),t.LuaReturn.Ok},"ii"),Q.lua.luaL_newmetatable(Q.address,this.name)){const J=Q.lua.lua_gettop(Q.address);Q.lua.lua_pushstring(Q.address,"protected metatable"),Q.lua.lua_setfield(Q.address,J,"__metatable"),Q.lua.lua_pushcclosure(Q.address,this.gcPointer,0),Q.lua.lua_setfield(Q.address,J,"__gc");const G=P=>{if(Promise.resolve(P)!==P&&typeof P.then!="function")throw new Error("promise method called without self instance");return!0};Q.pushValue({next:(P,...X)=>G(P)&&P.then(...X),catch:(P,...X)=>G(P)&&P.catch(...X),finally:(P,...X)=>G(P)&&P.finally(...X),await:U((P,X)=>{if(G(X),P.address===Q.address)throw new Error("cannot await in the main thread");let AA;const IA=X.then(QA=>{AA={status:"fulfilled",value:QA}}).catch(QA=>{AA={status:"rejected",value:QA}}),DA=this.thread.lua.module.addFunction(QA=>{if(!AA)return Q.lua.lua_yieldk(P.address,0,0,DA);this.thread.lua.module.removeFunction(DA);const kA=Q.stateToThread(QA);if(AA.status==="rejected")return kA.pushValue(AA.value||new Error("promise rejected with no error")),this.thread.lua.lua_error(QA);if(AA.value instanceof m)return AA.value.count;if(AA.value instanceof u){for(const Pe of AA.value)kA.pushValue(Pe);return AA.value.length}else return kA.pushValue(AA.value),1},"iiii");return P.pushValue(IA),new m(Q.lua.lua_yieldk(P.address,1,0,DA))},{receiveThread:!0})}),Q.lua.lua_setfield(Q.address,J,"__index"),Q.pushValue((P,X)=>P===X),Q.lua.lua_setfield(Q.address,J,"__eq")}Q.lua.lua_pop(Q.address,1),c&&Q.set("Promise",{create:J=>new Promise(J),all:J=>{if(!Array.isArray(J))throw new Error("argument must be an array of promises");return Promise.all(J.map(G=>Promise.resolve(G)))},resolve:J=>Promise.resolve(J)})}close(){this.thread.lua.module.removeFunction(this.gcPointer)}pushValue(Q,c){return Promise.resolve(c.target)!==c.target&&typeof c.target.then!="function"?!1:super.pushValue(Q,c)}}function L(O,Q){return new F(O,Q)}function N(O,Q){return new s(O,Q||{})}class V extends w{constructor(Q){if(super(Q,"js_proxy"),this.gcPointer=Q.lua.module.addFunction(c=>{const J=Q.lua.luaL_checkudata(c,1,this.name),G=Q.lua.module.getValue(J,"*");return Q.lua.unref(G),t.LuaReturn.Ok},"ii"),Q.lua.luaL_newmetatable(Q.address,this.name)){const c=Q.lua.lua_gettop(Q.address);Q.lua.lua_pushstring(Q.address,"protected metatable"),Q.lua.lua_setfield(Q.address,c,"__metatable"),Q.lua.lua_pushcclosure(Q.address,this.gcPointer,0),Q.lua.lua_setfield(Q.address,c,"__gc"),Q.pushValue((J,G)=>{switch(typeof G){case"number":G=G-1;case"string":break;default:throw new Error("Only strings or numbers can index js objects")}const P=J[G];return typeof P=="function"?U(P,{self:J}):P}),Q.lua.lua_setfield(Q.address,c,"__index"),Q.pushValue((J,G,P)=>{switch(typeof G){case"number":G=G-1;case"string":break;default:throw new Error("Only strings or numbers can index js objects")}J[G]=P}),Q.lua.lua_setfield(Q.address,c,"__newindex"),Q.pushValue(J=>{var G,P;return(P=(G=J.toString)===null||G===void 0?void 0:G.call(J))!==null&&P!==void 0?P:typeof J}),Q.lua.lua_setfield(Q.address,c,"__tostring"),Q.pushValue(J=>J.length||0),Q.lua.lua_setfield(Q.address,c,"__len"),Q.pushValue(J=>{const G=Object.getOwnPropertyNames(J);let P=0;return u.of(()=>{const X=u.of(G[P],J[G[P]]);return P++,X},J,null)}),Q.lua.lua_setfield(Q.address,c,"__pairs"),Q.pushValue((J,G)=>J===G),Q.lua.lua_setfield(Q.address,c,"__eq"),Q.pushValue((J,...G)=>(G[0]===J&&G.shift(),J(...G))),Q.lua.lua_setfield(Q.address,c,"__call")}Q.lua.lua_pop(Q.address,1)}isType(Q,c,J,G){return J===t.LuaType.Userdata&&G===this.name}getValue(Q,c){const J=Q.lua.lua_touserdata(Q.address,c),G=Q.lua.module.getValue(J,"*");return Q.lua.getRef(G)}pushValue(Q,c){var J;const{target:G,options:P}=c;if(P.proxy===void 0){if(G==null||typeof G!="object"&&!(typeof G=="function"&&((J=G.prototype)===null||J===void 0?void 0:J.constructor)===G&&G.toString().startsWith("class "))||Promise.resolve(G)===G||typeof G.then=="function")return!1}else if(P.proxy===!1)return!1;return P.metatable&&!(P.metatable instanceof s)?(c.options.metatable=N(P.metatable,{proxy:!1}),!1):super.pushValue(Q,c)}close(){this.thread.lua.module.removeFunction(this.gcPointer)}}function M(O){return new V(O)}class v extends w{constructor(Q){super(Q,"js_table")}close(){}isType(Q,c,J){return J===t.LuaType.Table}getValue(Q,c,J){const G=J||new Map,P=Q.lua.lua_topointer(Q.address,c);let X=G.get(P);if(!X){const AA=this.readTableKeys(Q,c);X=AA.length>0&&AA.every((IA,DA)=>IA===String(DA+1))?[]:{},G.set(P,X),this.readTableValues(Q,c,G,X)}return X}pushValue(Q,{target:c},J){if(typeof c!="object"||c===null)return!1;const G=J||new Map,P=G.get(c);if(P!==void 0)return Q.lua.lua_rawgeti(Q.address,o,P),!0;try{const X=Q.getTop()+1,AA=(IA,DA)=>{Q.lua.lua_createtable(Q.address,IA,DA);const QA=Q.lua.luaL_ref(Q.address,o);G.set(c,QA),Q.lua.lua_rawgeti(Q.address,o,QA)};if(Array.isArray(c)){AA(c.length,0);for(let IA=0;IA{const J=Q.lua.luaL_checkudata(c,1,this.name),G=Q.lua.module.getValue(J,"*");return Q.lua.unref(G),t.LuaReturn.Ok},"ii"),Q.lua.luaL_newmetatable(Q.address,this.name)){const c=Q.lua.lua_gettop(Q.address);Q.lua.lua_pushstring(Q.address,"protected metatable"),Q.lua.lua_setfield(Q.address,c,"__metatable"),Q.lua.lua_pushcclosure(Q.address,this.gcPointer,0),Q.lua.lua_setfield(Q.address,c,"__gc")}Q.lua.lua_pop(Q.address,1)}isType(Q,c,J,G){return J===t.LuaType.Userdata&&G===this.name}getValue(Q,c){const J=Q.lua.lua_touserdata(Q.address,c),G=Q.lua.module.getValue(J,"*");return Q.lua.getRef(G)}pushValue(Q,c){return c.options.reference?super.pushValue(Q,c):!1}close(){this.thread.lua.module.removeFunction(this.gcPointer)}}function CA(O){return new x(O)}class pA{constructor(Q,{openStandardLibs:c=!0,injectObjects:J=!1,enableProxy:G=!0,traceAllocations:P=!1}={}){this.cmodule=Q,this.global=new p(this.cmodule,P),this.global.registerTypeExtension(0,$(this.global)),this.global.registerTypeExtension(0,d(this.global)),this.global.registerTypeExtension(1,L(this.global,J)),G?this.global.registerTypeExtension(3,M(this.global)):this.global.registerTypeExtension(1,H(this.global,J)),this.global.registerTypeExtension(4,CA(this.global)),c&&this.cmodule.luaL_openlibs(this.global.address)}doString(Q){return this.callByteCode(c=>c.loadString(Q))}doFile(Q){return this.callByteCode(c=>c.loadFile(Q))}doStringSync(Q){return this.global.loadString(Q),this.global.runSync()[0]}doFileSync(Q){return this.global.loadFile(Q),this.global.runSync()[0]}async callByteCode(Q){const c=this.global.newThread(),J=this.global.getTop();try{Q(c);const G=await c.run(0);return G.length>0&&this.cmodule.lua_xmove(c.address,this.global.address,G.length),G[0]}finally{this.global.remove(J)}}}var LA=(()=>{var O=typeof document>"u"?"http://example.com/":n&&n.src||new URL("index.js",document.baseURI).href;return async function(Q={}){var c=Q,J,G;c.ready=new Promise((I,C)=>{J=I,G=C});var P=Object.assign({},c),X="./this.program",AA=(I,C)=>{throw C},IA=typeof window=="object",DA=typeof importScripts=="function",QA=!1,kA="",Pe,nt,Ve;(IA||DA)&&(DA?kA=self.location.href:typeof document<"u"&&document.currentScript&&(kA=document.currentScript.src),O&&(kA=O),kA.indexOf("blob:")!==0?kA=kA.substr(0,kA.replace(/[?#].*/,"").lastIndexOf("/")+1):kA="",Pe=I=>{var C=new XMLHttpRequest;return C.open("GET",I,!1),C.send(null),C.responseText},DA&&(Ve=I=>{var C=new XMLHttpRequest;return C.open("GET",I,!1),C.responseType="arraybuffer",C.send(null),new Uint8Array(C.response)}),nt=(I,C,h)=>{var D=new XMLHttpRequest;D.open("GET",I,!0),D.responseType="arraybuffer",D.onload=()=>{D.status==200||D.status==0&&D.response?C(D.response):h()},D.onerror=h,D.send(null)});var je=console.log.bind(console),Qe=console.error.bind(console);Object.assign(c,P),P=null,typeof WebAssembly!="object"&&JA("no native wasm support detected");var rt,We=!1,UA,VA,Je,nA,vA,Ct,S;function K(){var I=rt.buffer;c.HEAP8=UA=new Int8Array(I),c.HEAP16=Je=new Int16Array(I),c.HEAPU8=VA=new Uint8Array(I),c.HEAPU16=new Uint16Array(I),c.HEAP32=nA=new Int32Array(I),c.HEAPU32=vA=new Uint32Array(I),c.HEAPF32=Ct=new Float32Array(I),c.HEAPF64=S=new Float64Array(I)}var W=[],rA=[],gA=[],mA=0,KA=null;function xA(){if(mA--,mA==0&&KA){var I=KA;KA=null,I()}}function JA(I){throw I="Aborted("+I+")",Qe(I),We=!0,I=new WebAssembly.RuntimeError(I+". Build with -sASSERTIONS for more info."),G(I),I}var re=I=>I.startsWith("data:application/octet-stream;base64,"),lA=I=>I.startsWith("file://"),ge;if(c.locateFile){if(ge="glue.wasm",!re(ge)){var YA=ge;ge=c.locateFile?c.locateFile(YA,kA):kA+YA}}else ge=new URL("glue.wasm",typeof document>"u"?"http://example.com/":n&&n.src||new URL("index.js",document.baseURI).href).href;function No(I){if(Ve)return Ve(I);throw"both async and sync fetching of the wasm failed"}function nB(I){if(IA||DA){if(typeof fetch=="function"&&!lA(I))return fetch(I,{credentials:"same-origin"}).then(C=>{if(!C.ok)throw"failed to load wasm binary file at '"+I+"'";return C.arrayBuffer()}).catch(()=>No(I));if(nt)return new Promise((C,h)=>{nt(I,D=>C(new Uint8Array(D)),h)})}return Promise.resolve().then(()=>No(I))}function Mo(I,C,h){return nB(I).then(D=>WebAssembly.instantiate(D,C)).then(D=>D).then(h,D=>{Qe(`failed to asynchronously prepare wasm: ${D}`),JA(D)})}function rB(I,C){var h=ge;return typeof WebAssembly.instantiateStreaming!="function"||re(h)||lA(h)||QA||typeof fetch!="function"?Mo(h,I,C):fetch(h,{credentials:"same-origin"}).then(D=>WebAssembly.instantiateStreaming(D,I).then(C,function(R){return Qe(`wasm streaming compile failed: ${R}`),Qe("falling back to ArrayBuffer instantiation"),Mo(h,I,C)}))}var ce,_r;function gB(I){this.name="ExitStatus",this.message=`Program terminated with exit(${I})`,this.status=I}var Go=(I,C)=>{for(var h=0,D=I.length-1;0<=D;D--){var R=I[D];R==="."?I.splice(D,1):R===".."?(I.splice(D,1),h++):h&&(I.splice(D,1),h--)}if(C)for(;h;h--)I.unshift("..");return I},ze=I=>{var C=I.charAt(0)==="/",h=I.substr(-1)==="/";return(I=Go(I.split("/").filter(D=>!!D),!C).join("/"))||C||(I="."),I&&h&&(I+="/"),(C?"/":"")+I},Or=I=>{var C=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(I).slice(1);return I=C[0],C=C[1],!I&&!C?".":(C&&(C=C.substr(0,C.length-1)),I+C)},Qt=I=>{if(I==="/")return"/";I=ze(I),I=I.replace(/\/$/,"");var C=I.lastIndexOf("/");return C===-1?I:I.substr(C+1)},iB=(I,C)=>ze(I+"/"+C),oB=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return I=>crypto.getRandomValues(I);JA("initRandomDevice")},Uo=I=>(Uo=oB())(I);function Bt(){for(var I="",C=!1,h=arguments.length-1;-1<=h&&!C;h--){if(C=0<=h?arguments[h]:b.cwd(),typeof C!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!C)return"";I=C+"/"+I,C=C.charAt(0)==="/"}return I=Go(I.split("/").filter(D=>!!D),!C).join("/"),(C?"/":"")+I||"."}var xo=(I,C)=>{function h(j){for(var iA=0;iAuA?[]:j.slice(iA,uA-iA+1)}I=Bt(I).substr(1),C=Bt(C).substr(1),I=h(I.split("/")),C=h(C.split("/"));for(var D=Math.min(I.length,C.length),R=D,T=0;T{for(var h=C+NaN,D=C;I[D]&&!(D>=h);)++D;if(16R?h+=String.fromCharCode(R):(R-=65536,h+=String.fromCharCode(55296|R>>10,56320|R&1023))}}else h+=String.fromCharCode(R)}return h},Pr=[],Nt=I=>{for(var C=0,h=0;h=D?C++:2047>=D?C+=2:55296<=D&&57343>=D?(C+=4,++h):C+=3}return C},Mt=(I,C,h,D)=>{if(!(0=j){var iA=I.charCodeAt(++T);j=65536+((j&1023)<<10)|iA&1023}if(127>=j){if(h>=D)break;C[h++]=j}else{if(2047>=j){if(h+1>=D)break;C[h++]=192|j>>6}else{if(65535>=j){if(h+2>=D)break;C[h++]=224|j>>12}else{if(h+3>=D)break;C[h++]=240|j>>18,C[h++]=128|j>>12&63}C[h++]=128|j>>6&63}C[h++]=128|j&63}}return C[h]=0,h-R};function Jn(I,C){var h=Array(Nt(I)+1);return I=Mt(I,h,0,h.length),C&&(h.length=I),h}var Ho=[];function vo(I,C){Ho[I]={input:[],output:[],Rc:C},jr(I,IB)}var IB={open(I){var C=Ho[I.node.rdev];if(!C)throw new b.Ac(43);I.tty=C,I.seekable=!1},close(I){I.tty.Rc.fsync(I.tty)},fsync(I){I.tty.Rc.fsync(I.tty)},read(I,C,h,D){if(!I.tty||!I.tty.Rc.xd)throw new b.Ac(60);for(var R=0,T=0;T=C||(C=Math.max(C,h*(1048576>h?2:1.125)>>>0),h!=0&&(C=Math.max(C,256)),h=I.Dc,I.Dc=new Uint8Array(C),0=I.node.Ec)return 0;if(I=Math.min(I.node.Ec-R,D),8C)throw new b.Ac(28);return C},Yc(I,C,h){Ko(I.node,C+h),I.node.Ec=Math.max(I.node.Ec,C+h)},Xc(I,C,h,D,R){if(!b.isFile(I.node.mode))throw new b.Ac(43);if(I=I.node.Dc,R&2||I.buffer!==UA.buffer){if((0{var D=`al ${I}`;nt(I,R=>{R||JA(`Loading data file "${I}" failed (no arrayBuffer).`),C(new Uint8Array(R)),D&&xA()},()=>{if(h)h();else throw`Loading data file "${I}" failed.`}),D&&mA++},QB=[],BB=(I,C,h,D)=>{typeof Browser<"u"&&Browser.Zc();var R=!1;return QB.forEach(T=>{!R&&T.canHandle(C)&&(T.handle(I,C,h,D),R=!0)}),R},Vr=(I,C)=>{var h=0;return I&&(h|=365),C&&(h|=146),h};function jr(I,C){b.vd[I]={Cc:C}}function Ae(I){return(I&61440)===16384}function Ze(I,C){var h;if(h=(h=lt(I,"x"))?h:I.Bc.lookup?0:2)throw new b.Ac(h,I);for(h=b.Mc[Wr(I.id,C)];h;h=h.Uc){var D=h.name;if(h.parent.id===I.id&&D===C)return h}return b.lookup(I,C)}function qA(I,C={}){if(I=Bt(I),!I)return{path:"",node:null};if(C=Object.assign({gd:!0,qd:0},C),8!!j);for(var h=b.root,D="/",R=0;R>>0)%b.Mc.length}function Yo(I){var C=Wr(I.parent.id,I.name);I.Uc=b.Mc[C],b.Mc[C]=I}function Hn(I){var C=Wr(I.parent.id,I.name);if(b.Mc[C]===I)b.Mc[C]=I.Uc;else for(C=b.Mc[C];C;){if(C.Uc===I){C.Uc=I.Uc;break}C=C.Uc}}function qo(I){var C=["r","w","rw"][I&3];return I&512&&(C+="w"),C}function lt(I,C){if(b.zd)return 0;if(!C.includes("r")||I.mode&292){if(C.includes("w")&&!(I.mode&146)||C.includes("x")&&!(I.mode&73))return 2}else return 2;return 0}function zr(I,C){try{return Ze(I,C),20}catch{}return lt(I,"wx")}function vn(I,C,h){try{var D=Ze(I,C)}catch(R){return R.Hc}if(I=lt(I,"wx"))return I;if(h){if(!Ae(D.mode))return 54;if(b.Ad(D)||Et(D)===b.cwd())return 10}else if(Ae(D.mode))return 31;return 0}function EB(){for(var I=0;I<=b.Fd;I++)if(!b.streams[I])return I;throw new b.Ac(33)}function he(I){if(I=b.wd(I),!I)throw new b.Ac(8);return I}function Zr(I,C=-1){return b.bd||(b.bd=function(){this.Pc={}},b.bd.prototype={},Object.defineProperties(b.bd.prototype,{object:{get(){return this.node},set(h){this.node=h}},flags:{get(){return this.Pc.flags},set(h){this.Pc.flags=h}},position:{get(){return this.Pc.position},set(h){this.Pc.position=h}}})),I=Object.assign(new b.bd,I),C==-1&&(C=EB()),I.fd=C,b.streams[C]=I}function To(I){var C=[];for(I=[I];I.length;){var h=I.pop();C.push(h),I.push.apply(I,h.$c)}return C}function Kn(I,C,h){return typeof h>"u"&&(h=C,C=438),b.Qc(I,C|8192,h)}function _o(){b.Ac||(b.Ac=function(I,C){this.name="ErrnoError",this.node=C,this.Ud=function(h){this.Hc=h},this.Ud(I),this.message="FS error"},b.Ac.prototype=Error(),b.Ac.prototype.constructor=b.Ac,[44].forEach(I=>{b.hd[I]=new b.Ac(I),b.hd[I].stack=""}))}function lB(I,C,h,D){return I=typeof I=="string"?I:Et(I),C=ze(I+"/"+C),b.create(C,Vr(h,D))}function Xr(I){if(!(I.Rd||I.Sd||I.link||I.Dc)){if(typeof XMLHttpRequest<"u")throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(Pe)try{I.Dc=Jn(Pe(I.url),!0),I.Ec=I.Dc.length}catch{throw new b.Ac(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")}}var b={root:null,$c:[],vd:{},streams:[],Td:1,Mc:null,ud:"/",kd:!1,zd:!0,Ac:null,hd:{},Md:null,cd:0,createNode(I,C,h,D){return I=new b.Ed(I,C,h,D),Yo(I),I},Ad(I){return I===I.parent},isFile(I){return(I&61440)===32768},isFIFO(I){return(I&61440)===4096},isSocket(I){return(I&49152)===49152},Fd:4096,wd:I=>b.streams[I],Kd:{open(I){I.Cc=b.Nd(I.node.rdev).Cc,I.Cc.open&&I.Cc.open(I)},Lc(){throw new b.Ac(70)}},nd:I=>I>>8,le:I=>I&255,Tc:(I,C)=>I<<8|C,Nd:I=>b.vd[I],Cd(I,C){function h(j){return b.cd--,C(j)}function D(j){if(j){if(!D.Ld)return D.Ld=!0,h(j)}else++T>=R.length&&h(null)}typeof I=="function"&&(C=I,I=!1),b.cd++,1{if(!j.type.Cd)return D(null);j.type.Cd(j,I,D)})},Fc(I,C,h){var D=h==="/",R=!h;if(D&&b.root)throw new b.Ac(10);if(!D&&!R){var T=qA(h,{gd:!1});if(h=T.path,T=T.node,T.Ic)throw new b.Ac(10);if(!Ae(T.mode))throw new b.Ac(54)}return C={type:I,oe:C,Bd:h,$c:[]},I=I.Fc(C),I.Fc=C,C.root=I,D?b.root=I:T&&(T.Ic=C,T.Fc&&T.Fc.$c.push(C)),I},ue(I){if(I=qA(I,{gd:!1}),!I.node.Ic)throw new b.Ac(28);I=I.node;var C=I.Ic,h=To(C);Object.keys(b.Mc).forEach(D=>{for(D=b.Mc[D];D;){var R=D.Uc;h.includes(D.Fc)&&Hn(D),D=R}}),I.Ic=null,I.Fc.$c.splice(I.Fc.$c.indexOf(C),1)},lookup(I,C){return I.Bc.lookup(I,C)},Qc(I,C,h){var D=qA(I,{parent:!0}).node;if(I=Qt(I),!I||I==="."||I==="..")throw new b.Ac(28);var R=zr(D,I);if(R)throw new b.Ac(R);if(!D.Bc.Qc)throw new b.Ac(63);return D.Bc.Qc(D,I,C,h)},create(I,C){return b.Qc(I,(C!==void 0?C:438)&4095|32768,0)},mkdir(I,C){return b.Qc(I,(C!==void 0?C:511)&1023|16384,0)},me(I,C){I=I.split("/");for(var h="",D=0;DC)throw new b.Ac(28);if(I=typeof I=="string"?qA(I,{Jc:!0}).node:I,!I.Bc.Gc)throw new b.Ac(63);if(Ae(I.mode))throw new b.Ac(31);if(!b.isFile(I.mode))throw new b.Ac(28);var h=lt(I,"w");if(h)throw new b.Ac(h);I.Bc.Gc(I,{size:C,timestamp:Date.now()})},je(I,C){if(I=he(I),!(I.flags&2097155))throw new b.Ac(28);b.truncate(I.node,C)},ve(I,C,h){I=qA(I,{Jc:!0}).node,I.Bc.Gc(I,{timestamp:Math.max(C,h)})},open(I,C,h){if(I==="")throw new b.Ac(44);if(typeof C=="string"){var D={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[C];if(typeof D>"u")throw Error(`Unknown file open mode: ${C}`);C=D}if(h=C&64?(typeof h>"u"?438:h)&4095|32768:0,typeof I=="object")var R=I;else{I=ze(I);try{R=qA(I,{Jc:!(C&131072)}).node}catch{}}if(D=!1,C&64)if(R){if(C&128)throw new b.Ac(20)}else R=b.Qc(I,h,0),D=!0;if(!R)throw new b.Ac(44);if((R.mode&61440)===8192&&(C&=-513),C&65536&&!Ae(R.mode))throw new b.Ac(54);if(!D&&(h=R?(R.mode&61440)===40960?32:Ae(R.mode)&&(qo(C)!=="r"||C&512)?31:lt(R,qo(C)):44))throw new b.Ac(h);return C&512&&!D&&b.truncate(R,0),C&=-131713,R=Zr({node:R,path:Et(R),flags:C,seekable:!0,position:0,Cc:R.Cc,Zd:[],error:!1}),R.Cc.open&&R.Cc.open(R),!c.logReadFiles||C&1||(b.pd||(b.pd={}),I in b.pd||(b.pd[I]=1)),R},close(I){if(I.fd===null)throw new b.Ac(8);I.jd&&(I.jd=null);try{I.Cc.close&&I.Cc.close(I)}catch(C){throw C}finally{b.streams[I.fd]=null}I.fd=null},Lc(I,C,h){if(I.fd===null)throw new b.Ac(8);if(!I.seekable||!I.Cc.Lc)throw new b.Ac(70);if(h!=0&&h!=1&&h!=2)throw new b.Ac(28);return I.position=I.Cc.Lc(I,C,h),I.Zd=[],I.position},read(I,C,h,D,R){if(0>D||0>R)throw new b.Ac(28);if(I.fd===null)throw new b.Ac(8);if((I.flags&2097155)===1)throw new b.Ac(8);if(Ae(I.node.mode))throw new b.Ac(31);if(!I.Cc.read)throw new b.Ac(28);var T=typeof R<"u";if(!T)R=I.position;else if(!I.seekable)throw new b.Ac(70);return C=I.Cc.read(I,C,h,D,R),T||(I.position+=C),C},write(I,C,h,D,R,T){if(0>D||0>R)throw new b.Ac(28);if(I.fd===null)throw new b.Ac(8);if(!(I.flags&2097155))throw new b.Ac(8);if(Ae(I.node.mode))throw new b.Ac(31);if(!I.Cc.write)throw new b.Ac(28);I.seekable&&I.flags&1024&&b.Lc(I,0,2);var j=typeof R<"u";if(!j)R=I.position;else if(!I.seekable)throw new b.Ac(70);return C=I.Cc.write(I,C,h,D,R,T),j||(I.position+=C),C},Yc(I,C,h){if(I.fd===null)throw new b.Ac(8);if(0>C||0>=h)throw new b.Ac(28);if(!(I.flags&2097155))throw new b.Ac(8);if(!b.isFile(I.node.mode)&&!Ae(I.node.mode))throw new b.Ac(43);if(!I.Cc.Yc)throw new b.Ac(138);I.Cc.Yc(I,C,h)},Xc(I,C,h,D,R){if(D&2&&!(R&2)&&(I.flags&2097155)!==2)throw new b.Ac(2);if((I.flags&2097155)===1)throw new b.Ac(2);if(!I.Cc.Xc)throw new b.Ac(43);return I.Cc.Xc(I,C,h,D,R)},ad(I,C,h,D,R){return I.Cc.ad?I.Cc.ad(I,C,h,D,R):0},ne:()=>0,ld(I,C,h){if(!I.Cc.ld)throw new b.Ac(59);return I.Cc.ld(I,C,h)},readFile(I,C={}){if(C.flags=C.flags||0,C.encoding=C.encoding||"binary",C.encoding!=="utf8"&&C.encoding!=="binary")throw Error(`Invalid encoding type "${C.encoding}"`);var h,D=b.open(I,C.flags);I=b.stat(I).size;var R=new Uint8Array(I);return b.read(D,R,0,I,0),C.encoding==="utf8"?h=ie(R,0):C.encoding==="binary"&&(h=R),b.close(D),h},writeFile(I,C,h={}){if(h.flags=h.flags||577,I=b.open(I,h.flags,h.mode),typeof C=="string"){var D=new Uint8Array(Nt(C)+1);C=Mt(C,D,0,D.length),b.write(I,D,0,C,void 0,h.Jd)}else if(ArrayBuffer.isView(C))b.write(I,C,0,C.byteLength,void 0,h.Jd);else throw Error("Unsupported data type");b.close(I)},cwd:()=>b.ud,chdir(I){if(I=qA(I,{Jc:!0}),I.node===null)throw new b.Ac(44);if(!Ae(I.node.mode))throw new b.Ac(54);var C=lt(I.node,"x");if(C)throw new b.Ac(C);b.ud=I.path},Zc(I,C,h){b.Zc.kd=!0,_o(),c.stdin=I||c.stdin,c.stdout=C||c.stdout,c.stderr=h||c.stderr,c.stdin?b.Sc("/dev","stdin",c.stdin):b.symlink("/dev/tty","/dev/stdin"),c.stdout?b.Sc("/dev","stdout",null,c.stdout):b.symlink("/dev/tty","/dev/stdout"),c.stderr?b.Sc("/dev","stderr",null,c.stderr):b.symlink("/dev/tty1","/dev/stderr"),b.open("/dev/stdin",0),b.open("/dev/stdout",1),b.open("/dev/stderr",1)},qe(){b.Zc.kd=!1;for(var I=0;Ithis.length-1||0>eA)){var dA=eA%this.chunkSize;return this.yd(eA/this.chunkSize|0)[dA]}},T.prototype.Dd=function(eA){this.yd=eA},T.prototype.sd=function(){var eA=new XMLHttpRequest;if(eA.open("HEAD",h,!1),eA.send(null),!(200<=eA.status&&300>eA.status||eA.status===304))throw Error("Couldn't load "+h+". Status: "+eA.status);var dA=Number(eA.getResponseHeader("Content-length")),ee,_=(ee=eA.getResponseHeader("Accept-Ranges"))&&ee==="bytes";eA=(ee=eA.getResponseHeader("Content-Encoding"))&&ee==="gzip";var sA=1048576;_||(sA=dA);var aA=this;aA.Dd(TA=>{var oe=TA*sA,Re=(TA+1)*sA-1;if(Re=Math.min(Re,dA-1),typeof aA.Pc[TA]>"u"){var og=aA.Pc;if(oe>Re)throw Error("invalid range ("+oe+", "+Re+") or no bytes requested!");if(Re>dA-1)throw Error("only "+dA+" bytes available! programmer error!");var Be=new XMLHttpRequest;if(Be.open("GET",h,!1),dA!==sA&&Be.setRequestHeader("Range","bytes="+oe+"-"+Re),Be.responseType="arraybuffer",Be.overrideMimeType&&Be.overrideMimeType("text/plain; charset=x-user-defined"),Be.send(null),!(200<=Be.status&&300>Be.status||Be.status===304))throw Error("Couldn't load "+h+". Status: "+Be.status);oe=Be.response!==void 0?new Uint8Array(Be.response||[]):Jn(Be.responseText||"",!0),og[TA]=oe}if(typeof aA.Pc[TA]>"u")throw Error("doXHR failed!");return aA.Pc[TA]}),(eA||!dA)&&(sA=dA=1,sA=dA=this.yd(0).length,je("LazyFiles on gzip forces download of the whole file when length is accessed")),this.Hd=dA,this.Gd=sA,this.md=!0},typeof XMLHttpRequest<"u"){if(!DA)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var j=new T;Object.defineProperties(j,{length:{get:function(){return this.md||this.sd(),this.Hd}},chunkSize:{get:function(){return this.md||this.sd(),this.Gd}}});var iA=void 0}else iA=h,j=void 0;var uA=lB(I,C,D,R);j?uA.Dc=j:iA&&(uA.Dc=null,uA.url=iA),Object.defineProperties(uA,{Ec:{get:function(){return this.Dc.length}}});var oA={};return Object.keys(uA.Cc).forEach(eA=>{var dA=uA.Cc[eA];oA[eA]=function(){return Xr(uA),dA.apply(null,arguments)}}),oA.read=(eA,dA,ee,_,sA)=>{if(Xr(uA),eA=eA.node.Dc,sA>=eA.length)dA=0;else{if(_=Math.min(eA.length-sA,_),eA.slice)for(var aA=0;aA<_;aA++)dA[ee+aA]=eA[sA+aA];else for(aA=0;aA<_;aA++)dA[ee+aA]=eA.get(sA+aA);dA=_}return dA},oA.Xc=()=>{throw Xr(uA),JA(),new b.Ac(48)},uA.Cc=oA,uA}};function an(I,C){if(C.charAt(0)==="/")return C;if(I=I===-100?b.cwd():he(I).path,C.length==0)throw new b.Ac(44);return ze(I+"/"+C)}var sn=void 0;function Xe(){var I=nA[+sn>>2];return sn+=4,I}var Gt=I=>I%4===0&&(I%100!==0||I%400===0),Oo=[0,31,60,91,121,152,182,213,244,274,305,335],Po=[0,31,59,90,120,151,181,212,243,273,304,334],$r=I=>{var C=Nt(I)+1,h=Zo(C);return h&&Mt(I,VA,h,C),h},Yn={},Vo=()=>{if(!Ag){var I={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:X},C;for(C in Yn)Yn[C]===void 0?delete I[C]:I[C]=Yn[C];var h=[];for(C in I)h.push(`${C}=${I[C]}`);Ag=h}return Ag},Ag,jo=[31,29,31,30,31,30,31,31,30,31,30,31],Wo=[31,28,31,30,31,30,31,31,30,31,30,31],ut=[],Se,eg=I=>{var C=ut[I];return C||(I>=ut.length&&(ut.length=I+1),ut[I]=C=Se.get(I)),C},ct,tg=[];function zo(I,C,h,D){I||(I=this),this.parent=I,this.Fc=I.Fc,this.Ic=null,this.id=b.Td++,this.name=C,this.mode=h,this.Bc={},this.Cc={},this.rdev=D}Object.defineProperties(zo.prototype,{read:{get:function(){return(this.mode&365)===365},set:function(I){I?this.mode|=365:this.mode&=-366}},write:{get:function(){return(this.mode&146)===146},set:function(I){I?this.mode|=146:this.mode&=-147}},Sd:{get:function(){return Ae(this.mode)}},Rd:{get:function(){return(this.mode&61440)===8192}}}),b.Ed=zo,b.he=(I,C,h,D,R,T,j,iA,uA,oA)=>{function eA(ee){function _(sA){if(oA&&oA(),!iA){var aA=I,TA=C;if(aA&&(aA=typeof aA=="string"?aA:Et(aA),TA=C?ze(aA+"/"+C):aA),aA=Vr(D,R),TA=b.create(TA,aA),sA){if(typeof sA=="string"){for(var oe=Array(sA.length),Re=0,og=sA.length;Re{j&&j(),xA()})||_(ee)}var dA=C?Bt(ze(I+"/"+C)):I;mA++,typeof h=="string"?CB(h,ee=>eA(ee),j):eA(h)},_o(),b.Mc=Array(4096),b.Fc(fA,{},"/"),b.mkdir("/tmp"),b.mkdir("/home"),b.mkdir("/home/web_user"),function(){b.mkdir("/dev"),jr(b.Tc(1,3),{read:()=>0,write:(D,R,T,j)=>j}),Kn("/dev/null",b.Tc(1,3)),vo(b.Tc(5,0),aB),vo(b.Tc(6,0),sB),Kn("/dev/tty",b.Tc(5,0)),Kn("/dev/tty1",b.Tc(6,0));var I=new Uint8Array(1024),C=0,h=()=>(C===0&&(C=Uo(I).byteLength),I[--C]);b.Sc("/dev","random",h),b.Sc("/dev","urandom",h),b.mkdir("/dev/shm"),b.mkdir("/dev/shm/tmp")}(),function(){b.mkdir("/proc");var I=b.mkdir("/proc/self");b.mkdir("/proc/self/fd"),b.Fc({Fc(){var C=b.createNode(I,"fd",16895,73);return C.Bc={lookup(h,D){var R=he(+D);return h={parent:null,Fc:{Bd:"fake"},Bc:{readlink:()=>R.path}},h.parent=h}},C}},{},"/proc/self/fd")}(),b.Md={MEMFS:fA};var uB={x:function(I,C){try{var h=he(I);if(h.fd===C)return-28;var D=b.wd(C);return D&&b.close(D),Zr(h,C).fd}catch(R){if(typeof b>"u"||R.name!=="ErrnoError")throw R;return-R.Hc}},b:function(I,C,h){sn=h;try{var D=he(I);switch(C){case 0:var R=Xe();if(0>R)return-28;for(;b.streams[R];)R++;return Zr(D,R).fd;case 1:case 2:return 0;case 3:return D.flags;case 4:return R=Xe(),D.flags|=R,0;case 5:return R=Xe(),Je[R+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return nA[ng()>>2]=28,-1;default:return-28}}catch(T){if(typeof b>"u"||T.name!=="ErrnoError")throw T;return-T.Hc}},z:function(I,C,h){sn=h;try{var D=he(I);switch(C){case 21509:return D.tty?0:-59;case 21505:if(!D.tty)return-59;if(D.tty.Rc.Od){I=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var R=Xe();nA[R>>2]=25856,nA[R+4>>2]=5,nA[R+8>>2]=191,nA[R+12>>2]=35387;for(var T=0;32>T;T++)UA[R+T+17>>0]=I[T]||0}return 0;case 21510:case 21511:case 21512:return D.tty?0:-59;case 21506:case 21507:case 21508:if(!D.tty)return-59;if(D.tty.Rc.Pd)for(R=Xe(),I=[],T=0;32>T;T++)I.push(UA[R+T+17>>0]);return 0;case 21519:return D.tty?(R=Xe(),nA[R>>2]=0):-59;case 21520:return D.tty?-28:-59;case 21531:return R=Xe(),b.ld(D,C,R);case 21523:return D.tty?(D.tty.Rc.Qd&&(T=[24,80],R=Xe(),Je[R>>1]=T[0],Je[R+2>>1]=T[1]),0):-59;case 21524:return D.tty?0:-59;case 21515:return D.tty?0:-59;default:return-28}}catch(j){if(typeof b>"u"||j.name!=="ErrnoError")throw j;return-j.Hc}},d:function(I,C,h,D){sn=D;try{C=C?ie(VA,C):"",C=an(I,C);var R=D?Xe():0;return b.open(C,h,R).fd}catch(T){if(typeof b>"u"||T.name!=="ErrnoError")throw T;return-T.Hc}},r:function(I,C,h,D){try{if(C=C?ie(VA,C):"",C=an(I,C),0>=D)return-28;var R=b.readlink(C),T=Math.min(D,Nt(R)),j=UA[h+T];return Mt(R,VA,h,D+1),UA[h+T]=j,T}catch(iA){if(typeof b>"u"||iA.name!=="ErrnoError")throw iA;return-iA.Hc}},t:function(I,C,h,D){try{return C=C?ie(VA,C):"",D=D?ie(VA,D):"",C=an(I,C),D=an(h,D),b.rename(C,D),0}catch(R){if(typeof b>"u"||R.name!=="ErrnoError")throw R;return-R.Hc}},u:function(I){try{return I=I?ie(VA,I):"",b.rmdir(I),0}catch(C){if(typeof b>"u"||C.name!=="ErrnoError")throw C;return-C.Hc}},e:function(I,C,h){try{return C=C?ie(VA,C):"",C=an(I,C),h===0?b.unlink(C):h===512?b.rmdir(C):JA("Invalid flags passed to unlinkat"),0}catch(D){if(typeof b>"u"||D.name!=="ErrnoError")throw D;return-D.Hc}},g:()=>!0,o:()=>{throw 1/0},k:function(I,C,h){I=new Date(1e3*(C+2097152>>>0<4194305-!!I?(I>>>0)+4294967296*C:NaN)),nA[h>>2]=I.getUTCSeconds(),nA[h+4>>2]=I.getUTCMinutes(),nA[h+8>>2]=I.getUTCHours(),nA[h+12>>2]=I.getUTCDate(),nA[h+16>>2]=I.getUTCMonth(),nA[h+20>>2]=I.getUTCFullYear()-1900,nA[h+24>>2]=I.getUTCDay(),nA[h+28>>2]=(I.getTime()-Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},l:function(I,C,h){I=new Date(1e3*(C+2097152>>>0<4194305-!!I?(I>>>0)+4294967296*C:NaN)),nA[h>>2]=I.getSeconds(),nA[h+4>>2]=I.getMinutes(),nA[h+8>>2]=I.getHours(),nA[h+12>>2]=I.getDate(),nA[h+16>>2]=I.getMonth(),nA[h+20>>2]=I.getFullYear()-1900,nA[h+24>>2]=I.getDay(),nA[h+28>>2]=(Gt(I.getFullYear())?Oo:Po)[I.getMonth()]+I.getDate()-1|0,nA[h+36>>2]=-(60*I.getTimezoneOffset()),C=new Date(I.getFullYear(),6,1).getTimezoneOffset();var D=new Date(I.getFullYear(),0,1).getTimezoneOffset();nA[h+32>>2]=(C!=D&&I.getTimezoneOffset()==Math.min(D,C))|0},m:function(I){var C=new Date(nA[I+20>>2]+1900,nA[I+16>>2],nA[I+12>>2],nA[I+8>>2],nA[I+4>>2],nA[I>>2],0),h=nA[I+32>>2],D=C.getTimezoneOffset(),R=new Date(C.getFullYear(),6,1).getTimezoneOffset(),T=new Date(C.getFullYear(),0,1).getTimezoneOffset(),j=Math.min(T,R);return 0>h?nA[I+32>>2]=+(R!=T&&j==D):0>2]=C.getDay(),nA[I+28>>2]=(Gt(C.getFullYear())?Oo:Po)[C.getMonth()]+C.getDate()-1|0,nA[I>>2]=C.getSeconds(),nA[I+4>>2]=C.getMinutes(),nA[I+8>>2]=C.getHours(),nA[I+12>>2]=C.getDate(),nA[I+16>>2]=C.getMonth(),nA[I+20>>2]=C.getYear(),I=C.getTime()/1e3,Xo((ce=I,1<=+Math.abs(ce)?0>>0:~~+Math.ceil((ce-+(~~ce>>>0))/4294967296)>>>0:0)),I>>>0},q:(I,C,h)=>{function D(uA){return(uA=uA.toTimeString().match(/\(([A-Za-z ]+)\)$/))?uA[1]:"GMT"}var R=new Date().getFullYear(),T=new Date(R,0,1),j=new Date(R,6,1);R=T.getTimezoneOffset();var iA=j.getTimezoneOffset();vA[I>>2]=60*Math.max(R,iA),nA[C>>2]=+(R!=iA),I=D(T),C=D(j),I=$r(I),C=$r(C),iA>2]=I,vA[h+4>>2]=C):(vA[h>>2]=C,vA[h+4>>2]=I)},B:()=>{JA("")},a:()=>Date.now(),h:(I,C,h)=>VA.copyWithin(I,C,C+h),p:I=>{var C=VA.length;if(I>>>=0,2147483648=h;h*=2){var D=C*(1+.2/h);D=Math.min(D,I+100663296);var R=Math;D=Math.max(I,D);A:{R=(R.min.call(R,2147483648,D+(65536-D%65536)%65536)-rt.buffer.byteLength+65535)/65536;try{rt.grow(R),K();var T=1;break A}catch{}T=void 0}if(T)return!0}return!1},v:(I,C)=>{var h=0;return Vo().forEach((D,R)=>{var T=C+h;for(R=vA[I+4*R>>2]=T,T=0;T>0]=D.charCodeAt(T);UA[R>>0]=0,h+=D.length+1}),0},w:(I,C)=>{var h=Vo();vA[I>>2]=h.length;var D=0;return h.forEach(R=>D+=R.length+1),vA[C>>2]=D,0},i:I=>{We=!0,AA(I,new gB(I))},c:function(I){try{var C=he(I);return b.close(C),0}catch(h){if(typeof b>"u"||h.name!=="ErrnoError")throw h;return h.Hc}},y:function(I,C,h,D){try{A:{var R=he(I);I=C;for(var T,j=C=0;j>2],uA=vA[I+4>>2];I+=8;var oA=b.read(R,UA,iA,uA,T);if(0>oA){var eA=-1;break A}if(C+=oA,oA>2]=eA,0}catch(dA){if(typeof b>"u"||dA.name!=="ErrnoError")throw dA;return dA.Hc}},n:function(I,C,h,D,R){C=h+2097152>>>0<4194305-!!C?(C>>>0)+4294967296*h:NaN;try{if(isNaN(C))return 61;var T=he(I);return b.Lc(T,C,D),_r=[T.position>>>0,(ce=T.position,1<=+Math.abs(ce)?0>>0:~~+Math.ceil((ce-+(~~ce>>>0))/4294967296)>>>0:0)],nA[R>>2]=_r[0],nA[R+4>>2]=_r[1],T.jd&&C===0&&D===0&&(T.jd=null),0}catch(j){if(typeof b>"u"||j.name!=="ErrnoError")throw j;return j.Hc}},f:function(I,C,h,D){try{A:{var R=he(I);I=C;for(var T,j=C=0;j>2],uA=vA[I+4>>2];I+=8;var oA=b.write(R,UA,iA,uA,T);if(0>oA){var eA=-1;break A}C+=oA,typeof T<"u"&&(T+=oA)}eA=C}return vA[D>>2]=eA,0}catch(dA){if(typeof b>"u"||dA.name!=="ErrnoError")throw dA;return dA.Hc}},A:cB,s:(I,C,h,D)=>{function R(_,sA,aA){for(_=typeof _=="number"?_.toString():_||"";_.lengthoe?-1:0TA-_.getDate())sA-=TA-_.getDate()+1,_.setDate(1),11>aA?_.setMonth(aA+1):(_.setMonth(0),_.setFullYear(_.getFullYear()+1));else{_.setDate(_.getDate()+sA);break}}return aA=new Date(_.getFullYear()+1,0,4),sA=iA(new Date(_.getFullYear(),0,4)),aA=iA(aA),0>=j(sA,_)?0>=j(aA,_)?_.getFullYear()+1:_.getFullYear():_.getFullYear()-1}var oA=vA[D+40>>2];D={Xd:nA[D>>2],Wd:nA[D+4>>2],dd:nA[D+8>>2],rd:nA[D+12>>2],ed:nA[D+16>>2],Wc:nA[D+20>>2],Oc:nA[D+24>>2],Vc:nA[D+28>>2],te:nA[D+32>>2],Vd:nA[D+36>>2],Yd:oA&&oA?ie(VA,oA):""},h=h?ie(VA,h):"",oA={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var eA in oA)h=h.replace(new RegExp(eA,"g"),oA[eA]);var dA="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ee="January February March April May June July August September October November December".split(" ");oA={"%a":_=>dA[_.Oc].substring(0,3),"%A":_=>dA[_.Oc],"%b":_=>ee[_.ed].substring(0,3),"%B":_=>ee[_.ed],"%C":_=>T((_.Wc+1900)/100|0,2),"%d":_=>T(_.rd,2),"%e":_=>R(_.rd,2," "),"%g":_=>uA(_).toString().substring(2),"%G":_=>uA(_),"%H":_=>T(_.dd,2),"%I":_=>(_=_.dd,_==0?_=12:12<_&&(_-=12),T(_,2)),"%j":_=>{for(var sA=0,aA=0;aA<=_.ed-1;sA+=(Gt(_.Wc+1900)?jo:Wo)[aA++]);return T(_.rd+sA,3)},"%m":_=>T(_.ed+1,2),"%M":_=>T(_.Wd,2),"%n":()=>` +`,"%p":_=>0<=_.dd&&12>_.dd?"AM":"PM","%S":_=>T(_.Xd,2),"%t":()=>" ","%u":_=>_.Oc||7,"%U":_=>T(Math.floor((_.Vc+7-_.Oc)/7),2),"%V":_=>{var sA=Math.floor((_.Vc+7-(_.Oc+6)%7)/7);if(2>=(_.Oc+371-_.Vc-2)%7&&sA++,sA)sA==53&&(aA=(_.Oc+371-_.Vc)%7,aA==4||aA==3&&Gt(_.Wc)||(sA=1));else{sA=52;var aA=(_.Oc+7-_.Vc-1)%7;(aA==4||aA==5&&Gt(_.Wc%400-1))&&sA++}return T(sA,2)},"%w":_=>_.Oc,"%W":_=>T(Math.floor((_.Vc+7-(_.Oc+6)%7)/7),2),"%y":_=>(_.Wc+1900).toString().substring(2),"%Y":_=>_.Wc+1900,"%z":_=>{_=_.Vd;var sA=0<=_;return _=Math.abs(_)/60,(sA?"+":"-")+("0000"+(_/60*100+_%60)).slice(-4)},"%Z":_=>_.Yd,"%%":()=>"%"},h=h.replace(/%%/g,"\0\0");for(eA in oA)h.includes(eA)&&(h=h.replace(new RegExp(eA,"g"),oA[eA](D)));return h=h.replace(/\0\0/g,"%"),eA=Jn(h,!1),eA.length>C?0:(UA.set(eA,I),eA.length-1)},j:I=>I?(nA[ng()>>2]=52,-1):0},q=function(){var I={a:uB};return mA++,rB(I,function(C){q=C.instance.exports,rt=q.C,K(),Se=q.ab,rA.unshift(q.D),xA()}).catch(G),{}}();c._lua_checkstack=(I,C)=>(c._lua_checkstack=q.E)(I,C),c._lua_xmove=(I,C,h)=>(c._lua_xmove=q.F)(I,C,h),c._lua_atpanic=(I,C)=>(c._lua_atpanic=q.G)(I,C),c._lua_version=I=>(c._lua_version=q.H)(I),c._lua_absindex=(I,C)=>(c._lua_absindex=q.I)(I,C),c._lua_gettop=I=>(c._lua_gettop=q.J)(I),c._lua_settop=(I,C)=>(c._lua_settop=q.K)(I,C),c._lua_closeslot=(I,C)=>(c._lua_closeslot=q.L)(I,C),c._lua_rotate=(I,C,h)=>(c._lua_rotate=q.M)(I,C,h),c._lua_copy=(I,C,h)=>(c._lua_copy=q.N)(I,C,h),c._lua_pushvalue=(I,C)=>(c._lua_pushvalue=q.O)(I,C),c._lua_type=(I,C)=>(c._lua_type=q.P)(I,C),c._lua_typename=(I,C)=>(c._lua_typename=q.Q)(I,C),c._lua_iscfunction=(I,C)=>(c._lua_iscfunction=q.R)(I,C),c._lua_isinteger=(I,C)=>(c._lua_isinteger=q.S)(I,C),c._lua_isnumber=(I,C)=>(c._lua_isnumber=q.T)(I,C),c._lua_isstring=(I,C)=>(c._lua_isstring=q.U)(I,C),c._lua_isuserdata=(I,C)=>(c._lua_isuserdata=q.V)(I,C),c._lua_rawequal=(I,C,h)=>(c._lua_rawequal=q.W)(I,C,h),c._lua_arith=(I,C)=>(c._lua_arith=q.X)(I,C),c._lua_compare=(I,C,h,D)=>(c._lua_compare=q.Y)(I,C,h,D),c._lua_stringtonumber=(I,C)=>(c._lua_stringtonumber=q.Z)(I,C),c._lua_tonumberx=(I,C,h)=>(c._lua_tonumberx=q._)(I,C,h),c._lua_tointegerx=(I,C,h)=>(c._lua_tointegerx=q.$)(I,C,h),c._lua_toboolean=(I,C)=>(c._lua_toboolean=q.aa)(I,C),c._lua_tolstring=(I,C,h)=>(c._lua_tolstring=q.ba)(I,C,h),c._lua_rawlen=(I,C)=>(c._lua_rawlen=q.ca)(I,C),c._lua_tocfunction=(I,C)=>(c._lua_tocfunction=q.da)(I,C),c._lua_touserdata=(I,C)=>(c._lua_touserdata=q.ea)(I,C),c._lua_tothread=(I,C)=>(c._lua_tothread=q.fa)(I,C),c._lua_topointer=(I,C)=>(c._lua_topointer=q.ga)(I,C),c._lua_pushnil=I=>(c._lua_pushnil=q.ha)(I),c._lua_pushnumber=(I,C)=>(c._lua_pushnumber=q.ia)(I,C),c._lua_pushinteger=(I,C)=>(c._lua_pushinteger=q.ja)(I,C),c._lua_pushlstring=(I,C,h)=>(c._lua_pushlstring=q.ka)(I,C,h),c._lua_pushstring=(I,C)=>(c._lua_pushstring=q.la)(I,C),c._lua_pushcclosure=(I,C,h)=>(c._lua_pushcclosure=q.ma)(I,C,h),c._lua_pushboolean=(I,C)=>(c._lua_pushboolean=q.na)(I,C),c._lua_pushlightuserdata=(I,C)=>(c._lua_pushlightuserdata=q.oa)(I,C),c._lua_pushthread=I=>(c._lua_pushthread=q.pa)(I),c._lua_getglobal=(I,C)=>(c._lua_getglobal=q.qa)(I,C),c._lua_gettable=(I,C)=>(c._lua_gettable=q.ra)(I,C),c._lua_getfield=(I,C,h)=>(c._lua_getfield=q.sa)(I,C,h),c._lua_geti=(I,C,h)=>(c._lua_geti=q.ta)(I,C,h),c._lua_rawget=(I,C)=>(c._lua_rawget=q.ua)(I,C),c._lua_rawgeti=(I,C,h)=>(c._lua_rawgeti=q.va)(I,C,h),c._lua_rawgetp=(I,C,h)=>(c._lua_rawgetp=q.wa)(I,C,h),c._lua_createtable=(I,C,h)=>(c._lua_createtable=q.xa)(I,C,h),c._lua_getmetatable=(I,C)=>(c._lua_getmetatable=q.ya)(I,C),c._lua_getiuservalue=(I,C,h)=>(c._lua_getiuservalue=q.za)(I,C,h),c._lua_setglobal=(I,C)=>(c._lua_setglobal=q.Aa)(I,C),c._lua_settable=(I,C)=>(c._lua_settable=q.Ba)(I,C),c._lua_setfield=(I,C,h)=>(c._lua_setfield=q.Ca)(I,C,h),c._lua_seti=(I,C,h)=>(c._lua_seti=q.Da)(I,C,h),c._lua_rawset=(I,C)=>(c._lua_rawset=q.Ea)(I,C),c._lua_rawsetp=(I,C,h)=>(c._lua_rawsetp=q.Fa)(I,C,h),c._lua_rawseti=(I,C,h)=>(c._lua_rawseti=q.Ga)(I,C,h),c._lua_setmetatable=(I,C)=>(c._lua_setmetatable=q.Ha)(I,C),c._lua_setiuservalue=(I,C,h)=>(c._lua_setiuservalue=q.Ia)(I,C,h),c._lua_callk=(I,C,h,D,R)=>(c._lua_callk=q.Ja)(I,C,h,D,R),c._lua_pcallk=(I,C,h,D,R,T)=>(c._lua_pcallk=q.Ka)(I,C,h,D,R,T),c._lua_load=(I,C,h,D,R)=>(c._lua_load=q.La)(I,C,h,D,R),c._lua_dump=(I,C,h,D)=>(c._lua_dump=q.Ma)(I,C,h,D),c._lua_status=I=>(c._lua_status=q.Na)(I),c._lua_error=I=>(c._lua_error=q.Oa)(I),c._lua_next=(I,C)=>(c._lua_next=q.Pa)(I,C),c._lua_toclose=(I,C)=>(c._lua_toclose=q.Qa)(I,C),c._lua_concat=(I,C)=>(c._lua_concat=q.Ra)(I,C),c._lua_len=(I,C)=>(c._lua_len=q.Sa)(I,C),c._lua_getallocf=(I,C)=>(c._lua_getallocf=q.Ta)(I,C),c._lua_setallocf=(I,C,h)=>(c._lua_setallocf=q.Ua)(I,C,h),c._lua_setwarnf=(I,C,h)=>(c._lua_setwarnf=q.Va)(I,C,h),c._lua_warning=(I,C,h)=>(c._lua_warning=q.Wa)(I,C,h),c._lua_newuserdatauv=(I,C,h)=>(c._lua_newuserdatauv=q.Xa)(I,C,h),c._lua_getupvalue=(I,C,h)=>(c._lua_getupvalue=q.Ya)(I,C,h),c._lua_setupvalue=(I,C,h)=>(c._lua_setupvalue=q.Za)(I,C,h),c._lua_upvalueid=(I,C,h)=>(c._lua_upvalueid=q._a)(I,C,h),c._lua_upvaluejoin=(I,C,h,D,R)=>(c._lua_upvaluejoin=q.$a)(I,C,h,D,R),c._luaL_traceback=(I,C,h,D)=>(c._luaL_traceback=q.bb)(I,C,h,D),c._lua_getstack=(I,C,h)=>(c._lua_getstack=q.cb)(I,C,h),c._lua_getinfo=(I,C,h)=>(c._lua_getinfo=q.db)(I,C,h),c._luaL_buffinit=(I,C)=>(c._luaL_buffinit=q.eb)(I,C),c._luaL_addstring=(I,C)=>(c._luaL_addstring=q.fb)(I,C),c._luaL_prepbuffsize=(I,C)=>(c._luaL_prepbuffsize=q.gb)(I,C),c._luaL_addvalue=I=>(c._luaL_addvalue=q.hb)(I),c._luaL_pushresult=I=>(c._luaL_pushresult=q.ib)(I),c._luaL_argerror=(I,C,h)=>(c._luaL_argerror=q.jb)(I,C,h),c._luaL_typeerror=(I,C,h)=>(c._luaL_typeerror=q.kb)(I,C,h),c._luaL_getmetafield=(I,C,h)=>(c._luaL_getmetafield=q.lb)(I,C,h),c._luaL_where=(I,C)=>(c._luaL_where=q.mb)(I,C),c._luaL_fileresult=(I,C,h)=>(c._luaL_fileresult=q.nb)(I,C,h);var ng=()=>(ng=q.ob)();c._luaL_execresult=(I,C)=>(c._luaL_execresult=q.pb)(I,C),c._luaL_newmetatable=(I,C)=>(c._luaL_newmetatable=q.qb)(I,C),c._luaL_setmetatable=(I,C)=>(c._luaL_setmetatable=q.rb)(I,C),c._luaL_testudata=(I,C,h)=>(c._luaL_testudata=q.sb)(I,C,h),c._luaL_checkudata=(I,C,h)=>(c._luaL_checkudata=q.tb)(I,C,h),c._luaL_optlstring=(I,C,h,D)=>(c._luaL_optlstring=q.ub)(I,C,h,D),c._luaL_checklstring=(I,C,h)=>(c._luaL_checklstring=q.vb)(I,C,h),c._luaL_checkstack=(I,C,h)=>(c._luaL_checkstack=q.wb)(I,C,h),c._luaL_checktype=(I,C,h)=>(c._luaL_checktype=q.xb)(I,C,h),c._luaL_checkany=(I,C)=>(c._luaL_checkany=q.yb)(I,C),c._luaL_checknumber=(I,C)=>(c._luaL_checknumber=q.zb)(I,C),c._luaL_optnumber=(I,C,h)=>(c._luaL_optnumber=q.Ab)(I,C,h),c._luaL_checkinteger=(I,C)=>(c._luaL_checkinteger=q.Bb)(I,C),c._luaL_optinteger=(I,C,h)=>(c._luaL_optinteger=q.Cb)(I,C,h),c._luaL_setfuncs=(I,C,h)=>(c._luaL_setfuncs=q.Db)(I,C,h),c._luaL_addlstring=(I,C,h)=>(c._luaL_addlstring=q.Eb)(I,C,h),c._luaL_pushresultsize=(I,C)=>(c._luaL_pushresultsize=q.Fb)(I,C),c._luaL_buffinitsize=(I,C,h)=>(c._luaL_buffinitsize=q.Gb)(I,C,h),c._luaL_ref=(I,C)=>(c._luaL_ref=q.Hb)(I,C),c._luaL_unref=(I,C,h)=>(c._luaL_unref=q.Ib)(I,C,h),c._luaL_loadfilex=(I,C,h)=>(c._luaL_loadfilex=q.Jb)(I,C,h),c._luaL_loadbufferx=(I,C,h,D,R)=>(c._luaL_loadbufferx=q.Kb)(I,C,h,D,R),c._luaL_loadstring=(I,C)=>(c._luaL_loadstring=q.Lb)(I,C),c._luaL_callmeta=(I,C,h)=>(c._luaL_callmeta=q.Mb)(I,C,h),c._luaL_len=(I,C)=>(c._luaL_len=q.Nb)(I,C),c._luaL_tolstring=(I,C,h)=>(c._luaL_tolstring=q.Ob)(I,C,h),c._luaL_getsubtable=(I,C,h)=>(c._luaL_getsubtable=q.Pb)(I,C,h),c._luaL_requiref=(I,C,h,D)=>(c._luaL_requiref=q.Qb)(I,C,h,D),c._luaL_addgsub=(I,C,h,D)=>(c._luaL_addgsub=q.Rb)(I,C,h,D),c._luaL_gsub=(I,C,h,D)=>(c._luaL_gsub=q.Sb)(I,C,h,D),c._luaL_newstate=()=>(c._luaL_newstate=q.Tb)(),c._lua_newstate=(I,C)=>(c._lua_newstate=q.Ub)(I,C),c._free=I=>(c._free=q.Vb)(I),c._realloc=(I,C)=>(c._realloc=q.Wb)(I,C),c._luaL_checkversion_=(I,C,h)=>(c._luaL_checkversion_=q.Xb)(I,C,h),c._luaopen_base=I=>(c._luaopen_base=q.Yb)(I),c._luaopen_coroutine=I=>(c._luaopen_coroutine=q.Zb)(I),c._lua_newthread=I=>(c._lua_newthread=q._b)(I),c._lua_yieldk=(I,C,h,D)=>(c._lua_yieldk=q.$b)(I,C,h,D),c._lua_isyieldable=I=>(c._lua_isyieldable=q.ac)(I),c._lua_resetthread=(I,C)=>(c._lua_resetthread=q.bc)(I,C),c._lua_resume=(I,C,h,D)=>(c._lua_resume=q.cc)(I,C,h,D),c._luaopen_debug=I=>(c._luaopen_debug=q.dc)(I),c._lua_gethookmask=I=>(c._lua_gethookmask=q.ec)(I),c._lua_gethook=I=>(c._lua_gethook=q.fc)(I),c._lua_gethookcount=I=>(c._lua_gethookcount=q.gc)(I),c._lua_getlocal=(I,C,h)=>(c._lua_getlocal=q.hc)(I,C,h),c._lua_sethook=(I,C,h,D)=>(c._lua_sethook=q.ic)(I,C,h,D),c._lua_setlocal=(I,C,h)=>(c._lua_setlocal=q.jc)(I,C,h),c._lua_setcstacklimit=(I,C)=>(c._lua_setcstacklimit=q.kc)(I,C);var Zo=c._malloc=I=>(Zo=c._malloc=q.lc)(I),Xo=I=>(Xo=q.mc)(I);c._luaL_openlibs=I=>(c._luaL_openlibs=q.nc)(I),c._luaopen_package=I=>(c._luaopen_package=q.oc)(I),c._luaopen_table=I=>(c._luaopen_table=q.pc)(I),c._luaopen_io=I=>(c._luaopen_io=q.qc)(I),c._luaopen_os=I=>(c._luaopen_os=q.rc)(I),c._luaopen_string=I=>(c._luaopen_string=q.sc)(I),c._luaopen_math=I=>(c._luaopen_math=q.tc)(I),c._luaopen_utf8=I=>(c._luaopen_utf8=q.uc)(I),c._lua_close=I=>(c._lua_close=q.vc)(I);var $o=(I,C)=>($o=q.wc)(I,C),rg=()=>(rg=q.xc)(),gg=I=>(gg=q.yc)(I),ig=I=>(ig=q.zc)(I);function cB(I,C,h){var D=rg();try{eg(I)(C,h)}catch(R){if(gg(D),R!==R+0)throw R;$o(1,0)}}c.ENV=Yn,c.ccall=(I,C,h,D)=>{var R={string:oA=>{var eA=0;if(oA!=null&&oA!==0){eA=Nt(oA)+1;var dA=ig(eA);Mt(oA,VA,dA,eA),eA=dA}return eA},array:oA=>{var eA=ig(oA.length);return UA.set(oA,eA),eA}};I=c["_"+I];var T=[],j=0;if(D)for(var iA=0;iA{if(!ct){ct=new WeakMap;var h=Se.length;if(ct)for(var D=0;D<0+h;D++){var R=eg(D);R&&ct.set(R,D)}}if(h=ct.get(I)||0)return h;if(tg.length)h=tg.pop();else{try{Se.grow(1)}catch(iA){throw iA instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":iA}h=Se.length-1}try{D=h,Se.set(D,I),ut[D]=Se.get(D)}catch(iA){if(!(iA instanceof TypeError))throw iA;if(typeof WebAssembly.Function=="function"){D=WebAssembly.Function,R={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};for(var T={parameters:[],results:C[0]=="v"?[]:[R[C[0]]]},j=1;jj?D.push(j):D.push(j%128|128,j>>7),j=0;jR?C.push(R):C.push(R%128|128,R>>7),C.push.apply(C,D),C.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),C=new WebAssembly.Module(new Uint8Array(C)),C=new WebAssembly.Instance(C,{e:{f:I}}).exports.f}D=h,Se.set(D,C),ut[D]=Se.get(D)}return ct.set(I,h),h},c.removeFunction=I=>{ct.delete(eg(I)),Se.set(I,null),ut[I]=Se.get(I),tg.push(I)},c.setValue=function(I,C,h="i8"){switch(h.endsWith("*")&&(h="*"),h){case"i1":UA[I>>0]=C;break;case"i8":UA[I>>0]=C;break;case"i16":Je[I>>1]=C;break;case"i32":nA[I>>2]=C;break;case"i64":JA("to do setValue(i64) use WASM_BIGINT");case"float":Ct[I>>2]=C;break;case"double":S[I>>3]=C;break;case"*":vA[I>>2]=C;break;default:JA(`invalid type for setValue: ${h}`)}},c.getValue=function(I,C="i8"){switch(C.endsWith("*")&&(C="*"),C){case"i1":return UA[I>>0];case"i8":return UA[I>>0];case"i16":return Je[I>>1];case"i32":return nA[I>>2];case"i64":JA("to do getValue(i64) use WASM_BIGINT");case"float":return Ct[I>>2];case"double":return S[I>>3];case"*":return vA[I>>2];default:JA(`invalid type for getValue: ${C}`)}},c.stringToUTF8=(I,C,h)=>Mt(I,VA,C,h),c.lengthBytesUTF8=Nt,c.stringToNewUTF8=$r,c.FS=b;var qn;KA=function I(){qn||AI(),qn||(KA=I)};function AI(){if(!(0Q||P+G,preRun:G=>{typeof c=="object"&&Object.entries(c).forEach(([P,X])=>G.ENV[P]=X)}});return new GA(J)}constructor(Q){this.referenceTracker=new WeakMap,this.referenceMap=new Map,this.availableReferences=[],this.module=Q,this.luaL_checkversion_=this.cwrap("luaL_checkversion_",null,["number","number","number"]),this.luaL_getmetafield=this.cwrap("luaL_getmetafield","number",["number","number","string"]),this.luaL_callmeta=this.cwrap("luaL_callmeta","number",["number","number","string"]),this.luaL_tolstring=this.cwrap("luaL_tolstring","string",["number","number","number"]),this.luaL_argerror=this.cwrap("luaL_argerror","number",["number","number","string"]),this.luaL_typeerror=this.cwrap("luaL_typeerror","number",["number","number","string"]),this.luaL_checklstring=this.cwrap("luaL_checklstring","string",["number","number","number"]),this.luaL_optlstring=this.cwrap("luaL_optlstring","string",["number","number","string","number"]),this.luaL_checknumber=this.cwrap("luaL_checknumber","number",["number","number"]),this.luaL_optnumber=this.cwrap("luaL_optnumber","number",["number","number","number"]),this.luaL_checkinteger=this.cwrap("luaL_checkinteger","number",["number","number"]),this.luaL_optinteger=this.cwrap("luaL_optinteger","number",["number","number","number"]),this.luaL_checkstack=this.cwrap("luaL_checkstack",null,["number","number","string"]),this.luaL_checktype=this.cwrap("luaL_checktype",null,["number","number","number"]),this.luaL_checkany=this.cwrap("luaL_checkany",null,["number","number"]),this.luaL_newmetatable=this.cwrap("luaL_newmetatable","number",["number","string"]),this.luaL_setmetatable=this.cwrap("luaL_setmetatable",null,["number","string"]),this.luaL_testudata=this.cwrap("luaL_testudata","number",["number","number","string"]),this.luaL_checkudata=this.cwrap("luaL_checkudata","number",["number","number","string"]),this.luaL_where=this.cwrap("luaL_where",null,["number","number"]),this.luaL_fileresult=this.cwrap("luaL_fileresult","number",["number","number","string"]),this.luaL_execresult=this.cwrap("luaL_execresult","number",["number","number"]),this.luaL_ref=this.cwrap("luaL_ref","number",["number","number"]),this.luaL_unref=this.cwrap("luaL_unref",null,["number","number","number"]),this.luaL_loadfilex=this.cwrap("luaL_loadfilex","number",["number","string","string"]),this.luaL_loadbufferx=this.cwrap("luaL_loadbufferx","number",["number","string|number","number","string|number","string"]),this.luaL_loadstring=this.cwrap("luaL_loadstring","number",["number","string"]),this.luaL_newstate=this.cwrap("luaL_newstate","number",[]),this.luaL_len=this.cwrap("luaL_len","number",["number","number"]),this.luaL_addgsub=this.cwrap("luaL_addgsub",null,["number","string","string","string"]),this.luaL_gsub=this.cwrap("luaL_gsub","string",["number","string","string","string"]),this.luaL_setfuncs=this.cwrap("luaL_setfuncs",null,["number","number","number"]),this.luaL_getsubtable=this.cwrap("luaL_getsubtable","number",["number","number","string"]),this.luaL_traceback=this.cwrap("luaL_traceback",null,["number","number","string","number"]),this.luaL_requiref=this.cwrap("luaL_requiref",null,["number","string","number","number"]),this.luaL_buffinit=this.cwrap("luaL_buffinit",null,["number","number"]),this.luaL_prepbuffsize=this.cwrap("luaL_prepbuffsize","string",["number","number"]),this.luaL_addlstring=this.cwrap("luaL_addlstring",null,["number","string","number"]),this.luaL_addstring=this.cwrap("luaL_addstring",null,["number","string"]),this.luaL_addvalue=this.cwrap("luaL_addvalue",null,["number"]),this.luaL_pushresult=this.cwrap("luaL_pushresult",null,["number"]),this.luaL_pushresultsize=this.cwrap("luaL_pushresultsize",null,["number","number"]),this.luaL_buffinitsize=this.cwrap("luaL_buffinitsize","string",["number","number","number"]),this.lua_newstate=this.cwrap("lua_newstate","number",["number","number"]),this.lua_close=this.cwrap("lua_close",null,["number"]),this.lua_newthread=this.cwrap("lua_newthread","number",["number"]),this.lua_resetthread=this.cwrap("lua_resetthread","number",["number"]),this.lua_atpanic=this.cwrap("lua_atpanic","number",["number","number"]),this.lua_version=this.cwrap("lua_version","number",["number"]),this.lua_absindex=this.cwrap("lua_absindex","number",["number","number"]),this.lua_gettop=this.cwrap("lua_gettop","number",["number"]),this.lua_settop=this.cwrap("lua_settop",null,["number","number"]),this.lua_pushvalue=this.cwrap("lua_pushvalue",null,["number","number"]),this.lua_rotate=this.cwrap("lua_rotate",null,["number","number","number"]),this.lua_copy=this.cwrap("lua_copy",null,["number","number","number"]),this.lua_checkstack=this.cwrap("lua_checkstack","number",["number","number"]),this.lua_xmove=this.cwrap("lua_xmove",null,["number","number","number"]),this.lua_isnumber=this.cwrap("lua_isnumber","number",["number","number"]),this.lua_isstring=this.cwrap("lua_isstring","number",["number","number"]),this.lua_iscfunction=this.cwrap("lua_iscfunction","number",["number","number"]),this.lua_isinteger=this.cwrap("lua_isinteger","number",["number","number"]),this.lua_isuserdata=this.cwrap("lua_isuserdata","number",["number","number"]),this.lua_type=this.cwrap("lua_type","number",["number","number"]),this.lua_typename=this.cwrap("lua_typename","string",["number","number"]),this.lua_tonumberx=this.cwrap("lua_tonumberx","number",["number","number","number"]),this.lua_tointegerx=this.cwrap("lua_tointegerx","number",["number","number","number"]),this.lua_toboolean=this.cwrap("lua_toboolean","number",["number","number"]),this.lua_tolstring=this.cwrap("lua_tolstring","string",["number","number","number"]),this.lua_rawlen=this.cwrap("lua_rawlen","number",["number","number"]),this.lua_tocfunction=this.cwrap("lua_tocfunction","number",["number","number"]),this.lua_touserdata=this.cwrap("lua_touserdata","number",["number","number"]),this.lua_tothread=this.cwrap("lua_tothread","number",["number","number"]),this.lua_topointer=this.cwrap("lua_topointer","number",["number","number"]),this.lua_arith=this.cwrap("lua_arith",null,["number","number"]),this.lua_rawequal=this.cwrap("lua_rawequal","number",["number","number","number"]),this.lua_compare=this.cwrap("lua_compare","number",["number","number","number","number"]),this.lua_pushnil=this.cwrap("lua_pushnil",null,["number"]),this.lua_pushnumber=this.cwrap("lua_pushnumber",null,["number","number"]),this.lua_pushinteger=this.cwrap("lua_pushinteger",null,["number","number"]),this.lua_pushlstring=this.cwrap("lua_pushlstring","string",["number","string|number","number"]),this.lua_pushstring=this.cwrap("lua_pushstring","string",["number","string|number"]),this.lua_pushcclosure=this.cwrap("lua_pushcclosure",null,["number","number","number"]),this.lua_pushboolean=this.cwrap("lua_pushboolean",null,["number","number"]),this.lua_pushlightuserdata=this.cwrap("lua_pushlightuserdata",null,["number","number"]),this.lua_pushthread=this.cwrap("lua_pushthread","number",["number"]),this.lua_getglobal=this.cwrap("lua_getglobal","number",["number","string"]),this.lua_gettable=this.cwrap("lua_gettable","number",["number","number"]),this.lua_getfield=this.cwrap("lua_getfield","number",["number","number","string"]),this.lua_geti=this.cwrap("lua_geti","number",["number","number","number"]),this.lua_rawget=this.cwrap("lua_rawget","number",["number","number"]),this.lua_rawgeti=this.cwrap("lua_rawgeti","number",["number","number","number"]),this.lua_rawgetp=this.cwrap("lua_rawgetp","number",["number","number","number"]),this.lua_createtable=this.cwrap("lua_createtable",null,["number","number","number"]),this.lua_newuserdatauv=this.cwrap("lua_newuserdatauv","number",["number","number","number"]),this.lua_getmetatable=this.cwrap("lua_getmetatable","number",["number","number"]),this.lua_getiuservalue=this.cwrap("lua_getiuservalue","number",["number","number","number"]),this.lua_setglobal=this.cwrap("lua_setglobal",null,["number","string"]),this.lua_settable=this.cwrap("lua_settable",null,["number","number"]),this.lua_setfield=this.cwrap("lua_setfield",null,["number","number","string"]),this.lua_seti=this.cwrap("lua_seti",null,["number","number","number"]),this.lua_rawset=this.cwrap("lua_rawset",null,["number","number"]),this.lua_rawseti=this.cwrap("lua_rawseti",null,["number","number","number"]),this.lua_rawsetp=this.cwrap("lua_rawsetp",null,["number","number","number"]),this.lua_setmetatable=this.cwrap("lua_setmetatable","number",["number","number"]),this.lua_setiuservalue=this.cwrap("lua_setiuservalue","number",["number","number","number"]),this.lua_callk=this.cwrap("lua_callk",null,["number","number","number","number","number"]),this.lua_pcallk=this.cwrap("lua_pcallk","number",["number","number","number","number","number","number"]),this.lua_load=this.cwrap("lua_load","number",["number","number","number","string","string"]),this.lua_dump=this.cwrap("lua_dump","number",["number","number","number","number"]),this.lua_yieldk=this.cwrap("lua_yieldk","number",["number","number","number","number"]),this.lua_resume=this.cwrap("lua_resume","number",["number","number","number","number"]),this.lua_status=this.cwrap("lua_status","number",["number"]),this.lua_isyieldable=this.cwrap("lua_isyieldable","number",["number"]),this.lua_setwarnf=this.cwrap("lua_setwarnf",null,["number","number","number"]),this.lua_warning=this.cwrap("lua_warning",null,["number","string","number"]),this.lua_error=this.cwrap("lua_error","number",["number"]),this.lua_next=this.cwrap("lua_next","number",["number","number"]),this.lua_concat=this.cwrap("lua_concat",null,["number","number"]),this.lua_len=this.cwrap("lua_len",null,["number","number"]),this.lua_stringtonumber=this.cwrap("lua_stringtonumber","number",["number","string"]),this.lua_getallocf=this.cwrap("lua_getallocf","number",["number","number"]),this.lua_setallocf=this.cwrap("lua_setallocf",null,["number","number","number"]),this.lua_toclose=this.cwrap("lua_toclose",null,["number","number"]),this.lua_closeslot=this.cwrap("lua_closeslot",null,["number","number"]),this.lua_getstack=this.cwrap("lua_getstack","number",["number","number","number"]),this.lua_getinfo=this.cwrap("lua_getinfo","number",["number","string","number"]),this.lua_getlocal=this.cwrap("lua_getlocal","string",["number","number","number"]),this.lua_setlocal=this.cwrap("lua_setlocal","string",["number","number","number"]),this.lua_getupvalue=this.cwrap("lua_getupvalue","string",["number","number","number"]),this.lua_setupvalue=this.cwrap("lua_setupvalue","string",["number","number","number"]),this.lua_upvalueid=this.cwrap("lua_upvalueid","number",["number","number","number"]),this.lua_upvaluejoin=this.cwrap("lua_upvaluejoin",null,["number","number","number","number","number"]),this.lua_sethook=this.cwrap("lua_sethook",null,["number","number","number","number"]),this.lua_gethook=this.cwrap("lua_gethook","number",["number"]),this.lua_gethookmask=this.cwrap("lua_gethookmask","number",["number"]),this.lua_gethookcount=this.cwrap("lua_gethookcount","number",["number"]),this.lua_setcstacklimit=this.cwrap("lua_setcstacklimit","number",["number","number"]),this.luaopen_base=this.cwrap("luaopen_base","number",["number"]),this.luaopen_coroutine=this.cwrap("luaopen_coroutine","number",["number"]),this.luaopen_table=this.cwrap("luaopen_table","number",["number"]),this.luaopen_io=this.cwrap("luaopen_io","number",["number"]),this.luaopen_os=this.cwrap("luaopen_os","number",["number"]),this.luaopen_string=this.cwrap("luaopen_string","number",["number"]),this.luaopen_utf8=this.cwrap("luaopen_utf8","number",["number"]),this.luaopen_math=this.cwrap("luaopen_math","number",["number"]),this.luaopen_debug=this.cwrap("luaopen_debug","number",["number"]),this.luaopen_package=this.cwrap("luaopen_package","number",["number"]),this.luaL_openlibs=this.cwrap("luaL_openlibs",null,["number"])}lua_remove(Q,c){this.lua_rotate(Q,c,-1),this.lua_pop(Q,1)}lua_pop(Q,c){this.lua_settop(Q,-c-1)}luaL_getmetatable(Q,c){return this.lua_getfield(Q,o,c)}lua_yield(Q,c){return this.lua_yieldk(Q,c,0,null)}lua_upvalueindex(Q){return o-Q}ref(Q){const c=this.referenceTracker.get(Q);if(c)return c.refCount++,c.index;const J=this.availableReferences.pop(),G=J===void 0?this.referenceMap.size+1:J;return this.referenceMap.set(G,Q),this.referenceTracker.set(Q,{refCount:1,index:G}),this.lastRefIndex=G,G}unref(Q){const c=this.referenceMap.get(Q);if(c===void 0)return;const J=this.referenceTracker.get(c);if(J===void 0){this.referenceTracker.delete(c),this.availableReferences.push(Q);return}J.refCount--,J.refCount<=0&&(this.referenceTracker.delete(c),this.referenceMap.delete(Q),this.availableReferences.push(Q))}getRef(Q){return this.referenceMap.get(Q)}getLastRefIndex(){return this.lastRefIndex}printRefs(){for(const[Q,c]of this.referenceMap.entries())console.log(Q,c)}cwrap(Q,c,J){return J.some(G=>G==="string|number")?(...G)=>{const P=[],X=J.map((AA,IA)=>{var DA;if(AA==="string|number"){if(typeof G[IA]=="number")return"number";if(((DA=G[IA])===null||DA===void 0?void 0:DA.length)>1024){const QA=this.module.stringToNewUTF8(G[IA]);return G[IA]=QA,P.push(QA),"number"}else return"string"}return AA});try{return this.module.ccall(Q,c,X,G)}finally{for(const AA of P)this.module._free(AA)}}:(...G)=>this.module.ccall(Q,c,J,G)}}var f="1.15.1";class SA{constructor(Q,c){var J;Q===void 0&&(typeof window=="object"&&typeof window.document<"u"||typeof self=="object"&&((J=self==null?void 0:self.constructor)===null||J===void 0?void 0:J.name)==="DedicatedWorkerGlobalScope")&&(Q=`https://unpkg.com/wasmoon@${f.slice(0,f.lastIndexOf("."))}/dist/glue.wasm`),this.luaWasmPromise=GA.initialize(Q,c)}async mountFile(Q,c){this.mountFileSync(await this.getLuaModule(),Q,c)}mountFileSync(Q,c,J){const G=c.lastIndexOf("/"),P=c.substring(G+1),X=c.substring(0,c.length-P.length-1);if(X.length>0){const AA=X.split("/").reverse();let IA="";for(;AA.length;){const DA=AA.pop();if(!DA)continue;const QA=`${IA}/${DA}`;try{Q.module.FS.mkdir(QA)}catch{}IA=QA}}Q.module.FS.writeFile(c,J)}async createEngine(Q={}){return new pA(await this.getLuaModule(),Q)}async getLuaModule(){return this.luaWasmPromise}}t.Decoration=s,t.LUAI_MAXSTACK=i,t.LUA_MULTRET=g,t.LUA_REGISTRYINDEX=o,t.LuaEngine=pA,t.LuaFactory=SA,t.LuaGlobal=p,t.LuaMultiReturn=u,t.LuaRawResult=m,t.LuaThread=k,t.LuaTimeoutError=a,t.LuaTypeExtension=w,t.LuaWasm=GA,t.PointerSize=r,t.decorate=B,t.decorateFunction=U,t.decorateProxy=N,t.decorateUserdata=Z})})(ai,ai.exports);var Vu=ai.exports;const Dg={enter:{mdxFlowExpression:ju,mdxTextExpression:Wu},exit:{mdxFlowExpression:JI,mdxFlowExpressionChunk:HI,mdxTextExpression:JI,mdxTextExpressionChunk:HI}},xI={handlers:{mdxFlowExpression:vI,mdxTextExpression:vI},unsafe:[{character:"{",inConstruct:["phrasing"]},{atBreak:!0,character:"{"}]};function ju(A){this.enter({type:"mdxFlowExpression",value:""},A),this.buffer()}function Wu(A){this.enter({type:"mdxTextExpression",value:""},A),this.buffer()}function JI(A){const e=this.resume(),t=A.estree,n=this.exit(A);n.value=e,t&&(n.data={estree:t})}function HI(A){this.config.enter.data.call(this,A),this.config.exit.data.call(this,A)}function vI(A){return"{"+(A.value||"")+"}"}const Ps=js(/[A-Za-z]/),Vs=js(/[\dA-Za-z]/);function ye(A){return A!==null&&A<-2}function pt(A){return A!==null&&(A<0||A===32)}function bt(A){return A===-2||A===-1||A===32}function js(A){return e;function e(t){return t!==null&&A.test(String.fromCharCode(t))}}const zu={}.hasOwnProperty,Zu=Symbol("continue"),yg=Symbol("exit"),Xu=Symbol("skip");function $u(A,e){let t,n;typeof e=="function"?t=e:e&&typeof e=="object"&&(e.enter&&(t=e.enter),e.leave&&(n=e.leave)),r(A,null,null,[])();function r(g,i,o,a){return wg(g)&&(s.displayName="node ("+g.type+")"),s;function s(){const B=t?KI(t(g,i,o,a)):[];if(B[0]===yg)return B;if(B[0]!==Xu){let E;for(E in g)if(zu.call(g,E)&&g[E]&&typeof g[E]=="object"&&E!=="data"&&E!=="position"){const u=a.concat(g),l=g[E];if(Array.isArray(l)){const k=l;let p=0;for(;p>-1&&p0)}function Ac(A){return!A||typeof A!="object"?"":"position"in A||"type"in A?YI(A.position):"start"in A||"end"in A?YI(A):"line"in A||"column"in A?si(A):""}function si(A){return qI(A&&A.line)+":"+qI(A&&A.column)}function YI(A){return si(A&&A.start)+"-"+si(A&&A.end)}function qI(A){return A&&typeof A=="number"?A:1}class ZA extends Error{constructor(e,t,n){const r=[null,null];let g={start:{line:null,column:null},end:{line:null,column:null}};if(super(),typeof t=="string"&&(n=t,t=void 0),typeof n=="string"){const i=n.indexOf(":");i===-1?r[1]=n:(r[0]=n.slice(0,i),r[1]=n.slice(i+1))}t&&("type"in t||"position"in t?t.position&&(g=t.position):"start"in t||"end"in t?g=t:("line"in t||"column"in t)&&(g.start=t)),this.name=Ac(t)||"1:1",this.message=typeof e=="object"?e.message:e,this.stack="",typeof e=="object"&&e.stack&&(this.stack=e.stack),this.reason=this.message,this.fatal,this.line=g.start.line,this.column=g.start.column,this.position=g,this.source=r[0],this.ruleId=r[1],this.file,this.actual,this.expected,this.url,this.note}}ZA.prototype.file="";ZA.prototype.name="";ZA.prototype.reason="";ZA.prototype.message="";ZA.prototype.stack="";ZA.prototype.fatal=null;ZA.prototype.column=null;ZA.prototype.line=null;ZA.prototype.source=null;ZA.prototype.ruleId=null;ZA.prototype.position=null;function ec(A,e){const t=e.prefix||"",n=e.suffix||"",r=Object.assign({},e.acornOptions),g=[],i=[],o=r.onComment,a=r.onToken;let s=!1,B,E;const u=Object.assign({},r,{onComment:g,preserveParens:!0});a&&(u.onToken=i);const l=tc(A,["lineEnding","expressionChunk","mdxFlowExpressionChunk","mdxTextExpressionChunk","mdxJsxTextTagExpressionAttributeValue","mdxJsxTextTagAttributeValueExpressionValue","mdxJsxFlowTagExpressionAttributeValue","mdxJsxFlowTagAttributeValueExpressionValue","mdxjsEsmData"]),k=l.value,p=t+k+n,w=e.expression&&TI(k);if(w&&!e.allowEmpty)throw new ZA("Unexpected empty expression",H(0),"micromark-extension-mdx-expression:unexpected-empty-expression");try{B=e.expression&&!w?e.acorn.parseExpressionAt(p,0,u):e.acorn.parse(p,u)}catch(m){const U=m,Y=H(U.pos);U.message=String(U.message).replace(/ \(\d+:\d+\)$/,""),U.pos=Y.offset,U.loc={line:Y.line,column:Y.column-1},E=U,s=U.raisedAt>=t.length+k.length||U.message==="Unterminated comment"}if(B&&e.expression&&!w)if(TI(p.slice(B.end,p.length-n.length)))B={type:"Program",start:0,end:t.length+k.length,body:[{type:"ExpressionStatement",expression:B,start:0,end:t.length+k.length}],sourceType:"module",comments:[]};else{const m=H(B.end),U=new Error("Unexpected content after expression");U.pos=m.offset,U.loc={line:m.line,column:m.column-1},E=U,B=void 0}if(B){if(B.comments=g,$u(B,(m,U,Y,d)=>{let F=d[d.length-1],L=U;m.type==="ParenthesizedExpression"&&F&&L&&(typeof Y=="number"&&(F=F[L],L=Y),F[L]=m.expression),y(m)}),Array.isArray(o))o.push(...g);else if(typeof o=="function")for(const m of g)o(m.type==="Block",m.value,m.start,m.end,m.loc.start,m.loc.end);for(const m of i)m.end<=t.length||m.start-t.length>=k.length||(y(m),Array.isArray(a)?a.push(m):a(m))}return{estree:B,error:E,swallow:s};function y(m){const U=H(m.start),Y=H(m.end);m.start=U.offset,m.end=Y.offset,m.loc={start:{line:U.line,column:U.column-1,offset:U.offset},end:{line:Y.line,column:Y.column-1,offset:Y.offset}},m.range=[m.start,m.end]}function H(m){let U=m-t.length;U<0?U=0:U>k.length&&(U=k.length);let Y=nc(l.stops,U);return Y||(Y={line:e.start.line,column:e.start.column,offset:e.start.offset}),Y}}function TI(A){return/^\s*$/.test(A.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\/\/[^\r\n]*(\r\n|\n|\r)/g,""))}function tc(A,e){const t={value:"",stops:[]};let n=-1;for(;++n0&&g[0]===-1;)g.shift();const i=rc(g);t.stops.push([t.value.length,r[1].start]),t.value+=i,t.stops.push([t.value.length,r[1].end])}}return t}function nc(A,e){let t=0;for(;t-1?A:void 0}function _I(A,e,t,n,r,g,i,o,a,s,B){const E=this,u=this.events.length+3;let l=0,k,p;return w;function w(U){return A.enter(t),A.enter(n),A.consume(U),A.exit(n),k=E.now(),y}function y(U){if(U===null)throw p||new ZA("Unexpected end of file in expression, expected a corresponding closing brace for `{`",E.now(),"micromark-extension-mdx-expression:unexpected-eof");if(ye(U))return A.enter("lineEnding"),A.consume(U),A.exit("lineEnding"),m;if(U===125&&l===0){const Y=g?gc.call(E,g,i,u,k,s||!1,a||!1):{type:"ok",estree:void 0};if(Y.type==="ok"){A.enter(n),A.consume(U),A.exit(n);const d=A.exit(t);return o&&Y.estree&&Object.assign(d,{estree:Y.estree}),e}return p=Y.message,A.enter(r),A.consume(U),H}return A.enter(r),H(U)}function H(U){return U===125&&l===0||U===null||ye(U)?(A.exit(r),y(U)):(U===123&&!g?l+=1:U===125&&(l-=1),A.consume(U),H)}function m(U){const Y=E.now();if(Y.line!==k.line&&!B&&E.parser.lazy[Y.line])throw new ZA("Unexpected end of file in expression, expected a corresponding closing brace for `{`",E.now(),"micromark-extension-mdx-expression:unexpected-eof");return y(U)}}function gc(A,e,t,n,r,g){const i=ec(this.events.slice(t),{acorn:A,acornOptions:e,start:n,expression:!0,allowEmpty:r,prefix:g?"({":"",suffix:g?"})":""}),o=i.estree;if(g&&o){const a=o.body[0];if(a.type!=="ExpressionStatement"||a.expression.type!=="ObjectExpression")throw new ZA("Unexpected `"+a.type+"` in code: expected an object spread (`{...spread}`)",mg(a).start,"micromark-extension-mdx-expression:non-spread");if(a.expression.properties[1])throw new ZA("Unexpected extra content in spread: only a single spread is supported",mg(a.expression.properties[1]).start,"micromark-extension-mdx-expression:spread-extra");if(a.expression.properties[0]&&a.expression.properties[0].type!=="SpreadElement")throw new ZA("Unexpected `"+a.expression.properties[0].type+"` in code: only spread elements are supported",mg(a.expression.properties[0]).start,"micromark-extension-mdx-expression:non-spread")}return i.error?{type:"nok",message:new ZA("Could not parse expression with acorn: "+i.error.message,{line:i.error.loc.line,column:i.error.loc.column+1,offset:i.error.pos},"micromark-extension-mdx-expression:acorn")}:{type:"ok",estree:o}}function Te(A,e,t,n){const r=n?n-1:Number.POSITIVE_INFINITY;let g=0;return i;function i(a){return bt(a)?(A.enter(t),o(a)):e(a)}function o(a){return bt(a)&&g++=48&&e<=57}function ac(A){const e=typeof A=="string"?A.charCodeAt(0):A;return e>=97&&e<=102||e>=65&&e<=70||e>=48&&e<=57}function sc(A){const e=typeof A=="string"?A.charCodeAt(0):A;return e>=97&&e<=122||e>=65&&e<=90}function PI(A){return sc(A)||Ws(A)}const VI={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:` +`,Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:" ",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},Cc={}.hasOwnProperty;function jI(A){return Cc.call(VI,A)?VI[A]:!1}const xt=String.fromCharCode,Qc=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];function Oi(A,e={}){const t=typeof e.additional=="string"?e.additional.charCodeAt(0):e.additional,n=[];let r=0,g=-1,i="",o,a;e.position&&("start"in e.position||"indent"in e.position?(a=e.position.indent,o=e.position.start):o=e.position);let s=(o?o.line:0)||1,B=(o?o.column:0)||1,E=l(),u;for(r--;++r<=A.length;)if(u===10&&(B=(a?a[g]:0)||1),u=A.charCodeAt(r),u===38){const w=A.charCodeAt(r+1);if(w===9||w===10||w===12||w===32||w===38||w===60||Number.isNaN(w)||t&&w===t){i+=xt(u),B++;continue}const y=r+1;let H=y,m=y,U;if(w===35){m=++H;const v=A.charCodeAt(m);v===88||v===120?(U="hexadecimal",m=++H):U="decimal"}else U="named";let Y="",d="",F="";const L=U==="named"?PI:U==="decimal"?Ws:ac;for(m--;++m<=A.length;){const v=A.charCodeAt(m);if(!L(v))break;F+=xt(v),U==="named"&&Ic.includes(F)&&(Y=F,d=jI(F))}let N=A.charCodeAt(m)===59;if(N){m++;const v=U==="named"?jI(F):!1;v&&(Y=F,d=v)}let V=1+m-y,M="";if(!(!N&&e.nonTerminated===!1))if(!F)U!=="named"&&k(4,V);else if(U==="named"){if(N&&!d)k(5,1);else if(Y!==F&&(m=H+Y.length,V=1+m-H,N=!1),!N){const v=Y?1:3;if(e.attribute){const $=A.charCodeAt(m);$===61?(k(v,V),d=""):PI($)?d="":k(v,V)}else k(v,V)}M=d}else{N||k(2,V);let v=Number.parseInt(F,U==="hexadecimal"?16:10);if(Bc(v))k(7,V),M=xt(65533);else if(v in OI)k(6,V),M=OI[v];else{let $="";Ec(v)&&k(6,V),v>65535&&(v-=65536,$+=xt(v>>>10|55296),v=56320|v&1023),M=$+xt(v)}}if(M){p(),E=l(),r=m-1,B+=m-y+1,n.push(M);const v=l();v.offset++,e.reference&&e.reference.call(e.referenceContext,M,{start:E,end:v},A.slice(y-1,m)),E=v}else F=A.slice(y-1,m),i+=F,B+=F.length,r=m-1}else u===10&&(s++,g++,B=0),Number.isNaN(u)?p():(i+=xt(u),B++);return n.join("");function l(){return{line:s,column:B,offset:r+((o?o.offset:0)||0)}}function k(w,y){let H;e.warning&&(H=l(),H.column+=y,H.offset+=y,e.warning.call(e.warningContext,Qc[w],H,w))}function p(){i&&(n.push(i),e.text&&e.text.call(e.textContext,i,{start:E,end:l()}),i="")}}function Bc(A){return A>=55296&&A<=57343||A>1114111}function Ec(A){return A>=1&&A<=8||A===11||A>=13&&A<=31||A>=127&&A<=159||A>=64976&&A<=65007||(A&65535)===65535||(A&65535)===65534}function lc(A,e){if(A=A.replace(e.subset?uc(e.subset):/["&'<>`]/g,n),e.subset||e.escapeOnly)return A;return A.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,t).replace(/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,n);function t(r,g,i){return e.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,i.charCodeAt(g+2),e)}function n(r,g,i){return e.format(r.charCodeAt(0),i.charCodeAt(g+1),e)}}function uc(A){const e=[];let t=-1;for(;++t":""))+")"})}return E;function E(){let u=[],l,k,p;if((!e||r(o,a,s[s.length-1]||null))&&(u=mc(t(o,s)),u[0]===WI))return u;if(o.children&&u[0]!==wc)for(k=(n?o.children.length:-1)+g,p=s.concat(o);k>-1&&k + +`}return` + +`}function $s(A,e,t){const n=e.indexStack,r=A.children||[],g=[];let i=-1,o=t.before;n.push(-1);let a=e.createTracker(t);for(;++i0&&(o==="\r"||o===` +`)&&s.type==="html"&&(g[g.length-1]=g[g.length-1].replace(/(\r?\n|\r)$/," "),o=" ",a=e.createTracker(t),a.move(g.join(""))),g.push(a.move(e.handle(s,A,e,{...a.current(),before:o,after:B}))),o=g[g.length-1].slice(-1)}return n.pop(),g.join("")}function Fc(A){const e=A.options.quote||'"';if(e!=='"'&&e!=="'")throw new Error("Cannot serialize title with `"+e+"` for `options.quote`, expected `\"`, or `'`");return e}function AC(A){const e=A||{},t=e.now||{};let n=e.lineShift||0,r=t.line||1,g=t.column||1;return{move:a,current:i,shift:o};function i(){return{now:{line:r,column:g},lineShift:n}}function o(s){n+=s}function a(s){const B=s||"",E=B.split(/\r?\n|\r/g),u=E[E.length-1];return r+=E.length-1,g=E.length===1?g+u.length:1+u.length+n,B}}const bc={}.hasOwnProperty,zI=/^[^\t\n\r "#'.<=>`}]+$/;rr.peek=Uc;const ZI={canContainEols:["textDirective"],enter:{directiveContainer:Sc,directiveContainerAttributes:Fg,directiveContainerLabel:Mc,directiveLeaf:Rc,directiveLeafAttributes:Fg,directiveText:Nc,directiveTextAttributes:Fg},exit:{directiveContainer:Mg,directiveContainerAttributeClassValue:Lg,directiveContainerAttributeIdValue:bg,directiveContainerAttributeName:Rg,directiveContainerAttributeValue:Sg,directiveContainerAttributes:Ng,directiveContainerLabel:Gc,directiveContainerName:kg,directiveLeaf:Mg,directiveLeafAttributeClassValue:Lg,directiveLeafAttributeIdValue:bg,directiveLeafAttributeName:Rg,directiveLeafAttributeValue:Sg,directiveLeafAttributes:Ng,directiveLeafName:kg,directiveText:Mg,directiveTextAttributeClassValue:Lg,directiveTextAttributeIdValue:bg,directiveTextAttributeName:Rg,directiveTextAttributeValue:Sg,directiveTextAttributes:Ng,directiveTextName:kg}},Lc={unsafe:[{character:"\r",inConstruct:["leafDirectiveLabel","containerDirectiveLabel"]},{character:` +`,inConstruct:["leafDirectiveLabel","containerDirectiveLabel"]},{before:"[^:]",character:":",after:"[A-Za-z]",inConstruct:["phrasing"]},{atBreak:!0,character:":",after:":"}],handlers:{containerDirective:rr,leafDirective:rr,textDirective:rr}};function Sc(A){Pi.call(this,"containerDirective",A)}function Rc(A){Pi.call(this,"leafDirective",A)}function Nc(A){Pi.call(this,"textDirective",A)}function Pi(A,e){this.enter({type:A,name:"",attributes:{},children:[]},e)}function kg(A){const e=this.stack[this.stack.length-1];e.name=this.sliceSerialize(A)}function Mc(A){this.enter({type:"paragraph",data:{directiveLabel:!0},children:[]},A)}function Gc(A){this.exit(A)}function Fg(){this.setData("directiveAttributes",[]),this.buffer()}function bg(A){this.getData("directiveAttributes").push(["id",Oi(this.sliceSerialize(A),{attribute:!0})])}function Lg(A){this.getData("directiveAttributes").push(["class",Oi(this.sliceSerialize(A),{attribute:!0})])}function Sg(A){const e=this.getData("directiveAttributes");e[e.length-1][1]=Oi(this.sliceSerialize(A),{attribute:!0})}function Rg(A){this.getData("directiveAttributes").push([this.sliceSerialize(A),""])}function Ng(){const A=this.getData("directiveAttributes"),e={};let t=-1;for(;++t0){const s=t.enter("label"),B=`${A.type}Label`,E=t.enter(B);o+=r.move("["),o+=r.move($s(a,t,{...r.current(),before:o,after:"]"})),o+=r.move("]"),E(),s()}if(o+=r.move(xc(A,t)),A.type==="containerDirective"){const s=(A.children||[])[0];let B=A;XI(s)&&(B=Object.assign({},A,{children:A.children.slice(1)})),B&&B.children&&B.children.length>0&&(o+=r.move(` +`),o+=r.move(Xs(B,t,r.current()))),o+=r.move(` +`+g)}return i(),o}function Uc(){return":"}function xc(A,e){const t=Fc(e),n=A.type==="textDirective"?[t]:[t,` +`,"\r"],r=A.attributes||{},g=[];let i,o,a,s;for(s in r)if(bc.call(r,s)&&r[s]!==void 0&&r[s]!==null){const E=String(r[s]);if(s==="id")a=zI.test(E)?"#"+E:B("id",E);else if(s==="class"){const u=E.split(/[\t\n\r ]+/g),l=[],k=[];let p=-1;for(;++p0?B("class",l.join(" ")):"",o=k.length>0?"."+k.join("."):""}else g.push(B(s,E))}return i&&g.unshift(i),o&&g.unshift(o),a&&g.unshift(a),g.length>0?"{"+g.join(" ")+"}":"";function B(E,u){return E+(u?"="+t+hc(u,{subset:n})+t:"")}}function XI(A){return!!(A&&A.type==="paragraph"&&A.data&&A.data.directiveLabel)}function Jc(A){let e=0;return A.type==="containerDirective"?(Zs(A,function(t,n){if(t.type==="containerDirective"){let r=n.length,g=0;for(;r--;)n[r].type==="containerDirective"&&g++;g>e&&(e=g)}}),e+=3):A.type==="leafDirective"?e=2:e=1,":".repeat(e)}function jn(A,e){let t;return n;function n(r){return ye(r)?(A.enter("lineEnding"),A.consume(r),A.exit("lineEnding"),t=!0,n):bt(r)?Te(A,n,t?"linePrefix":"lineSuffix")(r):e(r)}}function Vi(A,e,t,n,r,g,i,o,a,s,B,E,u,l,k){let p,w;return y;function y(x){return A.enter(n),A.enter(r),A.consume(x),A.exit(r),H}function H(x){return x===35?(p=i,m(x)):x===46?(p=o,m(x)):x===58||x===95||Ps(x)?(A.enter(g),A.enter(a),A.consume(x),d):k&&bt(x)?Te(A,H,"whitespace")(x):!k&&pt(x)?jn(A,H)(x):Z(x)}function m(x){const CA=p+"Marker";return A.enter(g),A.enter(p),A.enter(CA),A.consume(x),A.exit(CA),U}function U(x){if(x===null||x===34||x===35||x===39||x===46||x===60||x===61||x===62||x===96||x===125||pt(x))return t(x);const CA=p+"Value";return A.enter(CA),A.consume(x),Y}function Y(x){if(x===null||x===34||x===39||x===60||x===61||x===62||x===96)return t(x);if(x===35||x===46||x===125||pt(x)){const CA=p+"Value";return A.exit(CA),A.exit(p),A.exit(g),H(x)}return A.consume(x),Y}function d(x){return x===45||x===46||x===58||x===95||Vs(x)?(A.consume(x),d):(A.exit(a),k&&bt(x)?Te(A,F,"whitespace")(x):!k&&pt(x)?jn(A,F)(x):F(x))}function F(x){return x===61?(A.enter(s),A.consume(x),A.exit(s),L):(A.exit(g),H(x))}function L(x){return x===null||x===60||x===61||x===62||x===96||x===125||k&&ye(x)?t(x):x===34||x===39?(A.enter(B),A.enter(u),A.consume(x),A.exit(u),w=x,V):k&&bt(x)?Te(A,L,"whitespace")(x):!k&&pt(x)?jn(A,L)(x):(A.enter(E),A.enter(l),A.consume(x),w=void 0,N)}function N(x){return x===null||x===34||x===39||x===60||x===61||x===62||x===96?t(x):x===125||pt(x)?(A.exit(l),A.exit(E),A.exit(g),H(x)):(A.consume(x),N)}function V(x){return x===w?(A.enter(u),A.consume(x),A.exit(u),A.exit(B),A.exit(g),$):(A.enter(E),M(x))}function M(x){return x===w?(A.exit(E),V(x)):x===null?t(x):ye(x)?k?t(x):jn(A,M)(x):(A.enter(l),A.consume(x),v)}function v(x){return x===w||x===null||ye(x)?(A.exit(l),M(x)):(A.consume(x),v)}function $(x){return x===125||pt(x)?H(x):Z(x)}function Z(x){return x===125?(A.enter(r),A.consume(x),A.exit(r),A.exit(n),e):t(x)}}function ji(A,e,t,n,r,g,i){let o=0,a=0,s;return B;function B(w){return A.enter(n),A.enter(r),A.consume(w),A.exit(r),E}function E(w){return w===93?(A.enter(r),A.consume(w),A.exit(r),A.exit(n),e):(A.enter(g),u(w))}function u(w){if(w===93&&!a)return p(w);const y=A.enter("chunkText",{contentType:"text",previous:s});return s&&(s.next=y),s=y,l(w)}function l(w){return w===null||o>999||w===91&&++a>32?t(w):w===93&&!a--?(A.exit("chunkText"),p(w)):ye(w)?i?t(w):(A.consume(w),A.exit("chunkText"),u):(A.consume(w),w===92?k:l)}function k(w){return w===91||w===92||w===93?(A.consume(w),o++,l):l(w)}function p(w){return A.exit(g),A.enter(r),A.consume(w),A.exit(r),A.exit(n),e}}function Wi(A,e,t,n){const r=this;return g;function g(o){return Ps(o)?(A.enter(n),A.consume(o),i):t(o)}function i(o){return o===45||o===95||Vs(o)?(A.consume(o),i):(A.exit(n),r.previous===45||r.previous===95?t(o):e(o))}}const Hc={tokenize:Yc,concrete:!0},vc={tokenize:qc,partial:!0},Kc={tokenize:Tc,partial:!0},$I={tokenize:_c,partial:!0};function Yc(A,e,t){const n=this,r=n.events[n.events.length-1],g=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0;let i=0,o;return a;function a(F){return A.enter("directiveContainer"),A.enter("directiveContainerFence"),A.enter("directiveContainerSequence"),s(F)}function s(F){return F===58?(A.consume(F),i++,s):i<3?t(F):(A.exit("directiveContainerSequence"),Wi.call(n,A,B,t,"directiveContainerName")(F))}function B(F){return F===91?A.attempt(vc,E,E)(F):E(F)}function E(F){return F===123?A.attempt(Kc,u,u)(F):u(F)}function u(F){return Te(A,l,"whitespace")(F)}function l(F){return A.exit("directiveContainerFence"),F===null?k(F):ye(F)?n.interrupt?e(F):A.attempt($I,p,k)(F):t(F)}function k(F){return A.exit("directiveContainer"),e(F)}function p(F){return F===null?(A.exit("directiveContainer"),e(F)):(A.enter("directiveContainerContent"),w(F))}function w(F){return F===null?Y(F):A.attempt({tokenize:d,partial:!0},Y,g?Te(A,y,"linePrefix",g+1):y)(F)}function y(F){if(F===null)return Y(F);const L=A.enter("chunkDocument",{contentType:"document",previous:o});return o&&(o.next=L),o=L,H(F)}function H(F){if(F===null){const L=A.exit("chunkDocument");return n.parser.lazy[L.start.line]=!1,Y(F)}return ye(F)?A.check($I,m,U)(F):(A.consume(F),H)}function m(F){A.consume(F);const L=A.exit("chunkDocument");return n.parser.lazy[L.start.line]=!1,w}function U(F){const L=A.exit("chunkDocument");return n.parser.lazy[L.start.line]=!1,Y(F)}function Y(F){return A.exit("directiveContainerContent"),A.exit("directiveContainer"),e(F)}function d(F,L,N){let V=0;return Te(F,M,"linePrefix",4);function M(Z){return F.enter("directiveContainerFence"),F.enter("directiveContainerSequence"),v(Z)}function v(Z){return Z===58?(F.consume(Z),V++,v):V""},unsafe:[{character:"\r",inConstruct:["containerDirectiveLabel"]},{character:` +`,inConstruct:["containerDirectiveLabel"]},{before:"[^:]",character:":",after:"[A-Za-z]",inConstruct:["phrasing"]},{atBreak:!0,character:":",after:":"}]};function Aa(A){if(A.type!=="paragraph"||A.children.length===0)return!1;const e=A.children[0];return e.type==="text"&&e.value.startsWith(":::")}function Ci(A){return{type:eC,children:[typeof A=="string"?{type:"inlineCode",value:A}:A]}}const ih=/^:::(\S+)\s*$/;function oh(A,e){const t={type:"containerDirective",name:"",children:[],position:A.position},n=ih.exec(A.children[0].value);if(n?[,t.name]=n:e.message("invalid directive line",A),A.children.length>=2){const r=A.children[1];r.type==="inlineCode"?t.children.push(Ci(r)):e.message("unsupported element",r),A.children.length>=3&&e.message("unexpected element",A.children[2])}return t}function ea(A,e){return Object.fromEntries(Object.entries(A).filter(([t])=>t.startsWith(e)))}const Ih={canContainEols:["textDirective"],enter:ea(ZI.enter,"directiveText"),exit:ea(ZI.exit,"directiveText")},ah=function(){const A=this.data();function e(t,n){A[t]?A[t].push(n):A[t]=[n]}return e("toMarkdownExtensions",{extensions:[tC]}),e("fromMarkdownExtensions",Ih),e("micromarkExtensions",{text:rh().text}),(t,n)=>{Zs(t,r=>{const g=r,{children:i}=g;if(i&&i.some(Aa)){const o=[];let a=!1;i.forEach(s=>{if(a){const B=o[o.length-1];switch(s.type){case"list":B.children.push(s),a=!1;break;case"code":s.lang==="lua"&&s.meta==="func"&&B.children.length===0&&n.message("function directive not implemented yet",i[i.length-1]);break;default:n.message("expecting a list after the container directive label",i[i.length-1]),o.push(s),a=!1;break}}else Aa(s)?(o.push(oh(s,n)),a=!0):o.push(s)}),a&&n.message("container directive without content",i[i.length-1]),o.forEach(s=>{s.type==="containerDirective"&&s.children.length===0&&s.children.push({type:"list",children:[{type:"listItem",children:[{type:"paragraph",children:[{type:"text",value:""}]}]}]})}),g.children=o}})}},sh=/[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g;function Ch(A,e){return typeof A!="string"?"":(e||(A=A.toLowerCase()),A.replace(sh,"").replace(/ /g,"-"))}function Qi(A){return Ch(A.trim().replace(/_/g,"-").replace(/#/g,"_")).replace(/_/g,"#")}const Qh=/^(?!mailto:)(?:http|https|ftp):\/\//;function Bh(A){return Qh.test(A)||A.startsWith("www.")||A.startsWith("./#")}const Eh=oc;function zi(A){var e;const t={position:A.node.position,children:{}};return Object.entries(((e=A.data)==null?void 0:e.labels)??{}).forEach(([n,r])=>{t.children[n]=zi(r.node)}),t}function Bi(A){const{node:e,...t}=A;return t.position=e.position,t}function ot(A){const{data:e}=A;return e.debug=!!e.debug,e}function Lr(A){return A.data}const lh=Object.freeze(Object.defineProperty({__proto__:null,getData:ot,getRootData:Lr,toHeadingTree:zi,toLink:Bi},Symbol.toStringTag,{value:"Module"})),Zi=function(A){if(A==null)return fh;if(typeof A=="string")return hh(A);if(typeof A=="object")return Array.isArray(A)?uh(A):ch(A);if(typeof A=="function")return Sr(A);throw new Error("Expected function, string, or object as test")};function uh(A){const e=[];let t=-1;for(;++t":""))+")"})}return E;function E(){let u=[],l,k,p;if((!e||r(o,a,s[s.length-1]||null))&&(u=Dh(t(o,s)),u[0]===Ei))return u;if(o.children&&u[0]!==ph)for(k=(n?o.children.length:-1)+g,p=s.concat(o);k>-1&&k{t.push(n)}),{texts:t,source:e}}function wh(A,e){let t="";A.original&&(t+=`#. #+BEGIN: orginal-text +${A.original.split(` +`).map(r=>`#. ${r}`).join(` +`)} +#. #+END: orginal-text +`),A.position&&(t+=`#: ${e.path}:${A.position.start.line} +`),t+=`#, python-brace-format +`;let n;return A.text.includes(` +`)?(n=`"" +`,n+=A.text.split(` +`).map(r=>JSON.stringify(`${r} +`)).join(` +`)):n=JSON.stringify(A.text),t+=`msgid ${n} +`,A.plural?t+=`msgid_plural "" +msgstr[0] "" +`:t+=`msgstr "" +`,t}function mh(A){const[e,t]=new Date().toISOString().split("T",2);return`# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\\n" +"Report-Msgid-Bugs-To: \\n" +"POT-Creation-Date: ${e} ${t.substring(0,5)}+0000\\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n" +"Last-Translator: FULL NAME \\n" +"Language-Team: LANGUAGE \\n" +"Language: \\n" +"MIME-Version: 1.0\\n" +"Content-Type: text/plain; charset=UTF-8\\n" +"Content-Transfer-Encoding: 8bit\\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n" + +${A.map(({texts:n,source:r})=>n.map(g=>wh(g,r))).flat().join(` +`)}`}const kh="data:application/wasm;base64,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Ak9iALwBAlBiAOMBAlFiAIMBAlJiAIsCAlNiAMwCAlRiAKQFAlViAKgCAlZiANYDAldiAJECAlhiAIsBAlliAMYDAlpiALwDAl9iAKoCAiRiAK4DAmFjAOIEAmJjAKkCAmNjALADAmRjALoDAmVjAOUEAmZjAOYEAmdjAOQEAmhjAMMCAmljALkDAmpjALgDAmtjAJEEAmxjANcDAm1jANQDAm5jANwEAm9jAJwDAnBjAIEDAnFjAKUDAnJjAJcDAnNjAIYDAnRjAJ0DAnVjAPwCAnZjAIgDAndjANUDAnhjANIDAnljANEDAnpjANADCZEDAQBBAQvFAdMDqAWnBaMFogWhBaAFngWfBZoFlwWUBZMFkQWPBZ0FnAWbBcUDmQWYBZYFlQWSBZAFjgWNBYwFiwWKBYkFiAWHBYYFhQWEBYMF/ASBBYAF/wT+BP0E+wT6BPkE9QT4BPcE9gT0BPME8gTxBPAE7wTuBO0E7ATrBOoE6QToBOcE4wSvA+EE4ATdBMYDnAO8A4EDpQOXA4YDnQP8AroD2wTWBMsE0QTaBNkE2ATXBNUE1ATTBNAEzwTOBM0EyQTIBMcExgTFBMQEwwTMBMIEwAS/BL4EvQS8BLsEugS5BLgEtwS2BLUEtASzBLIEsQSwBK8ErgStBKwEqwSqBKkEqASnBKYEpQSjBKIEoQSeBJ0EmwSaBJkEmASXBJYElQSUBJMEqAKQBIwEiASPBI4EjQSLBIoEiQSHBIYEhQSEBIMEggSBBIAE/wP9A/wD+wP6A/kD+AP3A/YD9QP0A/ID8QPwA+8D7gPtA+wD5gPlA+sD6gPpA+gD5wPiA+ED4APfA94D3APaA9kD2AMKw6IOjwWwAQEEfwJAIAFBAE4EQCAAKAIUKAIAIAFBA3RqIAAoAgxrQQhqIgJBA3UhASACQQBMDQFBASABIAFBAEobIQUDQCAAIAAoAgwiA0EIajYCDCADQQA6AAQgAUEBSiEEIAFBAWshASAEDQALIAVBAWshAQwBCyABQQFqIQELIAAoAgwgAUEDdGohAgJAIAFBAE4NACAAKAIkIAJJDQAgACACQX9BABC1ASECCyAAIAI2AgwLogEBAn8jAEGAAWsiAyQAIAMgAjYCEAJAAkAgAEEBIANBFGoiAhByRQ0AIABB4B4gAhC3ARogAygCLCICQQBMDQAgAyACNgIE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AkAgASACQRhqQQFB/////wdB0REQOyICNgJAIAEgAmogBDoAACAAIAY2AhggACgCEEEBawsOACAAIAEgACgCDBBEAAtTAQN/IwBBEGsiAiQAIAAgASACQQxqEFUhBCACKAIMRQRAAkAgACABEMoCBEAgACABQbYaECUaDAELIAAgAUHQ2gAoAgAQUBoLCyACQRBqJAAgBAu2AgEEfyAAKAIMIgRBCGshAyABQQBKBH8gACgCFCgCAAUgBAsgAUEDdGoiASABIAJBA3QiAGtBCGsgAyAAayACQQBIGyIESQRAIAEhAiAEIQADQCACKAIAIQUgAiAAKAIANgIAIAItAAQhBiACIAAtAAQ6AAQgACAGOgAEIAAgBTYCACACQQhqIgIgAEEIayIASQ0ACwsgAyAEQQhqIgJLBEAgAyEAA0AgAigCACEEIAIgACgCADYCACACLQAEIQUgAiAALQAEOgAEIAAgBToABCAAIAQ2AgAgAkEIaiICIABBCGsiAEkNAAsLIAEgA0kEQANAIAEoAgAhACABIAMoAgA2AgAgAS0ABCECIAEgAy0ABDoABCADIAI6AAQgAyAANgIAIAFBCGoiASADQQhrIgNJDQALCwsoAQJ/IwBBEGsiAyQAIAMgAjYCDCAAIAEgAhD3ASEEIANBEGokACAEC4AEAQN/IAJBgARPBEAgACABIAIQByAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIABBA3FFBEAgACECDAELIAJFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAtnAQJ/IAAoAhAiBSgCBCABIAIgAyAFKAIAEQEAIQQCQAJAIANFDQAgBA0AIAAgASACIAMQ+gEiBA0AQQAhBAwBCyAFIAUoAgwgAyACa2o2AgwLAkAgA0UNACAEDQAgAEEEEEcACyAEC1kBA38gASAAKAIQIAFBNXBBA3RqIgJBoAJqKAIAIgNBEGoQSEUEQCADDwsgASACKAKkAiIEQRBqEEgEQCACIAM2AqQCIAIgACABIAEQOBA5IgQ2AqACCyAEC9sCAQJ/IAAoAhQhAwJAIAFBAEoEQCADKAIAIAFBA3RqIgEgACgCDEkNASAAKAIQQSxqIQEMAQsgAUHZ80JOBEAgACgCDCABQQN0aiEBDAELIAFB2PNCRgRAIAAoAhBBJGohAQwBCyADKAIAIgMtAARB5gBGBEAgAygCACIDLQAGQdjzQiABa08EQCADQQAgAWtBA3RqQbji6ANrIQEMAgsgACgCEEEsaiEBDAELIAAoAhBBLGohAQsgACACEDAhA0EAIQICQAJAIAEtAARBxQBHDQAgASgCACADEJsBIgItAARBD3FFDQAgACgCDCIBIAIoAgA2AgAgASACLQAEOgAEIAAgACgCDEEIaiIBNgIMDAELIAAoAgwiBCADNgIAIAQgAy0ABEHAAHI6AAQgACAAKAIMIgNBCGo2AgwgACABIAMgAyACEO0BIAAoAgwhAQsgAUEEay0AAEEPcQvFCgIFfxF+IwBB4ABrIgUkACAEQv///////z+DIQwgAiAEhUKAgICAgICAgIB/gyEKIAJC////////P4MiDUIgiCEOIARCMIinQf//AXEhBwJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAdB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiC0KAgICAgIDA//8AVCALQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASALQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhCkIAIQEMAwsgCkKAgICAgIDA//8AhCEKQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgC4QhGUIAIQEgGVAEQEKAgICAgIDg//8AIQoMAwsgCkKAgICAgIDA//8AhCEKDAILIAEgC4RQBEBCACEBDAILIAIgA4RQBEBCACEBDAILIAtC////////P1gEQCAFQdAAaiABIA0gASANIA1QIgYbeSAGQQZ0rXynIgZBD2sQUUEQIAZrIQYgBSkDWCINQiCIIQ4gBSkDUCEBCyACQv///////z9WDQAgBUFAayADIAwgAyAMIAxQIggbeSAIQQZ0rXynIghBD2sQUSAGIAhrQRBqIQYgBSkDSCEMIAUpA0AhAwsgA0IPhiILQoCA/v8PgyICIAFCIIgiBH4iECALQiCIIhMgAUL/////D4MiAX58Ig9CIIYiESABIAJ+fCILIBFUrSACIA1C/////w+DIg1+IhUgBCATfnwiESAMQg+GIhIgA0IxiIRC/////w+DIgMgAX58IhQgDyAQVK1CIIYgD0IgiIR8Ig8gAiAOQoCABIQiDH4iFiANIBN+fCIOIBJCIIhCgICAgAiEIgIgAX58IhAgAyAEfnwiEkIghnwiF3whASAHIAlqIAZqQf//AGshBgJAIAIgBH4iGCAMIBN+fCIEIBhUrSAEIAQgAyANfnwiBFatfCACIAx+fCAEIAQgESAVVK0gESAUVq18fCIEVq18IAMgDH4iAyACIA1+fCICIANUrUIghiACQiCIhHwgBCACQiCGfCICIARUrXwgAiACIBAgElatIA4gFlStIA4gEFatfHxCIIYgEkIgiIR8IgJWrXwgAiACIA8gFFStIA8gF1atfHwiAlatfCIEQoCAgICAgMAAg0IAUgRAIAZBAWohBgwBCyALQj+IIRogBEIBhiACQj+IhCEEIAJCAYYgAUI/iIQhAiALQgGGIQsgGiABQgGGhCEBCyAGQf//AU4EQCAKQoCAgICAgMD//wCEIQpCACEBDAELAn4gBkEATARAQQEgBmsiB0H/AE0EQCAFQTBqIAsgASAGQf8AaiIGEFEgBUEgaiACIAQgBhBRIAVBEGogCyABIAcQqgEg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DAELCyAAKAIQIgItADkhCSADIAQ2AkggCUEIRg0BCwNAIAAQogEaIAItADlBCEcNAAsLIAEgASgCDCABKAIIakH/////ByABKAIQQeQAbiIAIAEtAEBBAnQiA2wgA0H/////ByAAbk8bayIAQR91IABxEIgBIAEgCDYCFA8LIAEoAhAiB0HkAG4hAwJAIAEoAgwiAkEATA0AIAEoAgggAmogAS0APSADbEECdCIEIAdqTQ0AIAEtADhBGHEhAyABKAJEIgIEQANAIAIgAi0ABUHAAXEgA3I6AAUgAigCACICDQALCyABQQA2AnQgAUIANwJsIAEoAkwiAgRAA0AgAiACLQAFQcABcSADcjoABSACKAIAIgINAAsLIAEoAmQiAgRAA0AgAiACLQAFQcABcSADcjoABSACKAIAIgINAAsLIAFBADYChAEgAUIANwJ8IAFBCDsAOSABQQA2AhQgACABEL0CIQAgASgCDCABKAIIaiIDIARBAXYgB2pJDQIgASAANgIUIAEgA0H/////ByABKAIQQeQAbiIAIAEtAEBBAnQiA2wgA0H/////ByAAbk8bayIAQR91IABxEIgBDwsgASgCeCICBEAgASgCdCIEIAJHBEADQAJAIAItAAUiA0EHcUEDRw0AIAIgA0EHczoABSADQSBxRQ0AIAEgAhAoCyACKAIAIgIgBEcNAAsLIAFBADYCeAsgASgCTCICIAEoAoQBIgRHBEADQAJAIAItAAUiA0EHcUEDRw0AIAIgA0EHczoABSADQSBxRQ0AIAEgAhAoCyACKAIAIgIgBEcNAAsLIAEoAmQiAgRAA0ACQCACLQAFIgNBB3FBA0cNACACIANBB3M6AAUgA0EgcUUNACABIAIQKAsgAigCACICDQALCyAAEIACGiABQQM6ADkgAUHEAGohBCABKAJEIgMgASgCbCICRwRAIAEtADhBGHEhBgNAAkAgAy0ABSIFQRhxBEAgBCADKAIANgIAIAAgAxBbDAELAkAgBUEHcSIERQRAIAMgBiAFQcABcXJBAXI6AAUMAQsgAyAEQaTNAGotAAAgBUH4AXFyOgAFIARBAksNACABKAJ4DQAgASADNgJ4CyADIQQLIAQoAgAiAyACRw0ACwsgASgCcCIGIAJHBEAgAS0AOEEYcSEIIAQhAwNAAkAgAi0ABSIFQRhxBEAgAyAC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CxgAIAAgARAhQX9GBEAgACABQa4xECUaCwtNAQN/AkACQCAAIAEQZSIDRQ0AIAAgARB3RQ0AIABB2PNCIAIQMRogAEF/QX4Q4AEhBSAAQX0QHCAFDQELIAAgASACEFAaQQAhAwsgAwsYACAALQAAQSBxRQRAIAEgAiAAEJgCGgsLlwEBBH8jAEEwayICJAACfyABQf8BTARAIAAoAiAhACABQfHJAGotAABBBHEEQCACIAE2AhAgAEH8wwAgAkEQahAtDAILIAIgATYCACAAQaTEACACEC0MAQsgAUECdEHAxwBqKAIAIgMgAUGfAksNABogACgCICEEIAIgAzYCICAEQe/CACACQSBqEC0LIQUgAkEwaiQAIAULnQEBA38jAEEQayIDJAAgAwJ/AkAgACABEHdFDQAgAEGDKxAiGiAAQX4QbyIERQRAIABBfRAcDAELIABBfkF/ECwgAEF+EBwgBEEERw0AIABBf0EAECcMAQtB6DUgACABECFBAkYNABogACABECFBAnRBxNoAaigCAAs2AgQgAyACNgIAIAAgASAAQeUSIAMQNxAlIQUgA0EQaiQAIAULUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgLbwEBfyMAQYACayIFJAACQCACIANMDQAgBEGAwARxDQAgBSABQf8BcSACIANrIgNBgAIgA0GAAkkiARsQaRogAUUEQANAIAAgBUGAAhBOIANBgAJrIgNB/wFLDQALCyAAIAUgAxBOCyAFQYACaiQAC6EBAQJ/AkAgACgCTCIBQQBOBEAgAUUNAUHonAEoAgAgAUH/////e3FHDQELIAAoAgQiASAAKAIIRwRAIAAgAUEBajYCBCABLQAADwsgABDsAQ8LIAAgACgCTCIBQf////8DIAEbNgJMAn8gACgCBCIBIAAoAghHBEAgACABQQFqNgIEIAEtAAAMAQsgABDsAQshAiAAKAJMGiAAQQA2AkwgAguaAwEDfyMAQRBrIgQkACAAKAIUIQMCQCABQQBKBEAgAygCACABQQN0aiIBIAAoAgxJDQEgACgCEEEsaiEBDAELIAFB2fNCTgRAIAAoAgwgAUEDdGohAQwBCyABQdjzQkYEQCAAKAIQ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IANBAWoiAyACRw0ACyAAIAEoAgQgAhBkDAELIAAoAgxBAToABCAAIAAoAgxBCGo2AgwLIAAgBSABKAIAECQgASgCCCEHIAFBCGohASAHDQALDAELA0ACQCABKAIEIgMEQCAAIAMgAhBkDAELIAAoAgxBAToABCAAIAAoAgxBCGo2AgwLIAAgBSABKAIAECQgASgCCCEIIAFBCGohASAIDQALCyAAIAJBf3MQHCAEQRBqJAALOwEBfyAAKAIMIgEgACgCACAAKAIIEEYaIAAoAgAgAEEQakcEQCABQX4Q2AELIAFBfkF/ECwgAUF+EBwLPQEBfyABIAA2AgwgAUKAAjcCBCABIAFBEGo2AgAgACgCDCICQQI6AAQgAiABNgIAIAAgACgCDEEIajYCDAvEAwEFfyMAQRBrIgYkAAJ/IAEgACgCBCIFIAAoAggiBGtNBEAgACgCACAEagwBCyAAKAIMIQMCfyABQX9zIARJBEAgA0HKLUEAEB0MAQsgBUEBdkEDbCIFIAEgBGoiASABIAVJGwshAQJAIAAoAgAgAEEQakcEQCAGQQhqIgQEQCAEIAMoAhAoAgQ2AgALIAMoAhAoAgAhBSADIAIQZSEEIAYoAgggBCgCACAEKAIEIAEgBREBACECAkAgAUUNACACDQAgA0GnCBAiGiADEKkBGgsgBCABNgIEIAQgAjYCAAwBCyADIAJBfxAsIANBfhAcIANBCEEAEHVCADcCACADQdw5EM4CBEAgA0GwxgBBABBcCyADQX4QmgEaIAMgAkEBECwgAyACENYCIAZBDGoiBARAIAQgAygCECgCBDYCAAsgAygCECgCACEFIAMgAhBlIQQgBigCDCAEKAIAIAQoAgQgASAFEQEAIQICQCABRQ0AIAINACADQacIECIaIAMQqQEaCyAEIAE2AgQgBCACNgIAIAIgACgCACAAKAIIEC4aCyAAIAE2AgQgACACNgIAIAIgACgCCGoLIQcgBkEQaiQAIAcLxwkCBH8GfiMAQfAAayIGJAAgBEL///////////8AgyEJAkACQCABUCIFIAJC////////////AIMiCkKAgICAgIDA//8AfUKAgICAgIDAgIB/VCAKUBtFBEAgA0IAUiAJQoCAgICAgMD//wB9IgtCgICAgICAwICAf1YgC0KAgICAgIDAgIB/URsNAQsgBSAK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A2uthiABIAOtIgSIhCEBIAIgBIghAgsgACABNwMAIAAgAjcDCAvbAQIBfwJ+QQEhBAJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgZCgICAgICAwP//AFYgBkKAgICAgIDA//8AURsNACAAIAKEIAUgBoSEUARAQQAPCyABIAODQgBZBEBBfyEEIAAgAlQgASADUyABIANRGw0BIAAgAoUgASADhYRCAFIPC0F/IQQgACACViABIANVIAEgA1EbDQAgACAChSABIAOFhEIAUiEECyAEC4ADAQx/IABBACAAQZkBTRtBAXRBoJABai8BAEGkgQFqIQpBsJ0BKAIAKAIUIgAEfyAAKAIEIQUgACgCACIAKAIIIAAoAgBBotrv1wZqIgEQrQEhAiAAKAIMIAEQrQEhAyAAKAIQIAEQrQEhBAJAIAIgBUECdk8NACADIAUgAkECdGsiB08NACAEIAdPDQAgAyAEckEDcQ0AIARBAnYhCyAAIANBfHFqIQxBACEDA0AgDCADIAJBAXYiBGoiB0EDdGoiBigCACABEK0BIQggBSAGKAIEIAEQrQEiBk0NASAIIAUgBmtPDQEgCCAAIAZqIgZqLQAADQEgCiAGEEgiCEUEQCAAIAtBAnRqIAdBA3RqIgMoAgAgARCtASECIAUgAygCBCABEK0BIgFNDQIgAiAFIAFrTw0CQQAgACABaiIAIAAgAmotAAAbIQkMAgsgAkEBRg0BIAQgAiAEayAIQQBIIgQbIQIgAyAHIAQbIQMMAAsACyAJBUEACyIAIAogABsLKAAgAEEYdCAAQYD+A3FBCHRyIABBCHZBgP4DcSAAQRh2cnIgACABGwuoAQACQCABQYAITgRAIABEAAAAAAAA4H+iIQAgAUH/D0kEQCABQf8HayEBDAILIABEAAAAAAAA4H+iIQBB/RcgASABQf0XThtB/g9rIQEMAQsgAUGBeEoNACAARAAAAAAAAGADoiEAIAFBuHBLBEAgAUHJB2ohAQwBCyAARAAAAAAAAGADoiEAQfBoIAEgAUHwaEwbQZIPaiEBCyAAIAFB/wdqrUI0hr+iC0IBAX8gASACbCEEIAQCfyADKAJMQQBIBEAgACAEIAMQmAIMAQsgACAEIAMQ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AEGgJEEXEDkiAjYCACACLQAEQcAAciECDAELIAMgACgCDEEIayICKAIANgIAIAItAAQhAgsgAyACOgAEIAAgA0EIaiIDNgIMIAAoAhQiAgRAA0AgAigCBCIFIAMgAyAFSRshAyACKAIIIgINAAsLAkBBEyADIAAoAhwiA2tBA3UiAiACQRNMGyICQb+EPUsNACAAKAIYIANrQQN1QcCEPSACQQFqIgNBA2wgAkGUrBRLIgUbTA0AIABBwIQ9IANBAXQiAiACQcCEPU4bIAIgBRtBABBxGgsgABCsAgsgACAINgJcIAAgASgCECABKAIYQQAQLyECIAFBADYCGCABIAI2AhAgACgCECICKAIEIAEoAhwgASgCJEEEdCIDQQAgAigCABEBABogAiACKAIMIANrNgIMIAAoAhAiAigCBCABKAIoIAEoAjBBBHQiA0EAIAIoAgARAQAaIAIgAigCDCADazYCDCAAKAIQIgIoAgQgASgCNCABKAI8QQR0IgNBACACKAIAEQEAGiACIAIoAgwgA2s2AgwgACAAKAJgQYCABGs2AmAgAUHQAGokAAJAIAQNACAAKAIMQQhrKAIAIgItAAZFDQAgAigCECgCCCIDIAAoAhAoAiQoAgwiASgCCDYCACADIAEtAAw6AAQgAS0ADEHAAHFFDQAgAigCECICLQAFQSBxRQ0AIAEoAggiAS0ABUEYcUUNACAAIAIgARBBCyAGQSBqJAAgBAvXpwECK38DfSMAQSBrIg8kACAPQRxqIRMCQANAAkAgACgCcCEDIAEhBwNAIAcoAhAhASAHKAIAIgIoAgAiESgCDCIEKAIwIQxBACEFAkAgA0UNAAJAIAQoAjQgAUYEQCAELQAHDQEgACAHELIDCyAHQQE2AhQgACABECAhBSAHKAIAIQIMAQsgB0EBNgIUCyARQRBqIRIgAUEEaiEDIAJBCGohBgNAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DQwCCyACIAtrCyEBQQALIQUgACABaiEADAALAAtBACEACyAIQaAIaiQAIAAhBAsgBAuMAgICfwJ8IAC8IgFBgICA/ANGBEBDAAAAAA8LAkAgAUGAgID8B2tB////h3hNBEAgAUEBdCICRQRAIwBBEGsiAUMAAIC/OAIMIAEqAgxDAAAAAJUPCyABQYCAgPwHRg0BIAJBgICAeEkgAUEATnFFBEAgACAAkyIAIACVDwsgAEMAAABLlLxBgICA3ABrIQELQaj9ACsDACABIAFBgIDM+QNrIgFBgICAfHFrvrsgAUEPdkHwAXEiAkGg+wBqKwMAokQAAAAAAADwv6AiAyADoiIEokGw/QArAwAgA6JBuP0AKwMAoKAgBKIgAUEXdbdBoP0AKwMAoiACQaj7AGorAwCgIAOgoLYhAAsgAAvDAQEDfwJAIAEgAigCECIDBH8gAwUgAhCaAg0BIAIoAhALIAIoAhQiBGtLBEAgAiAAIAEgAigCJBECAA8LAkACQCACKAJQQQBIDQAgAUUNACABIQMDQCAAIANqIgVBAWstAABBCkcEQCADQQFrIgMNAQwCCwsgAiAAIAMgAigCJBECACIEIANJDQIgASADayEBIAIoAhQhBAwBCyAAIQVBACEDCyAEIAUgARAuGiACIAIoAhQgAWo2AhQgASADaiEECyAEC6ABAQJ/IAIoAkwaIAIgAigCSCIDQQFrIANyNgJIIAIoAgQiAyACKAIIIgRGBH8gAQUgACADIAQgA2siAyABIAEgA0sbIgMQLhogAiACKAIEIANqNgIEIAAgA2ohACABIANrCyIDBEADQAJAIAIQnQJFBEAgAiAAIAMgAigCIBECACIEDQELIAEgA2sPCyAAIARqIQAgAyAEayIDDQALCyABC1kBAX8gACAAKAJIIgFBAWsgAXI2AkggACgCACIBQQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCEEEACywBAn8jAEEQayIDJAAgAyACNgIMIAAgASACQQBBABCUAiEEIANBEGokACAECxMAIAAgASAAKAIMQRBrQQIQ7wILfAECfyAAIAAoAkgiAUEBayABcjYCSCAAKAIUIAAoAhxHBEAgAEEAQQAgACgCJBECABoLIABBADYCHCAAQgA3AxAg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IAE2AgALEA4LggEBBH9B6LcBQei3ASgCAEEBaiIFNgIAIAAgBTYCACADBEADQCACIAZBA3RqIgQoAgBFBEAgBCAFNgIAIAQgATYCBCAEQQA2AgggAyQBIAIPCyAGQQFqIgYgA0cNAAsLIAAgASACIANBBHRBCHIQkQIgA0EBdCIAENkCIQcgACQBIAcLqg8CBX8PfiMAQdACayIFJAAgBEL///////8/gyELIAJC////////P4MhCiACIASFQoCAgICAgICAgH+DIQ0gBEIwiKdB//8BcSEIAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgCEH//wFrQYGAfksNAQsgAVAgAkL///////////8AgyIMQoCAgICAgMD//wBUIAxCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhDQwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCENIAMhAQwCCyABIAxCgICAgICAwP//AIWEUARAIAMgAkKAgICAgIDA//8AhYRQBEBCACEBQoCAgICAgOD//wAhDQwDCyANQoCAgICAgMD//wCEIQ1CACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEBCACEBDAILIAEgDIRQBEBCgICAgICA4P//ACANIAIgA4RQGyENQgAhAQwCCyACIAOEUARAIA1CgICAgICAwP//AIQhDUIAIQEMAgsgDEL///////8/WARAIAVBwAJqIAEgCiABIAogClAiBht5IAZBBnStfKciBkEPaxBRQRAgBmshBiAFKQPIAiEKIAUpA8ACIQELIAJC////////P1YNACAFQbACaiADIAsgAyALIAtQIgcbeSAHQQZ0rXynIgdBD2sQUSAGIAdqQRBrIQYgBSkDuAIhCyAFKQOwAiEDCyAFQaACaiALQoCAgICAgMAAhCISQg+GIANCMYiEIgJCAEKAgICAsOa8gvUAIAJ9IgRCABBXIAVBkAJqQgAgBSkDqAJ9QgAgBEIAEFcgBUGAAmogBSkDmAJCAYYgBSkDkAJCP4iEIgRCACACQgAQVyAFQfABaiAEQgBCACAFKQOIAn1CABBXIAVB4AFqIAUpA/gBQgGGIAUpA/ABQj+IhCIEQgAgAkIAEFcgBUHQAWogBEIAQgAgBSkD6AF9QgAQVyAFQcABaiAFKQPYAUIBhiAFKQPQAUI/iIQiBEIAIAJCABBXIAVBsAFqIARCAEIAIAUpA8gBfUIAEFcgBUGgAWogAkIAIAUpA7gBQgGGIAUpA7ABQj+IhEIBfSICQgAQVyAFQZABaiADQg+GQgAgAkIAEFcgBUHwAGogAkIAQgAgBSkDqAEgBSkDoAEiDCAFKQOYAXwiBCAMVK18IARCAVatfH1CABBXIAVBgAFqQgEgBH1CACACQgAQVyAGIAkgCGtqIQYCfyAFKQNwIhNCAYYiDiAFKQOIASIPQgGGIAUpA4ABQj+IhHwiEELn7AB9IhRCIIgiAiAKQoCAgICAgMAAhCIVQgGGIhZCIIgiBH4iESABQgGGIgxCIIgiCyAQIBRWrSAOIBBWrSAFKQN4QgGGIBNCP4iEIA9CP4h8fHxCAX0iE0IgiCIQfnwiDiARVK0gDiAOIBNC/////w+DIhMgAUI/iCIXIApCAYaEQv////8PgyIKfnwiDlatfCAEIBB+fCAEIBN+IhEgCiAQfnwiDyARVK1CIIYgD0IgiIR8IA4gDiAPQiCGfCIOVq18IA4gDiAUQv////8PgyIUIAp+IhEgAiALfnwiDyARVK0gDyAPIBMgDEL+////D4MiEX58Ig9WrXx8Ig5WrXwgDiAEIBR+IhggECARfnwiBCACIAp+fCIKIAsgE358IhBCIIggCiAQVq0gBCAYVK0gBCAKVq18fEIghoR8IgQgDlStfCAEIA8gAiARfiICIAsgFH58IgtCIIggAiALVq1CIIaEfCICIA9UrSACIBBCIIZ8IAJUrXx8IgIgBFStfCIEQv////////8AWARAIBYgF4QhFSAFQdAAaiACIAQgAyASEFcgAUIxhiAFKQNYfSAFKQNQIgFCAFKtfSEKQgAgAX0hCyAGQf7/AGoMAQsgBUHgAGogBEI/hiACQgGIhCICIARCAYgiBCADIBIQVyABQjCGIAUpA2h9IAUpA2AiDEIAUq19IQpCACAMfSELIAEhDCAGQf//AGoLIgZB//8BTgRAIA1CgICAgICAwP//AIQhDUIAIQEMAQsCfiAGQQBKBEAgCkIBhiALQj+IhCEKIARC////////P4MgBq1CMIaEIQwgC0IBhgwBCyAGQY9/TARAQgAhAQwCCyAFQUBrIAIgBEEBIAZrEKoBIAVBMGogDCAVIAZB8ABqEFEgBUEgaiADIBIgBSkDQCICIAUpA0giDBBXIAUpAzggBSkDKEIBhiAFKQMgIgFCP4iEfSAFKQMwIgQgAUIBhiIBVK19IQogBCABfQshBCAFQRBqIAMgEkIDQgAQVyAFIAMgEkIFQgAQVyAMIAIgAiADIAJCAYMiASAEfCIDVCAKIAEgA1atfCIBIBJWIAEgElEbrXwiAlatfCIEIAIgAiAEQoCAgICAgMD//wBUIAMgBSkDEFYgASAFKQMYIgRWIAEgBFEbca18IgJWrXwiBCACIARCgICAgICAwP//AFQgAyAFKQMAViABIAUpAwgiA1YgASADURtxrXwiASACVK18IA2EIQ0LIAAgATcDACAAIA03AwggBUHQAmokAAvAAQIBfwJ+QX8hAwJAIABCAFIgAUL///////////8AgyIEQoCAgICAgMD//wBWIARCgICAgICAwP//AFEbDQAgAkL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFJxDQAgACAEIAWEhFAEQEEADwsgASACg0IAWQRAIAEgAlIgASACU3ENASAAIAEgAoWEQgBSDwsgAEIAUiABIAJVIAEgAlEbDQAgACABIAKFhEIAUiEDCyADC5kCACAARQRAQQAPCwJ/AkAgAAR/IAFB/wBNDQECQEGwnQEoAgAoAgBFBEAgAUGAf3FBgL8DRg0DDAELIAFB/w9NBEAgACABQT9xQYABcjoAASAAIAFBBnZBwAFyOgAAQQIMBAsgAUGAQHFBgMADRyABQYCwA09xRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMMBAsgAUGAgARrQf//P00EQCAAIAFBP3FBgAFyOgADIAAgAUESdkHwAXI6AAAgACABQQZ2QT9xQYABcjoAAiAAIAFBDHZBP3FBgAFyOgABQQQMBAsLQZCbAUEZNgIAQX8FQQELDAELIAAgAToAAEEBCwu8AgACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAICQoICQECAwQKCQoKCAkFBgcLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASsDADkDAA8LIAAgAiADEQQACw8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAAtyAQN/IAAoAgAsAABBMGtBCk8EQEEADwsDQCAAKAIAIQNBfyEBIAJBzJmz5gBNBEBBfyADLAAAQTBrIgEgAkEKbCICaiABIAJB/////wdzShshAQsgACADQQFqNgIAIAEhAiADLAABQTBrQQpJDQALIAILwQIBAn8gACgCFCEDAkAgAUEASgRAIAMoAgAgAUEDdGoiASAAKAIMSQ0BIAAoAhBBLGohAQwBCyABQdnzQk4EQCAAKAIMIAFBA3RqIQEMAQsgAUHY80JGBEAgACgCEEEkaiEBDAELIAMoAgAiAy0ABEHmAEYEQCADKAIAIgMtAAZB2PNCIAFrTwRAIANBACABa0EDdGpBuOLoA2shAQwCCyAAKAIQQSxqIQEMAQsgACgCEEEsaiEBC0EAIQMCQCACQQFrIgIgASgCACIELwEGTw0AIAQgAkEDdGoiAiAAKAIMQQhrIgMoAgA2AhggAiADLQAEOgAcQQEhAyAAKAIMQQhrIgItAARBwABxRQ0AIAEoAgAiAS0ABUEgcUUNACACKAIALQAFQRhxRQ0AIAAgARBrCyAAIAAoAgxBCGs2AgwgAwucEwIYfwF+IwBB0ABrIggkACAIIAE2AkwgBEHAAWshGCADQYADayEZIAhBN2ohGiAIQThqIRICQAJAAkADQEEAIQcDQCABIQ0gByARQf////8Hc0oNAiAHIBFqIRECQAJAAkAgASIHLQAAIgkEQANAAkACQCAJQf8BcSIBRQRAIAchAQwBCyABQSVHDQEgByEJA0AgCS0AAUElRwRAIAkhAQwCCyAHQQFqIQcgCS0AAiEcIAlBAmoiASEJIBxBJUYNAAsLIAcgDWsiByARQf////8HcyIbSg0IIAAEQCAAIA0gBxBOCyAHDQYgCCABNgJMIAFBAWohB0F/IQ4CQCABLAABQTBrIglBCk8NACABLQACQSRHDQAgAUEDaiEHIAkhDkEBIRMLIAggBzYCTEEAIQwCQCAHLAAAIglBIGsiAUEfSwRAIAchCwwBCyAHIQtBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCzYCTCABIAxyIQwgBywAASIJQSBrIgFBIE8NASALIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAIAtBAWohCQJ/AkAgCywAAUEwa0EKTw0AIAstAAJBJEcNACAJLAAAIQEgC0EDaiEJQQEhEwJ/IABFBEAgGCABQQJ0akEKNgIAQQAMAQsgGSABQQN0aigCAAsMAQsgEw0GIABFBEAgCCAJNgJMQQAhE0EAIQ8MAwsgAiACKAIAIgFBBGo2AgBBACETIAEoAgALIQ8gCCAJNgJMIA9BAE4NAUEAIA9rIQ8gDEGAwAByIQwMAQsgCEHMAGoQ3gIiD0EASA0JIAgoAkwhCQtBACEHQX8hCgJ/IAktAABBLkcEQCAJIQFBAAwBCyAJLQABQSpGBEAgCUECaiEBAkACQCAJLAACQTBrQQpPDQAgCS0AA0EkRw0AIAEsAAAhAQJ/IABFBEAgGCABQQJ0akEKNgIAQQAMAQsgGSABQQN0aigCAAshCiAJQQRqIQEMAQsgEw0GIABFBEBBACEKDAELIAIgAigCACILQQRqNgIAIAsoAgAhCgsgCCABNgJMIApBAE4MAQsgCCAJQQFqNgJMIAhBzABqEN4CIQogCCgCTCEBQQELIRQDQCAHIRVBHCEQIAEiFiwAACIHQfsAa0FGSQ0KIAFBAWohASAHIBVBOmxqQa+TAWotAAAiB0EBa0EISQ0ACyAIIAE2AkwCQCAHQRtHBEAgB0UNCyAOQQBOBEAgAEUEQCAEIA5BAnRqIAc2AgAMCwsgCCADIA5BA3RqKQMANwNADAILIABFDQcgCEFAayAHIAIgBhDdAgwBCyAOQQBODQpBACEHIABFDQcLQX8hECAALQAAQSBxDQogDEH//3txIgkgDCAMQYDAAHEbIQxBACEOQZoKIRcgEiELAkACQAJAAn8CQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgFiwAACIHQV9xIAcgB0EPcUEDRhsgByAVGyIHQdgAaw4hBBQUFBQUFBQUDhQPBg4ODhQGFBQUFAIFAxQUCRQBFBQEAAsCQCAHQcEAaw4HDhQLFA4ODgALIAdB0wBGDQkMEwsgCCkDQCEfQZoKDAULQQAhBwJAAkACQAJAAkACQAJAIBVB/wFxDggAAQIDBBoFBhoLIAgoAkAgETYCAAwZCyAIKAJAIBE2AgAMGAsgCCgCQCARrDcDAAwXCyAIKAJAIBE7AQAMFgsgCCgCQCAROgAADBULIAgoAkAgETYCAAwUCyAIKAJAIBGsNwMADBMLQQggCiAKQQhNGyEKIAxBCHIhDEH4ACEHCyASIQ0gB0EgcSEWIAgpA0AiH0IAUgRAA0AgDUEBayINIB+nQQ9xQcCXAWotAAAgFnI6AAAgH0IPViEdIB9CBIghHyAdDQALCyAIKQNAUA0DIAxBCHFFDQMgB0EEdkGaCmohF0ECIQ4MAwsgEiEHIAgpA0AiH0IAUgRAA0AgB0EBayIHIB+nQQdxQTByOgAAIB9CB1YhHiAfQgOIIR8gHg0ACwsgByENIAxBCHFFDQIgCiASIAdrIgdBAWogByAKSBshCgwCCyAIKQNAIh9CAFMEQCAIQgAgH30iHzcDQEEBIQ5BmgoMAQsgDEGAEHEEQEEBIQ5BmwoMAQtBnApBmgogDEEBcSIOGwshFyAfIBIQwQEhDQsgFCAKQQBIcQ0PIAxB//97cSAMIBQbIQwCQCAIKQNAIh9CAFINACAKDQAgEiENQQAhCgwMCyAKIB9QIBIgDWtqIgcgByAKSBshCgwLCyAIKAJAIgdBjDwgBxsiDUEAQf////8HIAogCkH/////B08bIgsQjQEiByANayALIAcbIgcgDWohCyAKQQBOBEAgCSEMIAchCgwLCyAJIQwgByEKIAstAAANDgwKCyAKBEAgCCgCQAwCC0EAIQcgAEEgIA9BACAMEFIMAgsgCEEANgIMIAggCCkDQD4CCCAIIAhBCGoiBzYCQEF/IQogBwshCUEAIQcCQANAIAkoAgAiDUUNAQJAIAhBBGogDRDcAiILQQBIIg0NACALIAogB2tLDQAgCUEEaiEJIAcgC2oiByAKSQ0BDAILCyANDQ4LQT0hECAHQQBIDQwgAEEgIA8gByAMEFIgB0UEQEEAIQcMAQtBACELIAgoAkAhCQNAIAkoAgAiDUUNASAIQQRqIgogDRDcAiINIAtqIgsgB0sNASAAIAogDRBOIAlBBGohCSAHIAtLDQALCyAAQSAgDyAHIAxBgMAAcxBSIA8gByAHIA9IGyEHDAgLIBQgCkEASHENCUE9IRAgACAIKwNAIA8gCiAMIAcgBREYACIHQQBODQcMCgsgCCAIKQNAPAA3QQEhCiAaIQ0gCSEMDAQLIActAAEhCSAHQQFqIQcMAAsACyARIRAgAA0HIBNFDQJBASEHA0AgBCAHQQJ0aigCACIABEAgAyAHQQN0aiAAIAIgBhDdAkEBIRAgB0EBaiIHQQpHDQEMCQsLQQEhECAHQQpPDQcDQCAEIAdBAnRqKAIADQEgB0EBaiIHQQpHDQALDAcLQRwhEAwFCyAKIAsgDWsiCSAJIApIGyILIA5B/////wdzSg0DQT0hECAPIAsgDmoiCiAKIA9IGyIHIBtKDQQgAEEgIAcgCiAMEFIgACAXIA4QTiAAQTAgByAKIAxBgIAEcxBSIABBMCALIAlBABBSIAAgDSAJEE4gAEEgIAcgCiAMQYDAAHMQUgwBCwsLQQAhEAwCC0E9IRALQZCbASAQNgIAQX8hEAsgCEHQAGokACAQC38CAX8BfiAAvSIDQjSIp0H/D3EiAkH/D0cEfCACRQRAIAEgAEQAAAAAAAAAAGEEf0EABSAARAAAAAAAAPBDoiABEOECIQAgASgCAEFAags2AgAgAA8LIAEgAkH+B2s2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvwUgAAsLawECfwJAIABBf0YNACABKAJMQQBIIQMCQAJAIAEoAgQiAkUEQCABEJ0CGiABKAIEIgJFDQELIAIgASgCLEEIa0sNAQsgAw0BDwsgASACQQFrIgI2AgQgAiAAOgAAIAEgASgCAEFvcTYCAAsLmgIDBn8CfAF+IwBBEGsiAiQAQbCbAS0AAEUEQEGxmwEQBjoAAEGwmwFBAToAAAsgAgJ+EAAiCEQAAAAAAECPQKMiB5lEAAAAAAAA4ENjBEAgB7AMAQtCgICAgICAgICAfwsiCTcDACACAn8gCCAJQugHfrmhRAAAAAAAQI9AokQAAAAAAECPQKIiB5lEAAAAAAAA4EFjBEAgB6oMAQtBgICAgHgLNgIIIAIoAgghBCACKAIAIQVB6JwBKAIAIQZBmK8BQZivASgCACIBQQFqNgIAIAEgBCAFaiAGQYGABGxqaiEBA0AgACADaiABQQ9xIAFBAXRBIHFyQcEAajoAACABQQV2IQEgA0EBaiIDQQZHDQALIAJBEGokAAuDNwMWfwd+AXwjAEEQayIVJAAjAEGgAWsiECQAIBAgADYCPCAQIAA2AhQgEEF/NgIYIBBBEGoiAkIANwNwIAIgAigCLCACKAIEa6w3A3ggAiACKAIINgJoIwBBMGsiDyQAQZyTASgCACETQZCTASgCACESA0ACfyACKAIEIgYgAigCaEcEQCACIAZBAWo2AgQgBi0AAAwBCyACEEULIggiBkEgRiAGQQlrQQVJcg0AC0EBIQYCQAJAIAhBK2sOAwABAAELQX9BASAIQS1GGyEGIAIoAgQiBCACKAJoRwRAIAIgBEEBajYCBCAELQAAIQgMAQsgAhBFIQgLAkACQAJAA0AgB0GSCGosAAAgCEEgckYEQAJAIAdBBksNACACKAIEIgQgAigCaEcEQCACIARBAWo2AgQgBC0AACEIDAELIAIQRSEICyAHQQFqIgdBCEcNAQwCCwsgB0EDRwRAIAdBCEYiBA0BIAdBBEkNAiAEDQELIAIpA3AiGEIAWQRAIAIgAigCBEEBazYCBAsgB0EESQ0AIBhCAFMhBANAIARFBEAgAiACKAIEQQFrNgIECyAHQQFrIgdBA0sNAAsLQgAhGCMAQRBrIgQkAAJ+IAayQwAAgH+UvCIGQf////8HcSICQYCAgARrQf////cHTQRAIAKtQhmGQoCAgICAgIDAP3wMAQsgBq1CGYZCgICAgICAwP//AIQgAkGAgID8B08NABpCACACRQ0AGiAEIAKtQgAgAmciAkHRAGoQUSAEKQMAIRggBCkDCEKAgICAgIDAAIVBif8AIAJrrUIwhoQLIRkgDyAYNwMAIA8gGSAGQYCAgIB4ca1CIIaENwMIIARBEGokACAPKQMIIRggDykDACEZDAELAkACQAJAIAcNAEEAIQcDQCAHQfwcaiwAACAIQSByRw0BAkAgB0EBSw0AIAIoAgQiBCACKAJoRwRAIAIgBEEBajYCBCAELQAAIQgMAQsgAhBFIQgLIAdBAWoiB0EDRw0ACwwBCwJAAkAgBw4EAAEBAgELAkAgCEEwRw0AAn8gAigCBCIEIAIoAmhHBEAgAiAEQQFqNgIEIAQtAAAMAQsgAhBFC0FfcUHYAEYEQEEAIQgjAEGwA2siBSQAAn8gAigCBCIEIAIoAmhHBEAgAiAEQQFqNgIEIAQtAAAMAQsgAhBFCyEJAkACfwNAIAlBMEcEQAJAIAlBLkcNBCACKAIEIgQgAigCaEYNACACIARBAWo2AgQgBC0AAAwDCwUgAigCBCIEIAIoAmhHBH9BASELIAIgBEEBajYCBCAELQAABUEBIQsgAhBFCyEJDAELCyACEEULIQlBASENIAlBMEcNAANAIBpCAX0hGgJ/IAIoAgQiBCACKAJoRwRAIAIgBEEBajYCBCAELQAADAELIAIQRQsiCUEwRg0AC0EBIQsLQoCAgICAgMD/PyEZA0ACQCAJQSByIQwCQAJAIAlBMGsiB0EKSQ0AIAlBLkciBCAMQeEAa0EFS3ENAiAEDQAgDQ0CQQEhDSAYIRoMAQsgDEHXAGsgByAJQTlKGyEEAkAgGEIHVwRAIAQgCEEEdGohCAwBCyAYQhxYBEAgBUEwaiAEEGcgBUEgaiAdIBlCAEKAgICAgIDA/T8QMiAFQRBqIAUpAzAgBSkDOCAFKQMgIh0gBSkDKCIZEDIgBSAFKQMQIAUpAxggGyAcEGAgBSkDCCEcIAUpAwAhGwwBCyAERQ0AIA4NACAFQdAAaiAdIBlCAEKAgICAgICA/z8QMiAFQUBrIAUpA1AgBSkDWCAbIBwQYCAFKQNIIRxBASEOIAUpA0AhGwsgGEIBfCEYQQEhCwsgAigCBCIEIAIoAmhHBH8gAiAEQQFqNgIEIAQtAAAFIAIQRQshCQwBCwsCfiALRQRAIAIpA3BCAFkEQAJAIAIgAigCBCIEQQFrNgIEIAIgBEECazYCBCANRQ0AIAIgBEEDazYCBAsLIAVB4ABqIAa3RAAAAAAAAAAAohCGASAFKQNgIRsgBSkDaAwBCyAYQgdXBEAgGCEZA0AgCEEEdCEIIBlCAXwiGUIIUg0ACwsCQAJAAkAgCUFfcUHQAEYEQCACEOUCIhlCgICAgICAgICAf1INAyACKQNwQgBZDQEMAgtCACEZIAIpA3BCAFMNAgsgAiACKAIEQQFrNgIEC0IAIRkLIAhFBEAgBUHwAGogBrdEAAAAAAAAAACiEIYBIAUpA3AhGyAFKQN4DAELIBogGCANG0IChiAZfEIgfSIYQQAgE2utVQRAQZCbAUHEADYCACAFQaABaiAGEGcgBUGQAWogBSkDoAEgBSkDqAFCf0L///////+///8AEDIgBUGAAWogBSkDkAEgBSkDmAFCf0L///////+///8AEDIgBSkDgAEhGyAFKQOIAQwBCyATQeIBa6wgGFcEQCAIQQBOBEADQCAFQaADaiAbIBxCAEKAgICAgIDA/79/EGAgGyAcQoCAgICAgID/PxDbAiECIAVBkANqIBsgHCAFKQOgAyAbIAJBAE4iAhsgBSkDqAMgHCACGxBgIBhCAX0hGCAFKQOYAyEcIAUpA5ADIRsgCEEBdCACciIIQQBODQALCwJ+IBggE6x9QiB8IhmnIgJBACACQQBKGyASIBkgEq1TGyICQfEATgRAIAVBgANqIAYQZyAFKQOIAyEaIAUpA4ADIR1CAAwBCyAFQeACakQAAAAAAADwP0GQASACaxCuARCGASAFQdACaiAGEGcgBUHwAmogBSkD4AIgBSkD6AIgBSkD0AIiHSAFKQPYAiIaEOgCIAUpA/gCIR4gBSkD8AILIRkgBUHAAmogCCAIQQFxRSAbIBxCAEIAEKsBQQBHIAJBIEhxcSICahDAASAFQbACaiAdIBogBSkDwAIgBSkDyAIQMiAFQZACaiAFKQOwAiAFKQO4AiAZIB4QYCAFQaACaiAdIBpCACAbIAIbQgAgHCACGxAyIAVBgAJqIAUpA6ACIAUpA6gCIAUpA5ACIAUpA5gCEGAgBUHwAWogBSkDgAIgBSkDiAIgGSAeEJACIAUpA/ABIhogBSkD+AEiGUIAQgAQqwFFBEBBkJsBQcQANgIACyAFQeABaiAaIBkgGKcQ5wIgBSkD4AEhGyAFKQPoAQwBC0GQmwFBxAA2AgAgBUHQAWogBhBnIAVBwAFqIAUpA9ABIAUpA9gBQgBCgICAgICAwAAQMiAFQbABaiAFKQPAASAFKQPIAUIAQoCAgICAgMAAEDIgBSkDsAEhGyAFKQO4AQshGCAPIBs3AxAgDyAYNwMYIAVBsANqJAAgDykDGCEYIA8pAxAhGQwFCyACKQNwQgBTDQAgAiACKAIEQQFrNgIECyACIQQgBiENQQAhByMAQZDGAGsiAyQAQQAgE2siDCASayEXAkACfwNAIAhBMEcEQAJAIAhBLkcNBCAEKAIEIgIgBCgCaEYNACAEIAJBAWo2AgQgAi0AAAwDCwUgBCgCBCICIAQoAmhHBH8gBCACQQFqNgIEIAItAAAFIAQQRQshCEEBIQcMAQsLIAQQRQshCEEBIQkgCEEwRw0AA0AgGEIBfSEYAn8gBCgCBCICIAQoAmhHBEAgBCACQQFqNgIEIAItAAAMAQsgBBBFCyIIQTBGDQALQQEhBwsgA0EANgKQBiAIQTBrIQYCfgJAAkACQAJAAkAgCEEuRiICDQAgBkEJTQ0ADAELA0ACQCACQQFxBEAgCUUEQCAZIRhBASEJDAILIAdFIQIMBAsgGUIBfCEZIAtB/A9MBEAgDiAZpyAIQTBGGyEOIANBkAZqIAtBAnRqIgIgCgR/IAggAigCAEEKbGpBMGsFIAYLNgIAQQEhB0EAIApBAWoiAiACQQlGIgIbIQogAiALaiELDAELIAhBMEYNACADIAMoAoBGQQFyNgKARkHcjwEhDgsCfyAEKAIEIgIgBCgCaEcEQCAEIAJBAWo2AgQgAi0AAAwBCyAEEEULIghBMGshBiAIQS5GIgINACAGQQpJDQALCyAYIBkgCRshGAJAIAdFDQAgCEFfcUHFAEcNAAJAIAQQ5QIiG0KAgICAgICAgIB/Ug0AQgAhGyAEKQNwQgBTDQAgBCAEKAIEQQFrNgIECyAYIBt8IRgMAwsgB0UhAiAIQQBIDQELIAQpA3BCAFMNACAEIAQoAgRBAWs2AgQLIAJFDQBBkJsBQRw2AgAgBEIANwNwIAQgBCgCLCAEKAIEa6w3A3ggBCAEKAIINgJoQgAhGEIADAELIAMoApAGIgJFBEAgAyANt0QAAAAAAAAAAKIQhgEgAykDCCEYIAMpAwAMAQsCQCAZQglVDQAgGCAZUg0AIBJBHkxBACACIBJ2Gw0AIANBMGogDRBnIANBIGogAhDAASADQRBqIAMpAzAgAykDOCADKQMgIAMpAygQMiADKQMYIRggAykDEAwBCyAMQQF2rSAYUwRAQZCbAUHEADYCACADQeAAaiANEGcgA0HQAGogAykDYCADKQNoQn9C////////v///ABAyIANBQGsgAykDUCADKQNYQn9C////////v///ABAyIAMpA0ghGCADKQNADAELIBNB4gFrrCAYVQRAQZCbAUHEADYCACADQZABaiANEGcgA0GAAWogAykDkAEgAykDmAFCAEKAgICAgIDAABAyIANB8ABqIAMpA4ABIAMpA4gBQgBCgICAgICAwAAQMiADKQN4IRggAykDcAwBCyAKBEAgCkEITARAIANBkAZqIAtBAnRqIgIoAgAhCQNAIAlBCmwhCSAKQQFqIgpBCUcNAAsgAiAJNgIACyALQQFqIQsLIBinIQoCQCAOQQlODQAgCiAOSA0AIApBEUoNACAKQQlGBEAgA0HAAWogDRBnIANBsAFqIAMoApAGEMABIANBoAFqIAMpA8ABIAMpA8gBIAMpA7ABIAMpA7gBEDIgAykDqAEhGCADKQOgAQwCCyAKQQhMBEAgA0GQAmogDRBnIANBgAJqIAMoApAGEMABIANB8AFqIAMpA5ACIAMpA5gCIAMpA4ACIAMpA4gCEDIgA0HgAWpBACAKa0ECdEGQkwFqKAIAEGcgA0HQAWogAykD8AEgAykD+AEgAykD4AEgAykD6AEQ2gIgAykD2AEhGCADKQPQAQwCCyASIApBfWxqQRtqIgZBHkxBACADKAKQBiICIAZ2Gw0AIANB4AJqIA0QZyADQdACaiACEMABIANBwAJqIAMpA+ACIAMpA+gCIAMpA9ACIAMpA9gCEDIgA0GwAmogCkECdEHIkgFqKAIAEGcgA0GgAmogAykDwAIgAykDyAIgAykDsAIgAykDuAIQMiADKQOoAiEYIAMpA6ACDAELA0AgA0GQBmogCyICQQFrIgtBAnRqKAIARQ0AC0EAIQ4CQCAKQQlvIgRFBEBBACEGDAELQQAhBiAEQQlqIAQgCkEASBshEQJAIAJFBEBBACECDAELQYCU69wDQQAgEWtBAnRBkJMBaigCACIUbSEFQQAhCEEAIQkDQCADQZAGaiILIAlBAnRqIgQgCCAEKAIAIgwgFG4iB2oiBDYCACAGQQFqQf8PcSAGIARFIAYgCUZxIgQbIQYgCkEJayAKIAQbIQogBSAMIAcgFGxrbCEIIAlBAWoiCSACRw0ACyAIRQ0AIAJBAnQgC2ogCDYCACACQQFqIQILIAogEWtBCWohCgsDQCADQZAGaiAGQQJ0aiEUIApBJEghBQJAA0AgBUUEQCAKQSRHDQIgFCgCAEHR6fkETw0CCyACQf8PaiELQQAhBwNAIAIhBCAHrSADQZAGaiALQf8PcSIRQQJ0aiICNQIAQh2GfCIYQoGU69wDVAR/QQAFIBggGEKAlOvcA4AiGUKAlOvcA359IRggGacLIQcgAiAYpyICNgIAIAQgBCAEIBEgAhsgBiARRhsgESAEQQFrQf8PcSIMRxshAiARQQFrIQsgBiARRw0ACyAOQR1rIQ4gBCECIAdFDQALIAZBAWtB/w9xIgYgAkYEQCADQZAGaiIEIAJB/g9qQf8PcUECdGoiAiACKAIAIAxBAnQgBGooAgByNgIAIAwhAgsgCkEJaiEKIANBkAZqIAZBAnRqIAc2AgAMAQsLAkADQCACQQFqQf8PcSEEIANBkAZqIAJBAWtB/w9xQQJ0aiEIA0BBCUEBIApBLUobIRYCQANAIAYhB0EAIQkCQANAAkAgByAJakH/D3EiBiACRg0AIANBkAZqIAZBAnRqKAIAIgwgCUECdEHgkgFqKAIAIgZJDQAgBiAMSQ0CIAlBAWoiCUEERw0BCwsgCkEkRw0AQgAhGEEAIQlCACEZA0AgAiAHIAlqQf8PcSIGRgRAIAJBAWpB/w9xIgJBAnQgA2pBADYCjAYLIANBgAZqIANBkAZqIAZBAnRqKAIAEMABIANB8AVqIBggGUIAQoCAgIDlmreOwAAQMiADQeAFaiADKQPwBSADKQP4BSADKQOABiADKQOIBhBgIAMpA+gFIRkgAykD4AUhGCAJQQFqIglBBEcNAAsgA0HQBWogDRBnIANBwAVqIBggGSADKQPQBSADKQPYBRAyIAMpA8gFIRlCACEYIAMpA8AFIRsgDkHxAGoiDCATayILQQAgC0EAShsgEiALIBJIIgQbIgVB8ABMDQIMBQsgDiAWaiEOIAcgAiIGRg0AC0GAlOvcAyAWdiERQX8gFnRBf3MhFEEAIQkgByEGA0AgA0GQBmoiBSAHQQJ0aiIMIAkgDCgCACILIBZ2aiIMNgIAIAZBAWpB/w9xIAYgDEUgBiAHRnEiDBshBiAKQQlrIAogDBshCiALIBRxIBFsIQkgB0EBakH/D3EiByACRw0ACyAJRQ0BIAQgBkcEQCACQQJ0IAVqIAk2AgAgBCECDAMLIAggCCgCAEEBcjYCAAwBCwsLIANBkAVqRAAAAAAAAPA/QeEBIAVrEK4BEIYBIANBsAVqIAMpA5AFIAMpA5gFIBsgGRDoAiADKQO4BSEcIAMpA7AFIR0gA0GABWpEAAAAAAAA8D9B8QAgBWsQrgEQhgEgA0GgBWogGyAZIAMpA4AFIAMpA4gFEOYCIANB8ARqIBsgGSADKQOgBSIYIAMpA6gFIhoQkAIgA0HgBGogHSAcIAMpA/AEIAMpA/gEEGAgAykD6AQhGSADKQPgBCEbCwJAIAdBBGpB/w9xIgYgAkYNAAJAIANBkAZqIAZBAnRqKAIAIgZB/8m17gFNBEAgBkUEQCAHQQVqQf8PcSACRg0CCyADQfADaiANt0QAAAAAAADQP6IQhgEgA0HgA2ogGCAaIAMpA/ADIAMpA/gDEGAgAykD6AMhGiADKQPgAyEYDAELIAZBgMq17gFHBEAgA0HQBGogDbdEAAAAAAAA6D+iEIYBIANBwARqIBggGiADKQPQBCADKQPYBBBgIAMpA8gEIRogAykDwAQhGAwBCyANtyEfIAIgB0EFakH/D3FGBEAgA0GQBGogH0QAAAAAAADgP6IQhgEgA0GABGogGCAaIAMpA5AEIAMpA5gEEGAgAykDiAQhGiADKQOABCEYDAELIANBsARqIB9EAAAAAAAA6D+iEIYBIANBoARqIBggGiADKQOwBCADKQO4BBBgIAMpA6gEIRogAykDoAQhGAsgBUHvAEoNACADQdADaiAYIBpCAEKAgICAgIDA/z8Q5gIgAykD0AMgAykD2ANCAEIAEKsBDQAgA0HAA2ogGCAaQgBCgICAgICAwP8/EGAgAykDyAMhGiADKQPAAyEYCyADQbADaiAbIBkgGCAaEGAgA0GgA2ogAykDsAMgAykDuAMgHSAcEJACIAMpA6gDIRkgAykDoAMhGwJAIBdBAmsgDEH/////B3FODQAgAyAZQv///////////wCDNwOYAyADIBs3A5ADIANBgANqIBsgGUIAQoCAgICAgID/PxAyIAMpA5ADIAMpA5gDQoCAgICAgIC4wAAQ2wIhByADKQOIAyAZIAdBAE4iBhshGSADKQOAAyAbIAYbIRsgGCAaQgBCABCrASECIBcgBiAOaiIOQe4Aak4EQCAEIAUgC0cgB0EASHJxIAJBAEdxRQ0BC0GQmwFBxAA2AgALIANB8AJqIBsgGSAOEOcCIAMpA/gCIRggAykD8AILIRkgDyAYNwMoIA8gGTcDICADQZDGAGokACAPKQMoIRggDykDICEZDAMLIAIpA3BCAFkEQCACIAIoAgRBAWs2AgQLQZCbAUEcNgIADAELAkACfyACKAIEIgYgAigCaEcEQCACIAZBAWo2AgQgBi0AAAwBCyACEEULQShGBEBBASEHDAELQoCAgICAgOD//wAhGCACKQNwQgBTDQIgAiACKAIEQQFrNgIEDAILA0ACfyACKAIEIgYgAigCaEcEQCACIAZBAWo2AgQgBi0AAAwBCyACEEULIgRBwQBrIQYCQAJAIARBMGtBCkkNACAGQRpJDQAgBEHfAEYNACAEQeEAa0EaTw0BCyAHQQFqIQcMAQsLQoCAgICAgOD//wAhGCAEQSlGDQEgAikDcCIaQgBZBEAgAiACKAIEQQFrNgIECyAHRQ0BA0AgGkIAWQRAIAIgAigCBEEBazYCBAsgB0EBayIHDQALDAELIAJCADcDcCACIAIoAiwgAigCBGusNwN4IAIgAigCCDYCaAsgECAZNwMAIBAgGDcDCCAPQTBqJAAgECkDCCEZIBApAwAhGCABBEAgASAQKAKIASAAIBAoAhQgECgCPGtqajYCAAsgFSAZNwMIIBUgGDcDACAQQaABaiQAIBUpAwAhGSAVKQMIIRojAEEgayICJAACQCAaQv///////////wCDIhhCgICAgICAwMA/fSAYQoCAgICAgMC/wAB9VARAIBpCGYinIQEgGVAgGkL///8PgyIYQoCAgAhUIBhCgICACFEbRQRAIAFBgYCAgARqIQAMAgsgAUGAgICABGohACAZIBhCgICACIWEQgBSDQEgACABQQFxaiEADAELIBlQIBhCgICAgICAwP//AFQgGEKAgICAgIDA//8AURtFBEAgGkIZiKdB////AXFBgICA/gdyIQAMAQtBgICA/AchACAYQv///////7+/wABWDQBBACEAIBhCMIinIgFBkf4ASQ0AIAJBEGogGSAaQv///////z+DQoCAgICAgMAAhCIYIAFBgf4AaxBRIAIgGSAYQYH/ACABaxCqASACKQMIIhlCGYinIQAgAikDACACKQMQIAIpAxiEQgBSrYQiGFAgGUL///8PgyIZQoCAgAhUIBlCgICACFEbRQRAIABBAWohAAwBCyAYIBlCgICACIWEQgBSDQAgAEEBcSAAaiEACyACQSBqJAAgFUEQaiQAIAAgGkIgiKdBgICAgHhxcr4L+gMCBH8BfgJAAkACQAJAAkACfyAAKAIEIgEgACgCaEcEQCAAIAFBAWo2AgQgAS0AAAwBCyAAEEULIgFBK2sOAwABAAELIAFBLUYhAwJ/IAAoAgQiASAAKAJoRwRAIAAgAUEBajYCBCABLQAADAELIAAQRQsiAUE6ayICQXVLDQEgACkDcEIAUw0CIAAgACgCBEEBazYCBAwCCyABQTprIQILIAJBdkkNAAJAIAFBMGtBCk8NAEEAIQIDQCABIAJBCmxqQTBrIgJBzJmz5gBIAn8gACgCBCIBIAAoAmhHBEAgACABQQFqNgIEIAEtAAAMAQsgABBFCyIBQTBrIgRBCU1xDQALIAKsIQUgBEEKTw0AA0AgAa0gBUIKfnwhBQJ/IAAoAgQiASAAKAJoRwRAIAAgAUEBajYCBCABLQAADAELIAAQRQsiAUEwayICQQlNIAVCMH0iBUKuj4XXx8LrowFTcQ0ACyACQQpPDQADQAJ/IAAoAgQiASAAKAJoRwRAIAAgAUEBajYCBCABLQAADAELIAAQRQtBMGtBCkkNAAsLIAApA3BCAFkEQCAAIAAoAgRBAWs2AgQLQgAgBX0gBSADGyEFDAELQoCAgICAgICAgH8hBSAAKQNwQgBTDQAgACAAKAIEQQFrNgIEQoCAgICAgICAgH8PCyAFC8oGAgV/BH4jAEGAAWsiBSQAAkACQAJAIAMgBEIAQgAQqwFFDQACfyAEQv///////z+DIQsCfyAEQjCIp0H//wFxIgZB//8BRwRAQQQgBg0BGkECQQMgAyALhFAbDAILIAMgC4RQCwshCSACQjCIpyIIQf//AXEiB0H//wFGDQAgCQ0BCyAFQRBqIAEgAiADIAQQMiAFIAUpAxAiAiAFKQMYIgEgAiABENoCIAUpAwghAiAFKQMAIQQMAQsgASACQv///////////wCDIgsgAyAEQv///////////wCDIgoQqwFBAEwEQCABIAsgAyAKEKsBBEAgASEEDAILIAVB8ABqIAEgAkIAQgAQMiAFKQN4IQIgBSkDcCEEDAELIARCMIinQf//AXEhBiAHBH4gAQUgBUHgAGogASALQgBCgICAgICAwLvAABAyIAUpA2giC0IwiKdB+ABrIQcgBSkDYAshBCAGRQRAIAVB0ABqIAMgCkIAQoCAgICAgMC7wAAQMiAFKQNYIgpCMIinQfgAayEGIAUpA1AhAwsgCkL///////8/g0KAgICAgIDAAIQhDCALQv///////z+DQoCAgICAgMAAhCELIAYgB0gEQANAAn4gCyAMfSADIARWrX0iCkIAWQRAIAogBCADfSIEhFAEQCAFQSBqIAEgAkIAQgAQMiAFKQMoIQIgBSkDICEEDAULIApCAYYgBEI/iIQMAQsgC0IBhiAEQj+IhAshCyAEQgGGIQQgB0EBayIHIAZKDQALIAYhBwsCQCALIAx9IAMgBFatfSIKQgBTBEAgCyEKDAELIAogBCADfSIEhEIAUg0AIAVBMGogASACQgBCABAyIAUpAzghAiAFKQMwIQQMAQsgCkL///////8/WARAA0AgBEI/iCENIAdBAWshByAEQgGGIQQgDSAKQgGGhCIKQoCAgICAgMAAVA0ACwsgCEGAgAJxIQYgB0EATARAIAVBQGsgBCAKQv///////z+DIAdB+ABqIAZyrUIwhoRCAEKAgICAgIDAwz8QMiAFKQNIIQIgBSkDQCEEDAELIApC////////P4MgBiAHcq1CMIaEIQILIAAgBDcDACAAIAI3AwggBUGAAWokAAu/AgEBfyMAQdAAayIEJAACQCADQYCAAU4EQCAEQSBqIAEgAkIAQoCAgICAgID//wAQMiAEKQMoIQIgBCkDICEBIANB//8BSQRAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABAyQf3/AiADIANB/f8CThtB/v8BayEDIAQpAxghAiAEKQMQIQEMAQsgA0GBgH9KDQAgBEFAayABIAJCAEKAgICAgICAORAyIAQpA0ghAiAEKQNAIQEgA0H0gH5LBEAgA0GN/wBqIQMMAQsgBEEwaiABIAJCAEKAgICAgICAORAyQeiBfSADIANB6IF9TBtBmv4BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhAyIAAgBCkDCDcDCCAAIAQpAwA3AwAgBEHQAGokAAs8ACAAIAE3AwAgACACQv///////z+DIAJCgICAgICAwP//AINCMIinIARCMIinQYCAAnFyrUIwhoQ3AwgLwgEBA38jAEEgayIDJAACQAJAIAEsAAAiAgRAIAEtAAENAQsgACACEOgBIQEMAQsgA0EAQSAQaRogAS0AACICBEADQCADIAJBA3ZBHHFqIgQgBCgCAEEBIAJ0cjYCACABLQABIQIgAUEBaiEBIAINAAsLIAAiAS0AACICRQ0AA0AgAyACQQN2QRxxaigCACACdkEBcQ0BIAEtAAEhAiABQQFqIQEgAg0ACwsgA0EgaiQAIAAgASAAa2oiAEEAIAAtAAAbC2ABAn8g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AWo2AgQgAi0AACECDAELIAIQHiICQX9GDQsLIANB////B08NCyACQf8AcSADQQd0ciEDIAJBgAFxRQ0ACyABKAJEIAZqIAM2AgQgBUEBaiIFIARHDQALC0EAIQUDQCAFIQQgACgCBCICIAIoAgAiBUEBazYCAAJAIAUEQCACIAIoAgQiAkEBajYCBCACLQAAIQMMAQsgAhAeIgNBf0YNCQsgBEH///8HTw0JIANB/wBxIARBB3RyIgQhBSADQYABcUUNAAsgACgCACEGIAVB1arVqgFrQanVqtV+TQ0GQQAhAiAGIAVBDGxBABBwIQYgASAFNgIgIAEgBjYCSCAFBEAgA0EHcSEHIARBAWtBB08EQCAFIAdrIQRBACEDA0AgBiACQQxsakEANgIAIAYgAkEBckEMbGpBADYCACAGIAJBAnJBDGxqQQA2AgAgBiACQQNyQQxsakEANgIAIAYgAkEEckEMbGpBADYCACAGIAJBBXJBDGxqQQA2AgAgBiACQQZyQQxsakEANgIAIAYgAkEHckEMbGpBADYCACACQQhqIQIgA0EIaiIDIARHDQALCyAHBEBBACEDA0AgBiACQQxsakEANgIAIAJBAWohAiADQQFqIgMgB0cNAAsLQQAhBANAIAAgARDuASECIARBDGwiBiABKAJIaiACNgIAQQAhAwNAIAAoAgQiAiACKAIAIgdBAWs2AgACQCAHBEAgAiACKAIEIgJBAWo2AgQgAi0AACECDAELIAIQHiICQX9GDQsLIANB////B08NCyACQf8AcSADQQd0ciEDIAJBgAFxRQ0ACyABKAJIIAZqIAM2AgRBACEDA0AgACgCBCICIAIoAgAiB0EBazYCAAJAIAcEQCACIAIoAgQiAkEBajYCBCACLQAAIQIMAQsgAhAeIgJBf0YNCwsgA0H///8HTw0LIAJB/wBxIANBB3RyIQMgAkGAAXFFDQALIAEoAkggBmogAzYCCCAEQQFqIgQgBUcNAAsLQQAhAgNAIAAoAgQiBCAEKAIAIgVBAWs2AgACQCAFBEAgBCAEKAIEIgRBAWo2AgQgBC0AACEDDAELIAQQHiIDQX9GDQkLIAJB////B08NCSADQf8AcSACQQd0ciECIANBgAFxRQ0ACyACBEBBACEDA0AgACABEO4BIQQgASgCPCADQQN0aiAENgIAIANBAWoi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CyACIANBJHI6AAULIAIhAwsgAygCACICDQALIAEoAkwhBgsgASAGNgKEASABIAY2AoABIAEgBjYCfCABKAJkIgIEQCABQeQAaiEDIAAoAhAhBQNAAkAgAi0ABSIEQRhxBEAgAyACKAIANgIAIAAgAhBbDAELIARB+AFxIgNBBHIhBAJAAkACQAJAIAItAARBCGsOAgABAgsgAiAFKAJUNgIoIAUgAjYCVCACIARBxAFxOgAFDAILIAIoAgggAkEMakYNACACIARBxAFxOgAFDAELIAIgA0EkcjoABQsgAiEDCyADKAIAIgINAAsLIAFBADYCFCABQQE6ADogASABKAIMIAEoAghqNgIQIAAgARCmAwvSAQEBfwJAIAAoAhAiAi0AOiABRg0AIAFBAUYEQCAAIAIQvQIaDAELIAItADhBGHEhACACKAJEIgEEQANAIAEgAS0ABUHAAXEgAHI6AAUgASgCACIBDQALCyACQQA2AnQgAkIANwJsIAIoAkwiAQRAA0AgASABLQAFQcABcSAAcjoABSABKAIAIgENAAsLIAIoAmQiAQRAA0AgASABLQAFQcABcSAAcjoABSABKAIAIgENAAsLIAJBADYChAEgAkIANwJ8IAJBCDsAOQsgAkEANgIUC/8CAQN/AkAgAkUNACABLQAFQcAAcQ0AIAItAAZBBHENACACQQIgACgCECIDKAKgARBqRQ0AIAMtAD5BBHENAAJAIAMtADlBA2tB/wFxQQNNBEAgASADLQA4QRhxIAEtAAVBxwFxcjoABSADKAJIIAFHDQEDQCABIQJBACEEIAEoAgAiBQRAAn8gBS0ABSICIAAoAhAtADgiBEEYc3EEQCABIAUoAgA2AgAgACAFEFsgAQwBCyAFIAJBwAFxIARBGHFyOgAFIAULIgIoAgAhBAsgAkEAIAQbIgIgAUYNAAsgAyACNgJIDAELIAEgAygCbEYEQCADIAEoAgA2AmwLIAEgAygCcEYEQCADIAEoAgA2AnALIAEgAygCdEYEQCADIAEoAgA2AnQLIAMoAnggAUcNACADIAEoAgA2AngLIANBxABqIQIDQCACIgAoAgAiAiABRw0ACyAAIAEoAgA2AgAgASADKAJMNgIAIAMgATYCTCABIAEtAAVBwAByOgAFCwukAQEEfwJAIAAoAiAiAkUNAANAIAIoAgggAUkN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AGtBA3UgAWohAQsgACABEHcEfyAAIAIQIhogAEF+EG9FBEAgAEF9EBxBAA8LIABBfkF/ECwgAEF+EBwgACABECMgAEEBQQFBAEEAEGhBAQVBAAsLcwEDf0HvASEDAkACQCAAEFMiAkHvAUYEQCAAEFNBuwFHDQEgABBTQb8BRw0BIAAQUyECCyABIAI2AgAgAkEjRw0BA0ACQCAAEFNBAWoODAABAQEBAQEBAQEBAAELC0EBIQQgABBTIQMLIAEgAzYCAAsgBAtHAQF/IwBBEGsiAyQAAkAgACABECFBAEwNACAAIAEgA0EMahDSASECIAMoAgwNACAAIAFB0NoAKAIAEFAaCyADQRBqJAAgAgtCAQJ/AkAgACABEGUiBEUNACAAIAEQd0UNACAAQdjzQiACEDEaIABBf0F+EOABIQEgAEF9EBwgBEEAIAEbIQMLIAMLIwEBfyAAKAIQIgAoAsgFIgMEQCAAKALMBSABIAIgAxEFAAsLFwAgACgCECIAIAE2AsgFIAAgAjYCzAULFQAgACgCECIAIAE2AgAgACACNgIECxwAIAEEQCABIAAoAhAoAgQ2AgALIAAoAhAoAgALBwAgAC0ABgsQACMAIABrQXBxIgAkACAACwYAIAAkAAsEACMACxEAIAAgASgCACABKAIEEKMBCwYAIAAkAQsfAEHgtwEoAgBFBEBB4LcBIAA2AgBB5LcBIAE2AgALCwcAIAAQmAELBwAgABCZAQuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGEC4aIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEEC4aIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACC/4DAgR+AX8gASABKAIAQQdqQXhxIgFBEGo2AgAgACEGIAEpAwAhAyABKQMIIQUjAEEgayIAJAACQCAFQv///////////wCDIgRCgICAgICAwIA8fSAEQoCAgICAgMD/wwB9VARAIAVCBIYgA0I8iIQhBCADQv//////////D4MiA0KBgICAgICAgAhaBEAgBEKBgICAgICAgMAAfCECDAILIARCgICAgICAgIBAfSECIANCgICAgICAgIAIUg0BIAIgBEIBg3whAgwBCyADUCAEQoCAgICAgMD//wBUIARCgICAgICAwP//AFEbRQRAIAVCBIYgA0I8iIRC/////////wODQoCAgICAgID8/wCEIQIMAQtCgICAgICAgPj/ACECIARC////////v//DAFYNAEIAIQIgBEIwiKciAUGR9wBJDQAgAEEQaiADIAVC////////P4NCgICAgICAwACEIgIgAUGB9wBrEFEgACADIAJBgfgAIAFrEKoBIAApAwhCBIYgACkDACIDQjyIhCECIAApAxAgACkDGIRCAFKtIANC//////////8Pg4QiA0KBgICAgICAgAhaBEAgAkIBfCECDAELIANCgICAgICAgIAIUg0AIAJCAYMgAnwhAgsgAEEgaiQAIAYgAiAFQoCAgICAgICAgH+DhL85AwALpBgDE38BfAJ+IwBBsARrIgwkACAMQQA2AiwCQCABvSIaQgBTBEBBASEPQaQKIRMgAZoiAb0hGgwBCyAEQYAQcQRAQQEhD0GnCiETDAELQaoKQaUKIARBAXEiDxshEyAPRSEVCwJAIBpCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiAPQQNqIgMgBEH//3txEFIgACATIA8QTiAAQfwcQZ83IAVBIHEiBRtBkyVByDcgBRsgASABYhtBAxBOIABBICACIAMgBEGAwABzEFIgAyACIAIgA0gbIQkMAQsgDEEQaiESAkACfwJAIAEgDEEsahDhAiIBIAGgIgFEAAAAAAAAAABiBEAgDCAMKAIsIgZBAWs2AiwgBUEgciIOQeEARw0BDAMLIAVBIHIiDkHhAEYNAiAMKAIsIQpBBiADIANBAEgbDAELIAwgBkEdayIKNgIsIAFEAAAAAAAAsEGiIQFBBiADIANBAEgbCyELIAxBMGpBoAJBACAKQQBOG2oiDSEHA0AgBwJ/IAFEAAAAAAAA8EFjIAFEAAAAAAAAAABmcQRAIAGrDAELQQALIgM2AgAgB0EEaiEHIAEgA7ihRAAAAABlzc1BoiIBRAAAAAAAAAAAYg0ACwJAIApBAEwEQCAKIQMgByEGIA0hCAwBCyANIQggCiEDA0BBHSADIANBHU4bIQMCQCAHQQRrIgYgCEkNACADrSEbQgAhGgNAIAYgGkL/////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AmpBAWoLIgQCfyACIAIgAEEDIAEQNCIBSA0AGiABIAFBAE4NABpBACABQQAgAmtIDQAaIAEgAmpBAWoLIgFLDQAgASAEayICQf////8HTwRAIABBuCFBABAdIQYMAQsgACACQQFqIgZBuCEQfSADIARqQQFrIQRBACEBA0AgASAEai0AACEDIAAoAgwiB0EDOgAEIAcgAzYCACAAIAAoAgxBCGo2AgwgASACRyEIIAFBAWohASAIDQALCyAFQRBqJAAgBguRDAEDfyAAKAIQIQEgACAAEIoDIAAQywEhAiABQcUAOgAoIAEgAjYCJCAAIAJBAkEAEM0BIAIoAgwiA0HIADoABCADIAA2AgAgAigCDCECIAAQywEhAyACQcUAOgAMIAIgAzYCCCAAKAIQIgIgAEGABEEAEHAiAzYCGCADQQBBgAQQaRogAkGAATYCICACIABBpwhBERA5IgM2ApQBIAAgAxA/IAIgAigClAEiAzYCxAUgAiADNgLABSACIAM2ArwFIAIgAzYCuAUgAiADNgK0BSACIAM2ArAFIAIgAzYCrAUgAiADNgKoBSACIAM2AqQFIAIgAzYCoAUgAiADNgKcBSACIAM2ApgFIAIgAzYClAUgAiADNgKQBSACIAM2AowFIAIgAzYCiAUgAiADNgKEBSACIAM2AoAFIAIgAzYC/AQgAiADNgL4BCACIAM2AvQEIAIgAzYC8AQgAiADNgLsBCACIAM2AugEIAIgAzYC5AQgAiADNgLgBCACIAM2AtwEIAIgAzYC2AQgAiADNgLUBCACIAM2AtAEIAIgAzYCzAQgAiADNgLIBCACIAM2AsQEIAIgAzYCwAQgAiADNgK8BCACIAM2ArgEIAIgAzYCtAQgAiADNgKwBCACIAM2AqwEIAIgAzYCqAQgAiADNgKkBCACIAM2AqAEIAIgAzYCnAQgAiADNgKYBCACIAM2ApQEIAIgAzYCkAQgAiADNgKMBCACIAM2AogEIAIgAzYChAQgAiADNgKABCACIAM2AvwDIAIgAzYC+AMgAiADNgL0AyACIAM2AvADIAIgAzYC7AMgAiADNgLoAyACIAM2AuQDIAIgAzYC4AMgAiADNgLcAyACIAM2AtgDIAIgAzYC1AMgAiADNgLQAyACIAM2AswDIAIgAzYCyAMgAiADNgLEAyACIAM2AsADIAIgAzYC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bmV4dABfSU9fb3V0cHV0AF9JT19pbnB1dABzdGRvdXQAY29uc3QAbXVsdGlwbGUgdG8tYmUtY2xvc2VkIHZhcmlhYmxlcyBpbiBsb2NhbCBsaXN0AGlzZHN0AHNxcnQAc29ydABkYXRhIHN0cmluZyB0b28gc2hvcnQAYXNzZXJ0AGluc2VydAByZXN0YXJ0AF9fYm5vdABjb3VudABTbG50AHByaW50AGNvZGVwb2ludABhYnNlbnQAY29tbWVudABjb25zdGFudAB1bHQAX19sdABleGl0AGluaXQAc2V0Y3N0YWNrbGltaXQAcmF3c2V0AG9mZnNldAByYXdnZXQAY29sbGVjdABzZWxlY3QAYnQAZmxvYXQAdmFyaWFibGUtbGVuZ3RoIGZvcm1hdABpbnZhbGlkIGZvcm1hdABuYW1ld2hhdAByZXBlYXQAX19jb25jYXQAKnQAc3RhdHVzAHRvbyBtYW55IGFyZ3VtZW50cwB3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzAGNvbnN0YW50cwB0b28gbWFueSByZXN1bHRzAGlwYWlycwBfX3BhaXJzAGZ1bmN0aW9uIG9yIGV4cHJlc3Npb24gbmVlZHMgdG9vIG1hbnkgcmVnaXN0ZXJzAHNwZWNpZmllciAnJSVxJyBjYW5ub3QgaGF2ZSBtb2RpZmllcnMAc2VhcmNoZXJzAG51cHMAbGFiZWxzL2dvdG9zAHN0cmluZyBjb250YWlucyB6ZXJvcwBhY29zAHRvbyBtYW55IG5lc3RlZCBmdW5jdGlvbnMAbnBhcmFtcwB0b28gbWFueSB1cHZhbHVlcwBhdHRlbXB0IHRvIGNvbXBhcmUgdHdvICVzIHZhbHVlcwB0b28gbWFueSBjYXB0dXJlcwBjb3JlIGFuZCBsaWJyYXJ5IGhhdmUgaW5jb21wYXRpYmxlIG51bWVyaWMgdHlwZXMAYWN0aXZlbGluZXMAY2h1bmsgaGFzIHRvbyBtYW55IGxpbmVzAGxvY2FsIHZhcmlhYmxlcwBvcGNvZGVzAGZpbmFsIHBvc2l0aW9uIG91dCBvZiBib3VuZHMAaW5pdGlhbCBwb3NpdGlvbiBvdXQgb2YgYm91bmRzAGFicwAlcyVzAGF0dGVtcHQgdG8gJXMgYSAlcyB2YWx1ZSVzAGx1YW9wZW5fJXMAQCVzAD4lcwBtb2R1bGUgJyVzJyBub3QgZm91bmQ6JXMAJXMgZXhwZWN0ZWQsIGdvdCAlcwAlcyBuZWFyICVzAHRvbyBtYW55ICVzIChsaW1pdCBpcyAlZCkgaW4gJXMAYXR0ZW1wdCB0byBjb21wYXJlICVzIHdpdGggJXMAY2Fubm90ICVzICVzOiAlcwAlczolZDogJXMAZXJyb3IgbG9hZGluZyBtb2R1bGUgJyVzJyBmcm9tIGZpbGUgJyVzJzoKCSVzAGhvdXIAY3VyAHN0ZGVycgBfX2J4b3IAZm9yIGl0ZXJhdG9yAHN5bnRheCBlcnJvcgBmbG9vcgBmb3IAX19ib3IAX19zaHIAbG93ZXIAaW52YWxpZCBsb25nIHN0cmluZyBkZWxpbWl0ZXIAdXBwZXIAbWF4aW50ZWdlcgB0b2ludGVnZXIAbWluaW50ZWdlcgBvYmplY3QgbGVuZ3RoIGlzIG5vdCBhbiBpbnRlZ2VyAGZpZWxkICclcycgaXMgbm90IGFuIGludGVnZXIAbHVhX0ludGVnZXIAJWQtYnl0ZSBpbnRlZ2VyIGRvZXMgbm90IGZpdCBpbnRvIEx1YSBJbnRlZ2VyAG50cmFuc2ZlcgBmdHJhbnNmZXIAdG9udW1iZXIAbWFsZm9ybWVkIG51bWJlcgBsdWFfTnVtYmVyAGNoYXIAeWVhcgBfX2VxAGV4cABzdG9wACdfX25ld2luZGV4JyBjaGFpbiB0b28gbG9uZzsgcG9zc2libGUgbG9vcAAnX19pbmRleCcgY2hhaW4gdG9vIGxvbmc7IHBvc3NpYmxlIGxvb3AAZHVtcABzdGVwAHJlcAB3cmFwAFBwACVzOiAlcABwcm90bwBnb3RvAC91c3IvbG9jYWwvbGliL2x1YS81LjQvPy5zbzsvdXNyL2xvY2FsL2xpYi9sdWEvNS40L2xvYWRhbGwuc287Li8/LnNvAGF0dGVtcHQgdG8gZGl2aWRlIGJ5IHplcm8AJ2Zvcicgc3RlcCBpcyB6ZXJvAG5vAGlvAGdldGluZm8AZG8AcmV0dXJuAGNoYXJwYXR0ZXJuAG1pc3NpbmcgJ1snIGFmdGVyICclJWYnIGluIHBhdHRlcm4Ad2FybgBpbnZhbGlkIG9wdGlvbgBJbnN0cnVjdGlvbgBtYWluIGZ1bmN0aW9uAHVuYWJsZSB0byBkdW1wIGdpdmVuIGZ1bmN0aW9uAGNhbm5vdCB1c2UgJy4uLicgb3V0c2lkZSBhIHZhcmFyZyBmdW5jdGlvbgBudW1iZXIlcyBoYXMgbm8gaW50ZWdlciByZXByZXNlbnRhdGlvbgBudW1iZXIgaGFzIG5vIGludGVnZXIgcmVwcmVzZW50YXRpb24AZGF0ZSByZXN1bHQgY2Fubm90IGJlIHJlcHJlc2VudGVkIGluIHRoaXMgaW5zdGFsbGF0aW9uAHRpbWUgcmVzdWx0IGNhbm5vdCBiZSByZXByZXNlbnRlZCBpbiB0aGlzIGluc3RhbGxhdGlvbgBkeW5hbWljIGxpYnJhcmllcyBub3QgZW5hYmxlZDsgY2hlY2sgeW91ciBMdWEgaW5zdGFsbGF0aW9uAHBlcmZvcm0gYml0d2lzZSBvcGVyYXRpb24gb24AcGVyZm9ybSBhcml0aG1ldGljIG9uAGFzaW4AdXB2YWx1ZWpvaW4AbWluAD1zdGRpbgBtYWluAHBvcGVuAHJlb3BlbgByYXdsZW4AX19sZW4AdGhlbgBhdGFuAG5hbgBib29sZWFuAHZhbHVlIGhhcyBubyBsaXRlcmFsIGZvcm0AcmFuZG9tAF9fdW5tAHNldHN0ZXBtdWwAX19tdWwAdW5leHBlY3RlZCBzeW1ib2wAZnVsbAB4cGNhbGwAaXN0YWlsY2FsbABfX2NhbGwAdGFpbCBjYWxsAHVudGlsAHRhYmxlIGluZGV4IGlzIG5pbABjZWlsAF9fc2hsAHJhd2VxdWFsAGluY3JlbWVudGFsAGdlbmVyYXRpb25hbABub3JtYWwAc2V0bG9jYWwAZ2V0bG9jYWwAZ2xvYmFsAFNsAHNldGhvb2sAZ2V0aG9vawBleHRlcm5hbCBob29rAG5vdCBhIGJpbmFyeSBjaHVuawBtYWluIGNodW5rAGNvcnJ1cHRlZCBjaHVuawB0cnVuY2F0ZWQgY2h1bmsAc2VlawBjbG9jawB0b28gbWFueSByZXN1bHRzIHRvIHVucGFjawB0cmFjZWJhY2sAYnJlYWsAcGkAbW9udGgAc2VhcmNocGF0aABjcGF0aABtYXRoAGZsdXNoAGZsb2F0IGZvcm1hdCBtaXNtYXRjaABpbnRlZ2VyIGZvcm1hdCBtaXNtYXRjaAB2ZXJzaW9uIG1pc21hdGNoACVzIHNpemUgbWlzbWF0Y2gAZ21hdGNoAGRlYnVnAGlzdmFyYXJnAGxvZwBsZXhpY2FsIGVsZW1lbnQgdG9vIGxvbmcAY29udHJvbCBzdHJ1Y3R1cmUgdG9vIGxvbmcAc3RyaW5nIHNsaWNlIHRvbyBsb25nAGludmFsaWQgb3JkZXIgZnVuY3Rpb24gZm9yIHNvcnRpbmcAX190b3N0cmluZwBiaW5hcnkgc3RyaW5nAGludmFsaWQgdXNlIG9mICclYycgaW4gcmVwbGFjZW1lbnQgc3RyaW5nAGJhZCBmb3JtYXQgZm9yIGNvbnN0YW50IHN0cmluZwB0YWJsZSBvciBzdHJpbmcAaW5pdGlhbCBwb3NpdGlvbiBvdXQgb2Ygc3RyaW5nAHVuZmluaXNoZWQgc3RyaW5nAGVycm9yIG9iamVjdCBpcyBub3QgYSBzdHJpbmcAcmVhZGVyIGZ1bmN0aW9uIG11c3QgcmV0dXJuIGEgc3RyaW5nACdfX3Rvc3RyaW5nJyBtdXN0IHJldHVybiBhIHN0cmluZwAncGFja2FnZS4lcycgbXVzdCBiZSBhIHN0cmluZwBpc3J1bm5pbmcAZXJyb3IgaW4gZXJyb3IgaGFuZGxpbmcAY29uZmlnAGFycmF5IHRvbyBiaWcAbWVtb3J5IGFsbG9jYXRpb24gZXJyb3I6IGJsb2NrIHRvbyBiaWcAZGVnACUuN2cAc2V0dmJ1ZgBnZXQgbGVuZ3RoIG9mAGluZgBzZWxmAGVsc2VpZgBvZmYAbW9kZgB2ZXJzaW9uIG1pc21hdGNoOiBhcHAuIG5lZWRzICVmLCBMdWEgY29yZSBwcm92aWRlcyAlZgBwYWNrc2l6ZQBzdHJpbmcgbGVuZ3RoIGRvZXMgbm90IGZpdCBpbiBnaXZlbiBzaXplAHN0cmluZyBsb25nZXIgdGhhbiBnaXZlbiBzaXplAHJlbW92ZQB0b28gbWFueSBlbGVtZW50cyB0byBtb3ZlAHRydWUAc2V0dXNlcnZhbHVlAGdldHVzZXJ2YWx1ZQBzZXR1cHZhbHVlAGdldHVwdmFsdWUAbm8gdmFsdWUAaW5pdGlhbCB2YWx1ZQB2YXJpYWJsZSAnJXMnIGdvdCBhIG5vbi1jbG9zYWJsZSB2YWx1ZQBpbml0aWFsIHBvc2l0aW9uIGlzIGEgY29udGludWF0aW9uIGJ5dGUAZXhlY3V0ZQB3cml0ZQBjb25jYXRlbmF0ZQBjb2xsYXRlAGNyZWF0ZQBkYXRlAHNldHBhdXNlAHJldmVyc2UAX19jbG9zZQBlbHNlAGZhbHNlAGludmFsaWQgcGF0dGVybiBjYXB0dXJlAHVuZmluaXNoZWQgY2FwdHVyZQByZXF1aXJlAGN0eXBlAGNhbm5vdCBjbG9zZSBhICVzIGNvcm91dGluZQBjYW5ub3QgcmVzdW1lIG5vbi1zdXNwZW5kZWQgY29yb3V0aW5lAGNhbm5vdCByZXN1bWUgZGVhZCBjb3JvdXRpbmUAYXR0ZW1wdCB0byB5aWVsZCBmcm9tIG91dHNpZGUgYSBjb3JvdXRpbmUAY3VycmVudGxpbmUAdG9vIG1hbnkgYXJndW1lbnRzIHRvIHJlc3VtZQB0b28gbWFueSByZXN1bHRzIHRvIHJlc3VtZQBkaWZmdGltZQB0bXBuYW1lAHJlbmFtZQB1bmFibGUgdG8gZ2VuZXJhdGUgYSB1bmlxdWUgZmlsZW5hbWUAX19uYW1lAHdoaWxlAHRtcGZpbGUAZG9maWxlAGxvYWRmaWxlAGNhbm5vdCBjbG9zZSBzdGFuZGFyZCBmaWxlAGF0dGVtcHQgdG8gdXNlIGEgY2xvc2VkIGZpbGUAc2V0bWV0YXRhYmxlAGdldG1ldGF0YWJsZQBfX21ldGF0YWJsZQBjYW5ub3QgY2hhbmdlIGEgcHJvdGVjdGVkIG1ldGF0YWJsZQBzdHJpbmcvZnVuY3Rpb24vdGFibGUAbmlsIG9yIHRhYmxlAGZpZWxkICclcycgbWlzc2luZyBpbiBkYXRlIHRhYmxlACdwYWNrYWdlLnNlYXJjaGVycycgbXVzdCBiZSBhIHRhYmxlAGlzeWllbGRhYmxlAHNldGxvY2FsZQBfX2xlAGh1Z2UAZm9ybWF0IHJlc3VsdCB0b28gbGFyZ2UAYnVmZmVyIHRvbyBsYXJnZQByZXN1bHRpbmcgc3RyaW5nIHRvbyBsYXJnZQBVVEYtOCB2YWx1ZSB0b28gbGFyZ2UAZGVjaW1hbCBlc2NhcGUgdG9vIGxhcmdlAGluZGV4IG91dCBvZiByYW5nZQBsZXZlbCBvdXQgb2YgcmFuZ2UAdmFsdWUgb3V0IG9mIHJhbmdlAGJhc2Ugb3V0IG9mIHJhbmdlAHBhY2thZ2UAY29sbGVjdGdhcmJhZ2UAX19tb2RlAGludmFsaWQgbW9kZQBpbnZhbGlkIFVURi04IGNvZGUAc291cmNlAGludmFsaWQgZXNjYXBlIHNlcXVlbmNlAEVlAGZtb2QAX19tb2QAbWV0YW1ldGhvZABkZXN0aW5hdGlvbiB3cmFwIGFyb3VuZABmaWVsZCAnJXMnIGlzIG91dC1vZi1ib3VuZABmaW5kAGVuZABfX2JhbmQAeWllbGQAZmllbGQAdXB2YWx1ZWlkACdwb3Blbicgbm90IHN1cHBvcnRlZABoZXhhZGVjaW1hbCBkaWdpdCBleHBlY3RlZABmdW5jdGlvbiBhcmd1bWVudHMgZXhwZWN0ZWQAJXMgZXhwZWN0ZWQATHVhIGZ1bmN0aW9uIGV4cGVjdGVkAHZhbHVlIGV4cGVjdGVkACc9JyBvciAnaW4nIGV4cGVjdGVkADxuYW1lPiBvciAnLi4uJyBleHBlY3RlZABmaWxlIGlzIGFscmVhZHkgY2xvc2VkAGRlZmF1bHQgJXMgZmlsZSBpcyBjbG9zZWQAbGFzdGxpbmVkZWZpbmVkAHJhbmRvbXNlZWQAc3VzcGVuZGVkAGxvYWRlZABfX2FkZAByYWQAcHJlbG9hZAB0aHJlYWQAZGVhZABcJTAzZABcJWQAaW52YWxpZCBjYXB0dXJlIGluZGV4ICUlJWQAYnJlYWsgb3V0c2lkZSBsb29wIGF0IGxpbmUgJWQAZnVuY3Rpb24gYXQgbGluZSAlZABubyB2aXNpYmxlIGxhYmVsICclcycgZm9yIDxnb3RvPiBhdCBsaW5lICVkAGxhYmVsICclcycgYWxyZWFkeSBkZWZpbmVkIG9uIGxpbmUgJWQAc2hvcnRfc3JjAGZ1bmMAbnVtZXJpYwBfX2djAHNlYwAlYwBnc3ViAF9fc3ViAHJiAGxvYWRsaWIAcndhAC91c3IvbG9jYWwvc2hhcmUvbHVhLzUuNC8/Lmx1YTsvdXNyL2xvY2FsL3NoYXJlL2x1YS81LjQvPy9pbml0Lmx1YTsvdXNyL2xvY2FsL2xpYi9sdWEvNS40Lz8ubHVhOy91c3IvbG9jYWwvbGliL2x1YS81LjQvPy9pbml0Lmx1YTsuLz8ubHVhOy4vPy9pbml0Lmx1YQAbTHVhAGxpZ2h0IHVzZXJkYXRhACVhAF8AaW50ZWdyYWwgc2l6ZSAoJWQpIG91dCBvZiBsaW1pdHMgWzEsJWRdAD1bQ10Abm8gZmllbGQgcGFja2FnZS5wcmVsb2FkWyclcyddACJdAF9IT09LS0VZAHhYAFBPU0lYAF9FTlYATFVBX05PRU5WACVVAEdNVABfQ0xJQlMAcFAALnhYbk4AdGFibGUgaW5kZXggaXMgTmFOAF9WRVJTSU9OAE5BTgBMQ19BTEwAJUkATFVBX1BBVEgATFVBX0NQQVRIAF9HAExBTkcASU5GAGVFAF9MT0FERUQAX1BSRUxPQUQAQwA9PwA8aW50ZWdlcj4APG51bWJlcj4APHN0cmluZz4APGVvZj4APG5hbWU+AGZ1bmN0aW9uIDwlczolZD4APj4Afj0APj0APT0APD0APDwAOzsAc3RhY2sgdHJhY2ViYWNrOgA6cHJlbG9hZDoAOjoALTFlOTk5OQAtMDEyMzQ1Njc4OQB1dGY4AEMuVVRGLTgAXzVfNABMdWEgNS40AGZvcm1hdCBhc2tzIGZvciBhbGlnbm1lbnQgbm90IHBvd2VyIG9mIDIALTAALSMwAC8vAF9HLgAtKyMwIDEyMzQ1Njc4OS4ALi4uAF4kKis/LihbJS0AdysALSsAX1VCT1gqAEZJTEUqACh0ZW1wb3JhcnkpAChDIHRlbXBvcmFyeSkACgkuLi4JKHNraXBwaW5nICVkIGxldmVscykAc3RhY2sgb3ZlcmZsb3cgKCVzKQAlczogYmFkIGJpbmFyeSBmb3JtYXQgKCVzKQBjYWxsaW5nICclcycgb24gYmFkIHNlbGYgKCVzKQBiYWQgYXJndW1lbnQgIyVkICglcykAYmFkIGFyZ3VtZW50ICMlZCB0byAnJXMnICglcykAY2Fubm90IG9wZW4gZmlsZSAnJXMnICglcykAYmFkICdmb3InICVzIChudW1iZXIgZXhwZWN0ZWQsIGdvdCAlcykAaW52YWxpZCByZXBsYWNlbWVudCB2YWx1ZSAoYSAlcykAZmlsZSAoJXApAChudWxsKQAodmFyYXJnKQBpbnZhbGlkIGZvcm1hdCAodG9vIGxvbmcpAChmb3Igc3RhdGUpAChubyBuYW1lKQA9KGRlYnVnIGNvbW1hbmQpAGZpbGUgKGNsb3NlZCkAPShsb2FkKQB0b28gbWFueSAlcyAobGltaXQgaXMgJWQpACVzIGV4cGVjdGVkICh0byBjbG9zZSAlcyBhdCBsaW5lICVkKQB1bmZpbmlzaGVkIGxvbmcgJXMgKHN0YXJ0aW5nIGF0IGxpbmUgJWQpACgwLzApAAoJKC4uLnRhaWwgY2FsbHMuLi4pAGF0dGVtcHQgdG8gbG9hZCBhICVzIGNodW5rIChtb2RlIGlzICclcycpACAoJXMgJyVzJykAbWFsZm9ybWVkIHBhdHRlcm4gKG1pc3NpbmcgYXJndW1lbnRzIHRvICclJWInKQBtYWxmb3JtZWQgcGF0dGVybiAobWlzc2luZyAnXScpAG1hbGZvcm1lZCBwYXR0ZXJuIChlbmRzIHdpdGggJyUlJykAICgAbWlzc2luZyAnfScAbWlzc2luZyAneycAdW5maW5pc2hlZCBzdHJpbmcgZm9yIGZvcm1hdCAneicAaW52YWxpZCBrZXkgdG8gJ25leHQnAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gJ2luc2VydCcAaW52YWxpZCBjb252ZXJzaW9uICclcycgdG8gJ2Zvcm1hdCcAaW52YWxpZCB2YWx1ZSAoJXMpIGF0IGluZGV4ICVJIGluIHRhYmxlIGZvciAnY29uY2F0JwAlcyAnJXMnAGludmFsaWQgb3B0aW9uICclcycAZnVuY3Rpb24gJyVzJwA8Z290byAlcz4gYXQgbGluZSAlZCBqdW1wcyBpbnRvIHRoZSBzY29wZSBvZiBsb2NhbCAnJXMnAHVua25vd24gYXR0cmlidXRlICclcycAbm8gbW9kdWxlICclcycgaW4gZmlsZSAnJXMnAGF0dGVtcHQgdG8gYXNzaWduIHRvIGNvbnN0IHZhcmlhYmxlICclcycAYXR0ZW1wdCB0byAlcyBhICclcycgd2l0aCBhICclcycAaW52YWxpZCBjb252ZXJzaW9uIHNwZWNpZmljYXRpb246ICclcycAaW52YWxpZCBjb252ZXJzaW9uIHNwZWNpZmllciAnJSUlcycAaW52YWxpZCBvcHRpb24gJyUlJWMnIHRvICdsdWFfcHVzaGZzdHJpbmcnAG1pc3Npbmcgc2l6ZSBmb3IgZm9ybWF0IG9w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BgYGBgYGBgYGBgYGBgcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgkJCAgICAgACAgICAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAiAgIAICAgICAAABBAQEBAQEBAQEBAYaGggAAAJCQEACSAJSCgDAEGQ1gALVcQPAACHAAAAFxQAAIgAAABGFQAAiQAAAO4TAACKAAAAkQYAAIsAAACcBQAAjAAAADITAACNAAAAVxUAAI4AAACeFgAAjwAAAEoVAACQAAAATxUAAJEAQfDWAAsVBgAAAAMAAAAAAAAABAAAAAEAAAACAEGQ1wALFvYOAAAIFAAAcxQAADkEAAAeGgAAShUAQbDXAAvFAQoKCgoLCwsLDg0LCwsLBgYEBAUFBwcHBwkIAwMDAwMDAwMDAwMDAgIBAQAASgAAAEsAAABJAAAATQAAAAAAAADpEwAAlgAAAEwLAACXAAAAtwsAAJgAAAAZGAAAmQAAAPYGAACaAAAAahAAAJsAAAAyGgAAnAAAAG4OAACdAAAAUgoAAJ4AAABrEAAAnwAAAMELAACgAAAAJRQAAKEAAAA5GgAAogAAAHYKAACjAAAA4A8AAKQAAADiEgAApQAAAN4PAACmAEGA2QALQkgZAACnAAAANxoAAKgAAAC6DgAAqQAAANUXAACqAAAAPAUAAKsAAACqBQAArAAAAKMFAACtAAAAqQ4AAK4AAADqBABB1NkACwkgAAAAAAAAABAAQfDZAAs1DwcAAK8AAAA/BgAAsAAAAOAPAACxAAAA3g8AALIAAAAyEwAAswAAAE4TAAC0AAAAHQYAALUAQbDaAAuiAXVzZXJkYXRhAAAAAAAAAACIEwAADw8AAIAOAAAwLQAAOgsAAA8SAACMFgAABg0AADAtAABaGQAAgBMAANQLAADqBAAA3wQAACYaAACHFwAAbA4AAFYLAABIGQAANxoAALoOAADV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YLm/pwCZQT+V8D/OX0e2nW+qvwAAAAAAAPA/AAAAAAAAAACsR5r9jGDuPz31JJ/KOLM/oGoCH7Ok7D+6kThUqXbEP+b8alc2IOs/0uTESguEzj8tqqFj0cLpPxxlxvBFBtQ/7UF4A+aG6D/4nxssnI7YP2JIU/XcZ+c/zHuxTqTg3D8LbknJFnbSP3rGdaBpGde/3bqnbArH3j/I9r5IRxXnvyu4KmVHFfc/AAAAAAAAAADeEgSVAAAAAP////////////////A/AAAUAAAAQy5VVEYtOABBsIABC0dMQ19DVFlQRQAAAABMQ19OVU1FUklDAABMQ19USU1FAAAAAABMQ19DT0xMQVRFAABMQ19NT05FVEFSWQBMQ19NRVNTQUdFUwBBgIEBCwdDLlVURi04AEGYgQELoBDQSwAAaEwAAPhMAABObyBlcnJvciBpbmZvcm1hdGlvbgBJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBNdWx0aWhvcCBhdHRlbXB0ZWQAUmVxdWlyZWQga2V5IG5vdCBhdmFpbGFibGUAS2V5IGhhcyBleHBpcmVkAEtleSBoYXMgYmVlbiByZXZva2VkAEtleSB3YXMgcmVqZWN0ZWQgYnkgc2VydmljZQAAAAAApQJbAPABtQWMBSUBgwYdA5QE/wDHAzEDCwa8AY8BfwPKBCsA2gavAEIDTgPcAQ4EFQChBg0BlAILAjgGZAK8Av8CXQPnBAsHzwLLBe8F2wXhAh4GRQKFAIICbANvBPEA8wMYBdkA2gNMBlQCewGdA70EAABRABUCuwCzA20A/wGFBC8F+QQ4AGUBRgGfALcGqAFzAlMBAEHokQELDCEEAAAAAAAAAAAvAgBBiJIBCwY1BEcEVgQAQZ6SAQsCoAQAQbKSAQsiRgVgBW4FYQYAAM8BAAAAAAAAAADJBukG+QYeBzkHSQdeBwBB4JIBC2PRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///8AAAAAAAAAAC90bXAvdG1wZmlsZV9YWFhYWFgAQdCTAQsSL3RtcC90bXBuYW1fWFhYWFhYAEHwkwELQRkACgAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQARChkZGQMKBwABAAkLGAAACQYLAAALAAYZAAAAGRkZAEHBlAELIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBB+5QBCwEMAEGHlQELFRMAAAAAEwAAAAAJDAAAAAAADAAADABBtZUBCwEQAEHBlQELFQ8AAAAEDwAAAAAJEAAAAAAAEAAAEABB75UBCwESAEH7lQELHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBspYBCw4aAAAAGhoaAAAAAAAACQBB45YBCwEUAEHvlgELFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBnZcBCwEWAEGplwELJxUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRgBB0JcBCwEFAEHclwELAcAAQfSXAQsKvgAAAL0AAAB4TwBBjJgBCwECAEGcmAELCP//////////AEHgmAELCdBLAAAAAAAACQBB9JgBCwHAAEGImQELEr8AAAAAAAAAvQAAAIhPAAAABABBtJkBCwT/////AEH4mQELAQUAQYSaAQsBwQBBnJoBCw6+AAAAwgAAAJhTAAAABABBtJoBCwEBAEHEmgELBf////8KAEGImwELB/hMAADwWxA=",Fh=`-- Bundled by luabundle {"version":"1.6.0"} +local __bundle_require, __bundle_loaded, __bundle_register, __bundle_modules = (function(superRequire) + local loadingPlaceholder = {[{}] = true} + + local register + local modules = {} + + local require + local loaded = {} + + register = function(name, body) + if not modules[name] then + modules[name] = body + end + end + + require = function(name) + local loadedModule = loaded[name] + + if loadedModule then + if loadedModule == loadingPlaceholder then + return nil + end + else + if not modules[name] then + if not superRequire then + local identifier = type(name) == 'string' and '\\"' .. name .. '\\"' or tostring(name) + error('Tried to require ' .. identifier .. ', but no such module has been registered') + else + return superRequire(name) + end + end + + loaded[name] = loadingPlaceholder + loadedModule = modules[name](require, loaded, register, modules) + loaded[name] = loadedModule + end + + return loadedModule + end + + return require, loaded, register, modules +end)(require) +__bundle_register("__root", function(require, _LOADED, __bundle_register, __bundle_modules) +local TablePath = require("table_path") +local StackedEnv = require("stacked_env") +local history = require("history") +local lookup = require("lookup") +local savedata = require("savedata") + +--- The brocatel module, containing the core brocatel.VM implementation. +--- +--- @see VM +local brocatel = {} +brocatel.StackedEnv = StackedEnv +brocatel.TablePath = TablePath + +--- The brocatel runtime VM. +--- +--- @class VM +--- @field code table the compiled brocatel scripts +--- @field env StackedEnv the environment handle +--- @field savedata SaveData save data +--- @field flags table inner api for data storage, cleaned on each \`next\` call +--- @field gettext Gettext GNU Gettext config +local VM = {} +brocatel.VM = VM +VM.__index = VM +VM.version = 1 +VM.set_up_env_api = require("env_api") + +--- Creates a VM from compiled brocatel scripts, in brocatel runtime format. +--- +--- @param compiled_chunk table the loaded chunk +--- @param env StackedEnv the environment used to load the chunk +--- @return VM vm the created VM +function VM.new(compiled_chunk, env) + local meta = compiled_chunk[""] + assert(meta, "the compiled chunk must contain a meta node") + assert(meta.entry and meta.version, "invalid meta node for the compiled chunk") + --- @type VM + local vm = { + code = compiled_chunk, + env = env, + flags = {}, + gettext = {}, + savedata = savedata.init(assert(compiled_chunk[""], "invalidate runtime format")), + } + setmetatable(vm, VM) + vm:init() + return vm +end + +--- @param co Coroutine +function VM:set_up_listener(co) + co.ip:set_listener(function(old, new) + assert(self:ensure_root(new), "invalid ip assigned") + local current_co = assert(self:get_coroutine()) + history.record_simple(self.savedata.stats, self.code, current_co.prev_ip, old) + current_co.prev_ip = old:copy() + end) +end + +--- Initializes the VM state. +function VM:init() + if self.savedata.version > VM.version then + error("library version outdated") + end + -- Re-attaches type info (TablePaths stored as plain table in savedata). + for _, thread in pairs(self.savedata.threads) do + for _, co in pairs(thread.coroutines) do + co.ip = TablePath.from(co.ip) + if co.prev_ip then + co.prev_ip = TablePath.from(co.prev_ip) + end + self:set_up_listener(co) + end + end + self:set_up_env_api() + self.env:set_global_scope(self.savedata.globals) + self.env:set_label_lookup(function(keys) + return self:lookup_label(keys) + end) + self.env:set_init(false) + local ip = assert(self:get_coroutine()).ip + local root = assert(self:ensure_root(ip)) + ip:step(root, true) + self:set_env() +end + +--- Fetches the root, ensuring existence of the specified root node. +--- +--- @param name string|TablePath|nil the root node name +--- @return table|nil root the root node +function VM:ensure_root(name) + if type(name) == "table" then + assert(#name >= 1, "not a valid TablePath") + name = name[1] + elseif not name then + return self:ensure_root(self:get_coroutine().ip) + end + local root = self.code[name] + if not root then + return nil + end + if type(root) == "table" then + return self.code + end + if type(root) == "function" then + self.env:set_init(true) + self.code[name] = root() + self.env:set_init(false) + return self:ensure_root(name) + end + error("expecting a table or a function") +end + +--- @param values table +--- @return table keys +function VM.get_keys(values) + local keys = {} + for key, _ in pairs(values) do + keys[key] = true + end + return keys +end + + +--- Calls a function with the supplied environment pushed into the stacked env. +--- +--- It simply executes \`push(env); result = func(...); pop()\` and returns the result. +--- However, the actual environment of the function is not changed, which means +--- it should already bind to vm.env.env to make the environment change effective. +--- @param env table|nil +--- @param func function +function VM:call_with_env(env, func, ...) + env = env or {} + self.env:push(self.get_keys(env), env) + local result = { func(...) } + self.env:pop() + ---@diagnostic disable-next-line: deprecated + return (unpack or table.unpack)(result) +end + +--- Evaluates a node at the supplied pointer with the environment pushed. +--- +--- It yields values just like \`next\`, unless any \`if-else\` statement yields false, +--- when it will return nil instead. +--- @param env table|nil +--- @param ip TablePath +--- @param env_keys table|nil +function VM:eval_with_env(env, ip, env_keys) + ip:step(assert(self:ensure_root(ip)), true) + env = env or {} + env_keys = env_keys or self.get_keys(env) + self.env:push(env_keys, env) + while true do + local line, tags = self:fetch_and_next(ip) + if line or not tags or self.flags["if-else"] == false or self.flags["empty"] then + self.env:pop() + return line, tags + end + end +end + +--- @class Gettext +--- @field gettext nil | fun(msgid: string):string +--- @field ngettext nil | fun(msgid: string, count: number):string + +--- Configures the gettext functionality. +--- +--- Although GNU Gettext requires \`msgid-plural\` for ngettext, +--- you don't always write your plots in languages with a plural form +--- (nor have we a way to write this in Markdown in a neat way). +--- If you are wrapping gettext library calls and using PO fields +--- generated by our \`lgettext\`, you can just pass an empty string as +--- \`msgid-plural\`. +--- +--- @param gettext fun(msgid: string):string +--- @param ngettext fun(msgid: string, count: number):string +function VM:set_gettext(gettext, ngettext) + assert(gettext) + assert(ngettext) + self.gettext.gettext = gettext + self.gettext.ngettext = ngettext +end + +--- Fetches a thread by name. +--- +--- @param thread_name string|nil the thread name +--- @return Thread|nil thread +function VM:get_thread(thread_name) + if not thread_name then + thread_name = self.savedata.current_thread + end + return self.savedata.threads[thread_name] +end + +--- Fetches a coroutine by thread name and id. +--- +--- @param thread_name string|nil the thread name +--- @param coroutine_id number|nil the coroutine id +--- @return Coroutine|nil co +function VM:get_coroutine(thread_name, coroutine_id) + local thread = self:get_thread(thread_name) + if not thread then + return nil + end + if not coroutine_id then + coroutine_id = thread.current_coroutine + end + return thread.coroutines[coroutine_id] +end + +--- @param params table coroutine-local variables +--- @param target TablePath the target routine +function VM:set_up_coroutine(params, target) + local thread = assert(self:get_thread()) + local id = 1 + while thread.coroutines[id] do + id = id + 1 + end + local co = savedata.new_coroutine(target) + thread.coroutines[id] = co + for key, value in pairs(params) do + co.locals.keys[key] = true + co.locals.values[key] = value + end + local current = thread.current_coroutine + self:switch_coroutine(id) + local ip = assert(self:get_coroutine()).ip + local root = assert(self:ensure_root()) + self:set_up_listener(co) + ip:step(root, true) + self:switch_coroutine(current) +end + +--- @param params table the parameters +--- @param ip TablePath the return address +--- @param extra_keys string[] names of function local variables +function VM:push_stack_frame(params, ip, extra_keys) + local co = assert(self:get_coroutine()) + local keys = self.get_keys(params) + for _, key in ipairs(extra_keys) do + keys[key] = true + end + co.stack[#co.stack + 1] = { + keys = keys, + values = params, + ret = ip:copy(), + } + self.env:push(keys, params) +end + +--- @return boolean success false if no function call in stack +function VM:pop_stack_frame() + local co = assert(self:get_coroutine()) + if #co.stack == 0 then + return false + end + local ip = TablePath.from(co.stack[#co.stack].ret) + co.stack[#co.stack] = nil + self.env:pop() + local root = assert(self:ensure_root(ip)) + ip:step(root) + co.ip:set(ip) + return true +end + +--- @param id number +function VM:switch_coroutine(id) + local thread = assert(self:get_thread()) + thread.current_coroutine = id + self:set_env() +end + +--- @return boolean success false if no other coroutine left +function VM:kill_coroutine() + local thread = assert(self:get_thread()) + local another = nil --- @type number|nil + for id, _ in pairs(thread.coroutines) do + if id ~= thread.current_coroutine then + another = id + end + end + if type(another) == "nil" then + return false + end + thread.coroutines[thread.current_coroutine] = nil + self:switch_coroutine(another) + return true +end + +--- Yields the next line. +--- +--- @param input number|nil +function VM:next(input) + local current = self.savedata.current + if input then + current.input = input + end + current.output = nil + return self:current() +end + +--- Returns the current line. +function VM:current() + local current = self.savedata.current + local output = current.output + if output then + return output + end + + while true do + local line, tags = self:fetch_and_next() + if not tags then + return nil + end + if line then + output = { text = line, tags = tags } + current.output = output + end + output = current.output + if output then + return output + end + end +end + +--- Returns the current node and goes to the next. +--- +--- For normal users, use \`VM.next\` instead. +--- +--- Returns: +--- - \`nil, nil\` when the tree reaches the end, +--- - \`line, true\` on a line without tags, +--- - \`line, tags\` on a tagged line, +--- - \`nil, true\` when the caller should call again to fetch the next line. +--- +--- @param ip TablePath|nil the pointer +--- @return string|nil result +--- @return table|boolean|nil tags \`nil\` if reaches the end +function VM:fetch_and_next(ip) + ip = ip or assert(self:get_coroutine()).ip + local root = assert(self:ensure_root(ip)) + if ip:is_done() then + if self:kill_coroutine() then + return nil, true + end + return nil, nil + end + + self.flags = {} + + local node = assert(ip:get(root)) + local node_type = VM.node_type(node) + + if node_type == "text" and type(node) == "string" then + ip:step(root) + return self:translate(node), true + elseif node_type == "tagged_text" then + local values = node.values + local computed = {} + ip:step(root) + if values then + for k, v in pairs(values) do + computed[k] = v() + end + end + local text = node.text --- @type string + local plural = node.plural + local formatted = self:translate(text, plural and computed[plural] or nil) + for key, value in pairs(computed) do + -- The key should be a valid Lua identifier and need no regex-escaping. + formatted = string.gsub(formatted, "{" .. key .. "}", tostring(value)) + end + return formatted, node.tags or true + elseif node_type == "link" then + local new_root_name = node.root + if new_root_name then + assert(self:ensure_root(new_root_name)) + end + local found = lookup.find_by_labels(root, new_root_name or ip, node.link) + assert(#found == 1, "not found / found too many: " .. tostring(#found)) + if node.params then + local is_array, target = found[1]:is_array(root) + if is_array and target and target[1].routine then + local params = type(node.params) == "function" and node.params() or {} + if node.coroutine then + -- Coroutine call. + self:set_up_coroutine(params, found[1]) + ip:step(root) + found[1] = ip + else + -- Function call. + self:push_stack_frame(params, ip, target[1].routine or {}) + end + end + end + ip:set(found[1]) + ip:step(root, true) + return nil, true + elseif node_type == "if-else" then + local result = node[1]() + local _ + _, self.flags["empty"] = ip:resolve(result and 2 or 3):step(root, true) + self.flags["if-else"] = result and true or false + return nil, true + elseif node_type == "func" then + local args = ip:copy():resolve("args") + ip:step(root) + node.func(args) + if not ip:is_done() then + ip:step(assert(self:ensure_root(ip)), true) + end + return nil, true + end + error("not implemented") +end + +--- Returns "text", "tagged_text", "func", "if-else", or "link" depending on the node type. +--- +--- @param node Node +function VM.node_type(node) + local t = type(node) + if t == "string" then + return "text" + elseif t == "table" then + if node.text then + return "tagged_text" + elseif node.func then + return "func" + elseif node.link then + return "link" + elseif type(node[1]) == "function" then + return "if-else" + end + -- Arrays are internal structures and we just throw an error here. + end + error("unexpected node") +end + +--- Translates a message if a gettext backend is configured. +--- +--- @param msgid string the message +---@param count number|nil the plural +function VM:translate(msgid, count) + local gettext = self.gettext + if not gettext.gettext then + return msgid + end + if count == nil then + return gettext.gettext(msgid) + else + return gettext.ngettext(msgid, count) + end +end + +--- Looks up a label relative to the current IP. +--- +--- @param keys table relative label path +--- @return TablePath|nil +--- @return any +function VM:lookup_label(keys) + local results = lookup.deep_lookup(assert(self:get_coroutine()).ip, keys, self.code) + if #results == 0 and self.code[keys[1]] then + local root = keys[1] + if self:ensure_root(root) then + local path = {} + for i = 2, #keys do + path[i - 1] = keys[i] + end + results = lookup.deep_lookup(TablePath.from({ root }), path, self.code) + end + end + if #results == 0 then + return nil + end + return results[1], results[1]:get(self.code) +end + +--- @return table incorrect incorrect link nodes +function VM:validate_links() + local incorrect = {} + for root_name, _ in pairs(self.code) do + if root_name ~= "" then + self:ensure_root(root_name) + local path = TablePath.from({ root_name }) + while true do + local node = path:get(self.code) + if type(node) == "nil" then + path:resolve(nil) + while #path > 1 and type(path[#path]) == "string" do + path:resolve(nil) + end + elseif type(node) == "table" then + if #node > 0 then + path:resolve(0) + elseif node.args then + path:resolve("args", 0) + elseif node.link then + local parent = assert(path:get(self.code, 1)) + local debug_info = parent[1] and parent[1].debug or {} + local new_root_name = node.root + if new_root_name then + assert(self:ensure_root(new_root_name)) + end + local found = lookup.find_by_labels(self.code, new_root_name or path, node.link) + if #found ~= 1 then + local position = debug_info[path[#path]] + if type(position) ~= "nil" then + local i = path[#path] + while position == "" do + i = i - 1 + position = debug_info[i] + end + end + incorrect[#incorrect + 1] = { + node = node, + root = root_name, + source = position, + } + end + end + end + if path:is_done() then + break + end + path[#path] = path[#path] + 1 + end + end + end + return incorrect +end + +--- Sets the environment up. +function VM:set_env() + self.env:clear() + self.env:push(self:get_thread().thread_locals.keys, self:get_thread().thread_locals.values) + local co = assert(self:get_coroutine()) + self.env:push(co.locals.keys, self:get_coroutine().locals.values) + for _, frame in ipairs(co.stack) do + self.env:push(frame.keys, frame.values) + end +end + +function VM:save() + return savedata.save(self.savedata) +end + +function VM:load(s) + self.savedata = savedata.load(s) + self:init() +end + +--- @param t table +--- @return table copy +local function shallow_copy(t) + local copy = {} + for key, value in pairs(t) do + copy[key] = value + end + return copy +end + +--- @param content string the compile brocatel chunk +--- @param save string|nil the savedata content +--- @param extra_env table|nil extra Lua environment globals (only \`extern\`, \`print\` and \`require\` permitted) +--- @return VM vm +function brocatel.load_vm(content, save, extra_env) + local env = StackedEnv.new() + if not extra_env then + extra_env = {} + end + env:set_lua_env({ + assert = assert, + error = error, + ipairs = ipairs, + next = next, + pairs = pairs, + select = select, + ---@diagnostic disable-next-line: deprecated + unpack = unpack, + pcall = pcall, + xpcall = xpcall, + tonumber = tonumber, + tostring = tonumber, + type = type, + print = extra_env.print, + require = extra_env.require, + extern = extra_env.extern, + + os = { time = os.time }, + math = shallow_copy(math), + string = shallow_copy(string), + table = shallow_copy(table), + }) + local chunk = savedata.load_with_env(env.env, content)() + local vm = VM.new(chunk, env) + if save then + vm:load(save) + end + return vm +end + +return brocatel + +end) +__bundle_register("env_api", function(require, _LOADED, __bundle_register, __bundle_modules) +local TablePath = require("table_path") +local history = require("history") + +--- Sets up the runtime API. +---@param self VM +return function (self) + local env = self.env + local ip = assert(self:get_coroutine()).ip + local lua = env:get_lua_env() + lua.IP = ip + lua.VM = self + + env:set_api("GET", function(path, key) + path = self.env.is_label(path) and assert(self:lookup_label(path)) or path + return history.get(self.savedata.stats, path, key) + end) + env:set_api("SET", function(path, key, value) + if type(key) == "string" and #key == 1 then + local char = key:byte(1) + if 65 <= char and char <= 90 then + error("key A-Z reserved") + end + end + path = self.env.is_label(path) and assert(self:lookup_label(path)) or path + history.set(self.savedata.stats, assert(self:ensure_root(path)), path, key, value) + end) + + env:set_api("END", function(path) + local IP = assert(env:get("IP")) + -- For calls like \`END()\` or \`END(true)\` + if not path or type(path) == "boolean" then + -- Tries to return to the calling subroutine. + if not path and self:pop_stack_frame() then + return + end + -- Otherwise (or when \`END(true)\` is called), terminates the story execution. + IP:set(TablePath.from({ IP[1] })) + return + end + -- For calls like \`END({ "label", "path_name" })\`, it breaks that array (which is probably a loop or something). + path = self.env.is_label(path) and assert(self:lookup_label(path)) or path + assert(path:is_parent_to(IP)) + local root = assert(self:ensure_root(path)) + path = path:copy() + path:step(root) + IP:set(path) + end) + + env:set_api("EVAL", function(path, extra_env) + extra_env = extra_env or {} + path = self.env.is_label(path) and assert(self:lookup_label(path)) or path + return self:eval_with_env(extra_env, path) + end) + + --- @param path table|TablePath + local function visits(path) + path = self.env.is_label(path) and assert(self:lookup_label(path)) or path + return history.get(self.savedata.stats, path, "I") or 0 + end + env:set_api("VISITS", visits) + env:set_api("VISITED", function(path) return visits(path) > 0 end) + + --- @param args TablePath + --- @param recur number|boolean + local function user_select(args, recur) + local current = self.savedata.current + local counts = history.get(self.savedata.stats, args, "S") or {} + local root = assert(self:ensure_root(args)) + if current.input then + env:get("IP"):set(args:copy():resolve(current.input, 3)) + local count = counts[current.input] or 0 + count = count + 1 + counts[current.input] = count + history.set(self.savedata.stats, root, args, "S", counts) + current.input = nil + return + end + + env:get("IP"):set(args:copy():resolve(nil)) + recur = recur or 0 + assert(recur == true or recur >= 0) + local selectables = {} --- @type Selectable[] + local options = args:get(root) + for i = 2, #options do + local count = counts[i] or 0 + local local_env = { + CHOICE_COUNT = #selectables, + DEFAULT = #selectables == 0, + COUNT = count, + ONCE = count == 0, + RECUR = function(n) + return count <= n + end, + } + local inner = local_env + local should_recur = recur == true or count <= recur + if not should_recur then + local_env = {} + setmetatable(local_env, { + __index = function(_, key) + if key == "RECUR" then + should_recur = true + end + return inner[key] + end + }) + end + local line, tags = self:eval_with_env(local_env, args:copy():resolve(i), self.get_keys(inner)) + if line and should_recur and tags then + selectables[#selectables + 1] = { + option = { text = line, tags = tags }, + key = i, + } + end + end + if #selectables == 0 then + ip:step(root) + return nil, true + end + current.output = { select = selectables, tags = true } + end + env:set_api("FUNC", { + SELECT = user_select, + S_ONCE = function(args) + user_select(args, 0) + end, + S_RECUR = function(args) + user_select(args, true) + end + }) +end +end) +__bundle_register("history", function(require, _LOADED, __bundle_register, __bundle_modules) +local history = {} + +--- Creates inner table, similar to \`mkdir -p\`. +--- +--- @param save table +--- @param name number|string +--- @return Element inner +local function makedir(save, name) + local inner = save[name] + if inner then + return inner + else + inner = {} + save[name] = inner + return inner + end +end + +-- Max safe integer bits for floats (single precision). +local bits_per_number = 24 + +--- Sets a bit in a bit set. +--- @param bitset table +--- @param index number +function history.set_bit(bitset, index) + local offset = (index - 1) % bits_per_number + local i = (index - 1 - offset) / bits_per_number + 1 + for j = 1, i do + if not bitset[j] then + bitset[j] = 0 + end + end + local n = bitset[i] + -- Pecular way to do \`n | mask\` in Lua. + local mask = 2 ^ offset + local residue = n % mask + local shifted = (n - residue) / mask -- shifted = n >> offset + if shifted % 2 == 0 then + shifted = shifted + 1 + end + bitset[i] = shifted * mask + residue +end + +--- Fetches a bit in a bit set. +--- @param bitset table +--- @param index number +function history.get_bit(bitset, index) + local offset = (index - 1) % bits_per_number + local i = (index - 1 - offset) / bits_per_number + 1 + local n = bitset[i] + if not n then + return false + end + local mask = 2 ^ offset + -- Pecular way to do \`n & mask\` in Lua. + n = n - n % mask -- n / mask == n >> offset + return (n / mask) % 2 == 1 +end + +--- Fetches a key-value pair bound to a path. +--- +--- @param save table +--- @param path TablePath +--- @param key string +--- @returns string|number|boolean|nil +function history.get(save, path, key) + for _, segment in ipairs(path) do + save = save[segment] + if type(save) ~= "table" then + return nil + end + end + local meta = save[1] + if meta then + assert(type(meta) == "table") + return meta[key] + end + return nil +end + +--- Saves a key-value pair bound to a path. +--- +--- @param save table +--- @param root table +--- @param path TablePath +--- @param key string +--- @param value string|number|table|boolean +function history.set(save, root, path, key, value) + assert(#path > 0) + if path[#path] == "args" then + local node = path:get(root, 1) + assert(node and node.func) + else + assert(path:is_array(root)) + end + for _, segment in ipairs(path) do + save = makedir(save, segment) + end + local meta = save[1] + if not meta then + meta = {} + save[1] = meta + end + meta[key] = value +end + +--- Records the path change. +--- +--- - For text nodes, it simply marks the line as read. +--- - For arrays (probably with labeled ones), it increments their visited counter. +--- @param save table +--- @param root table +--- @param old TablePath|nil +--- @param new TablePath +function history.record_simple(save, root, old, new) + if old and old:equals(new) then + return + end + local i = 1 + while i <= #new do + local segment = new[i] + local is_array = new:is_array(root, #new - i) + if i < #new or is_array then + save = makedir(save, segment) + end + if is_array then + if old and old[i] ~= segment then + old = nil + end + local meta = save[1] + if not meta then + meta = { I = 0 } + save[1] = meta + elseif not meta.I then + meta.I = 0 + end + if not old or meta.I == 0 then + meta.I = meta.I + 1 + end + + if i < #new then + local read = meta.R + if not read then + read = {} + meta.R = read + end + history.set_bit(read, new[i + 1]) + end + end + i = i + 1 + end +end + +--- Returns the visited count. +--- @param save table +--- @param path TablePath +function history.get_recorded_count(save, path) + local is_array, node = path:is_array(save) + if is_array then + return assert(node)[1].I or 0 + end + local parent + is_array, parent = path:is_array(save, 1) + if is_array then + local bitset = assert(parent)[1].R + return bitset and history.get_bit(bitset, path[#path]) or 0 + end + return 0 +end + +return history + +end) +__bundle_register("table_path", function(require, _LOADED, __bundle_register, __bundle_modules) +--- Simplified JSONPath for Lua tables. +--- +--- It recognizes basic elements (only arrays for now) in the brocatel runtime format, +--- to allow easier navigation through the tree structure. +--- +--- @class TablePath +local TablePath = {} +TablePath.__index = TablePath + + +--- @alias Array (Node|string)[] + +--- @class Node +--- +--- @field text string|nil +--- @field tags table|nil +--- @field plural string|nil +--- @field values table|nil +--- +--- @field func function|nil +--- @field args Array[]|nil +--- +--- @field link TablePath|nil +--- @field root string|nil +--- @field params function|boolean|nil +--- @field coroutine boolean|nil +--- +--- @field label string|nil +--- @field labels table|nil +--- @field routine string[]|nil +--- @field debug string[]|nil +--- +--- @field I number|nil +--- @field R table|nil + +--- @alias Element Node|Array + + +--- Creates a path from an array. +--- +--- The table is copied into the new path. +--- Listeners are not copied. +--- +--- @param t (string|number)[]|TablePath the path +--- @return TablePath +function TablePath.from(t) + assert(type(t) == "table", "expecting a table") + assert(#t >= 1 and type(t[1]) == "string", "the first element must be a root node name") + local copy = {} + for i, v in ipairs(t) do + copy[i] = v + end + setmetatable(copy, TablePath) + return copy +end + +--- Returns a copy of the current pointer. +--- +--- @return TablePath +function TablePath:copy() + return TablePath.from(self) +end + +local LISTENER_KEY = {} +--- Sets the path change listener. +--- +--- When the path is changed, it calls the listener, passing the new path and +--- the new path. +--- +--- @param listener function|nil +function TablePath:set_listener(listener) + rawset(self, LISTENER_KEY, listener) +end + +--- Calls the change listener of the old path. +--- +--- @param old TablePath +--- @param new TablePath +local function call_listener(old, new) + local listener = rawget(old, LISTENER_KEY) + if listener then + listener(old, new) + end +end + +--- Sets the path in place. +--- +--- @param t table|TablePath the new path +--- @return TablePath self +function TablePath:set(t) + call_listener(self, TablePath.from(t)) + local n = #t + while #self > n do + self[#self] = nil + end + for i = 1, n do + self[i] = t[i] + end + return self +end + +--- Returns true if the two paths equal. +--- +--- @param path table|TablePath the other path +--- @return boolean eq +function TablePath:equals(path) + assert(type(path) == "table", "expecting a table") + if #self ~= #path then + return false + end + for i = 1, #self do + if self[i] ~= path[i] then + return false + end + end + return true +end + +--- Fetches the element of the table at the current path. +--- +--- Sets the \`parents\` parameter to \`1\` to fetch the parent node instead, +--- or to \`2\` to fetch a grandparent node, etc. +--- +--- @param t table +--- @param parents number|nil the levels to go up +--- @return Element|nil node +function TablePath:get(t, parents) + assert(type(t) == "table", "expecting a table") + if not parents then + parents = 0 + end + if parents > #self - 1 then + return nil + end + for i = 1, #self - parents do + if type(t) == "table" then + t = t[self[i]] + else + return nil + end + end + return t +end + +--- Points the path to a new path relative to the current one. +--- +--- Use \`nil\` as a parameter to "go up". Examples: +--- +--- - \`TablePath.new():resolve("a", b", 1)\` points the path to \`{"a", "b", 1}\`. +--- - \`TablePath.from({1, 1, 1}):resolve(nil, nil, 2)\` points the path to \`{1, 2}\`. +--- +--- @vararg table|string|number|nil the relative path +--- @return TablePath self the new current path, *not* a new one +function TablePath:resolve(...) + local n = select("#", ...) + local new = self:copy() + local args = {...} + for i = 1, n do + local arg = args[i] + if type(arg) == "table" then + for _, v in ipairs(arg) do + new:resolve(v) + end + elseif arg then + new[#new + 1] = arg + elseif #new > 1 then + new[#new] = nil + end + end + return self:set(new) +end + +--- Returns true if the pointer is pointing to an brocatel array. +--- +--- @param t table +--- @param parents number|nil +--- @return boolean is_array +--- @return Element|nil node +function TablePath:is_array(t, parents) + local node = self:get(t, parents) + if type(node) ~= "table" then + return false, nil + end + return type(node[1]) == "table", node +end + +--- @param path TablePath +--- @return boolean +function TablePath:is_parent_to(path) + if #path <= #self then + return false + end + for i, segment in ipairs(self) do + if segment ~= path[i] then + return false + end + end + return true +end + +--- Points the path to the next element. +--- +--- The iteration follows the brocatel runtime format specification. +--- It repeats the following until it finds a valid "next element". +--- +--- ## Procedure +--- +--- (1). If the parent node of the current element is not an *array* node, go to that parent node and start over. +--- +--- (2). If it is an *array* node: +--- +--- (2.1). If the current element is the last child node, go to that parent node and start over from (1). +--- +--- (2.2). If the current element is not the last child node, go to the next sibling and +--- +--- (2.2.1). If we are now at an *non-array* node, then it is a valid "next element". *Returns*. +--- +--- (2.2.2). If we are now at an *array* node and +--- +--- (2.2.2.1). If its first element (excluding the metadata element) is \`nil\`, start over from (1). +--- +--- (2.2.2.2). If its first element is an *array*, go there and start over from (2.2.2). +--- +--- (2.2.2.3). If its first element is an *non-array* node, go there and we are done. *Returns*. +--- +--- ## Details +--- +--- It tells whether a Lua table node is an *array*, by looking at its first element. +--- An *array* expects a metadata element (a Lua table), while others never. +--- +--- ## Usage +--- +--- The function steps the pointer to the next valid element. +--- For a root node like \`{{}, "A", "B"}\`, a pointer \`{2}\` points to \`"A"\`. +--- And stepping the pointer makes it point to \`"B"\`. +--- +--- However, you cannot step any pointer to point to the first valid element, +--- which is not "the next element" to any. In order to initialize a pointer +--- by letting it point to the first valid element, call \`step\` with its \`init\` +--- parameter set to \`true\` on an empty pointer. +--- +--- It may be clearer to state it this way: +--- - \`init = false\`: looks up the next valid element, current element **excluded**, while +--- - \`init = true\`: looks up the next valid element, current element **included**. +--- +--- @param t table +--- @param init boolean|nil see the above usage tips +--- @return boolean success false if the tree is exhausted and no valid next element can be found +--- @return boolean gone_up true if the process exhausted at least one array and started looking at its siblings +function TablePath:step(t, init) + assert(type(t) == "table", "expecting a table") + local new = self:copy() + local gone_up = false + while true do + if init then + init = false + else + local is_array, parent = new:is_array(t, 1) + while ( + #new > 1 and ( + not is_array + or #parent <= new[#new] + or ( + #new > 2 and ( + new[#new - 1] == "select" + or new[#new - 1] == "args" + ) + ) + ) + ) do + gone_up = true + new:resolve(nil) + if #new <= 1 then + assert(#new == 1) + self:set(new) + return false, true + end + is_array, parent = new:is_array(t, 1) + end + if new:is_done() then + self:set(new) + return false, gone_up + else + new[#new] = new[#new] + 1 + end + end + while new:is_array(t) do + -- Skipping the metadata node + new:resolve(2) + end + if new:get(t) then + self:set(new) + return true, gone_up + end + end +end + +--- Returns true if the pointer cannot get further incremented (pointing to the root). +--- +--- @return boolean done +function TablePath:is_done() + return #self <= 1 +end + +--- Concatenates path segments with \`/\`. +--- +--- @param sep string|nil the separator +--- @return string path the concatenated string +function TablePath:__tostring(sep) + sep = sep or "/" + local str = "" + for _, v in ipairs(self) do + str = str .. sep .. v + end + return str +end + +return TablePath + +end) +__bundle_register("savedata", function(require, _LOADED, __bundle_register, __bundle_modules) +local savedata = {} + +local TablePath = require("table_path") + +--- @class LocalEnv +--- @field keys table +--- @field values table + +--- @class Coroutine +--- @field ip TablePath +--- @field prev_ip TablePath|nil +--- @field locals LocalEnv +--- @field stack table + +--- @class Thread +--- @field current_coroutine number +--- @field coroutines table +--- @field thread_locals LocalEnv + +--- @class Text +--- @field tags table|boolean|nil +--- @field text string|nil + +--- @class Selectable +--- @field key number +--- @field option Text + +--- @class Output +--- @field tags table|boolean|nil +--- @field text string|nil +--- @field select Selectable[]|nil + +--- @class IOCache +--- @field input number|nil +--- @field output Output|nil + +--- @class SaveData +--- @field version number +--- @field current_thread string +--- @field threads table +--- @field stats table +--- @field globals table +--- @field current IOCache + +--- Initializes a savedata table from metadata. +--- +--- @param meta table +--- @return SaveData +function savedata.init(meta) + local ip = TablePath.from({ meta.entry }) + --- @type SaveData + return { + version = meta.version, + current_thread = "", + current = { + input = nil, + output = nil, + }, + threads = { + [""] = savedata.new_thread(ip), + }, + stats = {}, + globals = {}, + } +end + +--- @param ip TablePath +--- @return Coroutine +function savedata.new_coroutine(ip) + --- @type Coroutine + return { + ip = ip, + locals = { keys = {}, values = {} }, + stack = {}, + } +end + +--- @param ip TablePath +--- @return Thread +function savedata.new_thread(ip) + --- @type Thread + return { + current_coroutine = 1, + coroutines = { + savedata.new_coroutine(TablePath.from(ip)), + }, + thread_locals = { keys = {}, values = {} }, + } +end + +--- Checks if the key has a savable type. +--- +--- @param key any +local function is_key_valid(key) + local t = type(key) + return t == "number" or t == "string" +end + +--- Checks if the value is primitive. +--- +--- @param value any +local function is_value_primitive(value) + local t = type(value) + return t == "number" or t == "string" or t == "boolean" +end + +--- Generates a unique Lua name from i. +--- +--- @param i number +local function id(i) + local a = string.byte("a") + local A = string.byte("A") + local zero = string.byte("0") + -- Avoid colliding with Lua keywords + local t = { "_" } + local range = 26 * 2 + 10 + 1 + while i ~= 0 do + local mod = i % range + i = (i - mod) / range + local c + if mod < 26 then + c = string.char(a + mod) + elseif mod < 26 * 2 then + c = string.char(A + mod - 26) + elseif mod < 26 * 2 + 10 then + c = string.char(zero + mod - 26 * 2) + else + c = "_" + end + t[#t + 1] = c + end + return table.concat(t) +end + +--- Converts a value to string. +--- +--- @param v any +--- @return string serialized +local function str(v) + if type(v) == "string" then + return string.format("%q", v) + else + return tostring(v) + end +end + +--- Saves a table. +--- +--- Note that the generated Lua code writes the environment +--- by declaring global intermediate variables. It should be +--- safe to supply an empty environment though. +--- +--- @param t table +--- @return string saved Lua code that returns the restored table once it gets run +function savedata.save(t) + local builder = {} + local count = 0 + local saved = {} + --- Writes to the string builder. + --- @vararg string + local function write(...) + for _, v in ipairs({...}) do + builder[#builder + 1] = v + end + end + --- Saves a table recursively. + local function save(name, value) + if is_value_primitive(value) then + write(name, "=", str(value), "\\n") + elseif type(value) == "table" then + if saved[value] then + write(name, "=", saved[value], "\\n") + else + local short_name = id(count) + count = count + 1 + write(short_name, "={}\\n", name, "=", short_name, "\\n") + saved[value] = short_name + for k, v in pairs(value) do + if is_key_valid(k) then + local fieldname = string.format("%s[%s]", short_name, str(k)) + save(fieldname, v) + end + end + end + end + end + + save("_", t) + write("return _\\n") + return table.concat(builder) +end + +--- Loads a table. +--- +--- @param s string +--- @return table loaded +function savedata.load(s) + return savedata.load_with_env({}, s)() +end + +--- @param env table the environment +--- @param s string code +--- @return function +function savedata.load_with_env(env, s) + ---@diagnostic disable-next-line: deprecated + local setfenv = setfenv + if setfenv then + ---@diagnostic disable-next-line: deprecated + local chunk = assert(loadstring(s, '')) + setfenv(chunk, env) + return chunk + else + return assert(load(s, '', nil, env)) + end +end + +return savedata + +end) +__bundle_register("lookup", function(require, _LOADED, __bundle_register, __bundle_modules) +local TablePath = require("table_path") + +local tree = {} + +--- Basically \`t = t + another\`, array part only (ipairs). +--- @param t table +--- @param another table +local function extend(t, another) + for _, v in ipairs(another) do + t[#t + 1] = v + end +end + +--- Looks up \`Broc atel\` from \`broc-atel\`. +--- +--- @param t table +--- @param key string +local function fuzzy_lookup(t, key) + local v = t[key] + if v then + return v + end + key = string.lower(key) + key = string.gsub(key, '_', ' ') + key = string.gsub(key, '%p', '') + key = string.gsub(key, ' ', '-') + return t[key] +end + +--- Deduplicates paths. +--- @param paths TablePath[] +--- @return TablePath[] +local function deduplicate(paths) + local set = {} + for _, path in ipairs(paths) do + local s = path:__tostring("\\n") + local stored = set[s] + if not stored then + set[s] = path + else + assert(path:equals(stored)) + end + end + local output = {} + for _, path in pairs(set) do + output[#output + 1] = path + end + return output +end + +--- Finds labels that are directly accessible to the current location. +--- +--- @param current TablePath +--- @param label string +--- @param root Array +--- @return TablePath[] paths +function tree.direct_lookup(current, label, root) + local ptr = current:copy() + local matches = {} + while true do + local is_array, node = ptr:is_array(root) + if is_array and node then + local metadata = node[1] + local labels = metadata.labels + if labels then + local rel = fuzzy_lookup(labels, label) + if rel then + matches[#matches + 1] = ptr:copy():resolve(rel) + end + end + end + if ptr:is_done() then + return matches + end + -- Goes to parent nodes if not found. + ptr:resolve(nil) + end +end + +--- Finds children of parent nodes matching the label. +--- +--- @param current TablePath +--- @param label string +--- @param root Array +--- @param depth number|nil the recursion levels (see child_lookup) +--- @return TablePath[] paths +function tree.sibling_lookup(current, label, root, depth) + local ptr = current:copy():resolve(nil) + while true do + local found = tree.child_lookup(ptr, label, root, depth) + if #found ~= 0 then + return found + end + if ptr:is_done() then + return {} + end + -- Goes to parent nodes if not found. + ptr:resolve(nil) + end +end + +--- Finds children (maybe indirect) with a certain label. +--- +--- @param current TablePath +--- @param label string +--- @param root Array +--- @param depth number|nil +--- @return TablePath[] paths +function tree.child_lookup(current, label, root, depth) + local matches = {} + local lookups = { { current:copy(), 1 } } + while #lookups ~= 0 do + local lookup = lookups[#lookups] + local ptr = lookup[1] + local i = lookup[2] + lookups[#lookups] = nil + local is_array, node = ptr:is_array(root) + if is_array and node then + local labels = node[1].labels + if labels then + local rel = fuzzy_lookup(labels, label) + if rel then + if #rel > 0 then + matches[#matches + 1] = ptr:resolve(rel) + end + elseif not depth or i < depth then + for _, relative in pairs(labels) do + lookups[#lookups + 1] = { ptr:copy():resolve(relative), i + 1 } + end + end + end + end + end + return matches +end + +--- @param current TablePath +--- @param labels string[] +--- @param root Array +--- @return TablePath[] paths +function tree.deep_lookup(current, labels, root) + if #labels == 0 then + return { current } + end + local lookups = { { current, 1 } } + local found = {} + while #lookups ~= 0 do + local lookup = lookups[#lookups] + lookups[#lookups] = nil + local path = lookup[1] + local i = lookup[2] + local label = labels[i] + -- Try look up in child nodes. + local results = tree.child_lookup(path, label, root) + if i == 1 then + -- Direct elements. + extend(results, tree.direct_lookup(path, label, root)) + if #results == 0 then + -- More possibilities, discouraged though. + results = tree.sibling_lookup(current, label, root, 2) + end + end + if i == #labels then + extend(found, results) + else + for _, ptr in ipairs(results) do + lookups[#lookups + 1] = { ptr, i + 1 } + end + end + end + return deduplicate(found) +end + +--- @param root table +--- @param current TablePath|string either the name of the root node or path to the current node +--- @param labels string[] +--- @return TablePath[] paths +function tree.find_by_labels(root, current, labels) + if type(current) == "string" then + return tree.deep_lookup( + TablePath.from({ current }), + labels, + root + ) + else + return tree.deep_lookup(current, labels, root) + end +end + +return tree + +end) +__bundle_register("stacked_env", function(require, _LOADED, __bundle_register, __bundle_modules) +--- An environment table that supports scoped lookups with stacked tables. +--- +--- File-local scopes are not supported yet. +--- +--- @class StackedEnv +--- @field lua table the Lua environment +--- @field global table the global scope +--- @field label fun(table):table label lookup function +--- @field stack table some normal scopes that pose no requirements +--- @field env table the environment to be used +--- @field api table keys that forbid overriding +--- @field init boolean whether in initialing state +local StackedEnv = {} +StackedEnv.__index = StackedEnv + +--- Constructs a new environment controller. +--- +--- @return StackedEnv +function StackedEnv.new() + local stacked = { + lua = {}, + global = {}, + label = nil, + stack = {}, + env = {}, + api = { ROOT = true }, + init = true, + } + setmetatable(stacked, StackedEnv) + setmetatable(stacked.env, { + __index = function(_, key) + return stacked:get(key) + end, + __newindex = function(_, key, value) + stacked:set(key, value) + end + }) + return stacked +end + +--- Sets the initialing state. +--- +--- During initialization, only the Lua environment is accessible, that it, +--- all reads and writes are directed to the Lua environment table. +--- @param init boolean initialing state +function StackedEnv:set_init(init) + self.init = init +end + +--- @return table env the Lua environment +function StackedEnv:get_lua_env() + return self.lua +end + +--- @param env table the Lua environment +function StackedEnv:set_lua_env(env) + assert(type(env) == "table") + self.lua = env +end + +--- @param global table the global scope +function StackedEnv:set_global_scope(global) + assert(type(global) == "table") + self.global = global +end + +--- @param label function the label lookup function +function StackedEnv:set_label_lookup(label) + assert(not label or type(label) == "function") + self.label = label +end + +--- @param keys table a table storing captured keys +--- @param values table a table storing values for the keys +function StackedEnv:push(keys, values) + assert(type(keys) == "table" and type(values) == "table") + local stack = self.stack + stack[#stack + 1] = { keys, values } +end + +function StackedEnv:pop() + local stack = self.stack + stack[#stack] = nil +end + +--- Clears all normal scopes in the environment. +function StackedEnv:clear() + local stack = self.stack + for i = #stack, 1, -1 do + stack[i] = nil + end +end + +--- @param scope table +--- @param key any +local function get_with(scope, key) + if scope[1][key] then + return scope[2][key], true + end + return nil, false +end + +--- @param scope table +--- @param key any +--- @param value any +local function set_with(scope, key, value) + if scope[1][key] then + scope[2][key] = value + return true + end + return false +end + +local LABELER_INDEX = {} +local Label = {} +function Label.new(path, labeler) + if not labeler(path) then + return nil + end + rawset(path, LABELER_INDEX, labeler) + setmetatable(path, Label) + return path +end + +function Label:__index(key) + if type(key) ~= "string" then + return rawget(self, key) + end + local path = {} + for i, v in ipairs(self) do + path[i] = v + end + path[#path + 1] = key + local labeler = rawget(self, LABELER_INDEX) + return Label.new(path, labeler) +end + +function Label.__newindex() + error("writing to a label value is not supported") +end + +function StackedEnv.is_label(path) + return rawget(path, LABELER_INDEX) and true or false +end + +--- Does a scoped search. +--- +--- @param key any the key to look up +function StackedEnv:get(key) + if self.init then + return self.lua[key] + end + if #self.stack > 0 then + -- Function-local. + local v, ok = get_with(self.stack[#self.stack], key) + if ok then + return v + end + -- Thread-local. + if #self.stack ~= 1 then + v, ok = get_with(self.stack[1], key) + if ok then + return v + end + end + end + -- Labels. + if key == "ROOT" and self.label then + return Label.new({}, self.label) + end + local label = self.label and Label.new({ key }, self.label) + if label then + return label + end + -- File-local: not implemented. + -- Global. + local value = self.global[key] + if value ~= nil then + return value + end + -- Lua. + return self.lua[key] +end + +function StackedEnv:set_api(key, value) + self.lua[key] = value + self.api[key] = true +end + +function StackedEnv:set(key, value) + if self.api[key] then + error("overriding api keys not allowed") + end + if self.init then + self.lua[key] = value + return + end + if #self.stack > 0 then + -- Function-local. + if set_with(self.stack[#self.stack], key, value) then + return + end + --- Thread-local. + if #self.stack ~= 1 and set_with(self.stack[1], key, value) then + return + end + end + -- Labels. + if self.label and self.label({ key }) then + error("writing to a label value is not supported") + end + -- File-local: not implemented. + -- Global. + self.global[key] = value + -- Lua scope is read-only when not initialing. +end + +return StackedEnv + +end) +return __bundle_require("__root")`,bh=new Vu.LuaFactory(kh);function Xi(){return bh.createEngine({openStandardLibs:!0,injectObjects:!1,enableProxy:!0})}async function Lh(){const A=await Xi(),e=t=>{const n=A.global.getTop();try{return A.global.loadString(t),null}catch(r){return new SyntaxError(r.message)}finally{A.global.setTop(n)}};return e.close=()=>A.global.close(),e}const Sh=new Set(["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"]),Rh=/^[A-Za-z_]\w*$/;function Rr(A){return!Sh.has(A)&&Rh.test(A)}async function Nh(){const A=await Xi(),e=function(t,n,r){const g=A.global.getTop();r&&Object.entries(r).forEach(([o,a])=>{A.global.set(o,a)}),A.global.set("arg",t);const i=n.reduce((o,a)=>{try{return A.doStringSync(a)}catch(s){throw A.global.setTop(g),new Error(`error running ${a}: ${s.message}`)}},null);return A.global.setTop(g),i};return e.close=()=>A.global.close(),e}class nC{constructor(){HA(this,"L")}async loadStory(e,t,n){this.close();const r=await Xi();this.L=r,r.global.loadString(Fh,"vm.lua"),r.global.lua.lua_pcallk(r.global.address,0,-1,0,0,null),r.global.lua.lua_setglobal(r.global.address,"vm"),r.global.set("s",e.toString()),r.global.set("extern",n),r.global.set("save",t),this.reload()}isLoaded(){return this.L!==void 0}checkL(){if(this.L)return this.L;throw new Error("story not loaded yet")}load(e){const t=this.checkL();t.global.set("save",e),t.doStringSync("story:load(save)")}reload(){this.checkL().doStringSync("story = vm.load_vm(s, save, { extern = extern })")}save(){return this.checkL().doStringSync("return story:save()")}next(e){const t=this.checkL();t.global.set("option",e);const n=t.global.getTop(),r=t.doStringSync("return story:next(option)");return t.global.setTop(n),r}close(){this.L&&this.L.global.close(),this.L=void 0}}function li(A){return Object.fromEntries(Object.entries(A))}function Jt(A,e){const{position:t,data:n}=A,r=A;return Object.keys(r).forEach(g=>delete r[g]),Object.entries(e).forEach(([g,i])=>{r[g]=i}),!r.data&&n&&(r.data=n),!r.position&&t&&(r.position=t),r}function Mh(A,e){const t=[];for(let r=e;r",this.stack=[]}isEmptyTable(){return this.stack.length!==0&&this.stack[this.stack.length-1].type==="table-start"}push(e,t){t?this.stack.push({type:"annotated",value:lr(t.start.line,t.start.column,this.file,[e])}):this.stack.push({type:"raw",value:e})}sep(){this.paired?(this.push("="),this.paired=!1):this.stack.length!==0&&!this.isEmptyTable()&&this.push(`, +`)}raw(e,t){return this.sep(),typeof e=="string"?this.push(e,t):this.stack.push({type:"annotated",value:e}),this}value(e,t){return this.sep(),this.push(JSON.stringify(e),t),this}pair(e,t){return this.sep(),this.push(Rr(e)?e:`[${JSON.stringify(e)}]`,t),this.paired=!0,this}startTable(e){return this.sep(),this.stack.push({type:"table-start",position:e}),this}endTable(){var e,t;if(this.isEmptyTable()){const n=this.stack.pop();this.push(this.emptyTableExpr,n.position)}else{let n=this.stack.length-1;for(;n>=0;){const{type:i}=this.stack[n];if(i==="table-start")break;n-=1}if(n<0)throw new Error("no table start token found");const r=this.stack[n],g=lr((e=r.position)==null?void 0:e.start.line,(t=r.position)==null?void 0:t.start.column,this.file,this.stack.splice(n).map(i=>i.type==="table-start"?"{":i.value));g.add("}"),this.stack.push({type:"annotated",value:g})}return this}toSourceNode(){if(this.stack.length===1&&this.stack[0].type==="annotated")return this.stack[0].value;throw new Error("invalid state")}toString(){return this.toSourceNode().toString()}}function ta(A){return A?Object.keys(A).length===0:!0}function Gh(A,e){return A[0].localeCompare(e[0])}function Gg(A,e){return Object.entries(A).sort(Gh).map(([t,n])=>`${Rr(t)?t:`[${JSON.stringify(t)}]`}=${e(n)}`).join(",")}function na(A){const e=A.position||A.node.position;return e?`"${e.start.line}:${e.start.column}"`:'""'}class Uh{constructor(e,t){HA(this,"root"),HA(this,"vfile"),HA(this,"data"),HA(this,"builder"),this.root=e,this.vfile=t,this.data=ot(t),this.builder=new rC("_",t.path)}compile(){this.visitAll(),this.data.gettext=yh(this.root,this.vfile);const e=this.builder.toSourceNode();return this.data.sourceMap=e,this.data.debug&&(this.data.headings=zi(this.root)),this.builder.toString()}visitAll(){const e=[this.root],t=[-1];for(;e.length!==0;){const n=e[e.length-1],r=t[e.length-1];if(t[e.length-1]+=1,r===-1)this.serialize(n,!1);else if(rJSON.stringify(t)).join(",")).endTable(),e.coroutine&&this.builder.pair("coroutine").value(!0),e.params!==void 0&&this.builder.pair("params").raw(e.params===""?"true":`function() +return ${e.params} +end`),e.root&&this.builder.pair("root").value(e.root),this.builder.endTable()}serializeText(e){if(!e.plural&&ta(e.tags)&&ta(e.values))this.builder.value(e.text,e.node.position);else{this.builder.startTable(e.node.position),e.plural&&this.builder.pair("plural").value(e.plural);const t=Gg(e.tags,r=>JSON.stringify(r));t!==""&&this.builder.pair("tags").startTable().raw(t).endTable(),this.builder.pair("text").value(e.text);const n=Gg(e.values,r=>`function()return(${r})end`);n!==""&&this.builder.pair("values").startTable().raw(n).endTable(),this.builder.endTable()}}serialize(e,t){var n,r,g;if(t){if(e.type!=="func"){this.builder.endTable();return}e.children.length!==0&&this.builder.endTable(),this.builder.pair("func").raw(`function(args) +${e.code.trim()} +end`).endTable();return}switch(e.type){case"array":{if(this.builder.startTable(e.node.position).startTable(),this.data.debug){const o=[na(e)];e.children.forEach(s=>o.push(na(s)));let a=0;for(let s=1;sJSON.stringify(o)).join(",")).endTable(),(r=e.data)!=null&&r.label&&this.builder.pair("label").value(e.data.label);const i=Gg(((g=e.data)==null?void 0:g.labels)||{},({path:o})=>`{${o.map(a=>JSON.stringify(a)).join(",")}}`);i&&this.builder.pair("labels").startTable().raw(i).endTable(),this.builder.endTable();break}case"func":this.builder.startTable(e.node.position),e.children.length!==0&&this.builder.pair("args").startTable().startTable().endTable();break;case"if-else":this.builder.startTable(e.node.position).raw(`function()return(${e.condition})end`);break;default:throw new Error("unreachable")}}}const xh=function(){this.Compiler=Uh},Jh={handlers:{mdxFlowExpression:ra,mdxTextExpression:ra},unsafe:[{character:"{",inConstruct:["phrasing"]},{atBreak:!0,character:"{"}]};function ra(A){return"{"+(A.value||"")+"}"}const ga={}.hasOwnProperty;function Hh(A,e){const t=e||{};function n(r,...g){let i=n.invalid;const o=n.handlers;if(r&&ga.call(r,A)){const a=String(r[A]);i=ga.call(o,a)?o[a]:n.unknown}if(i)return i.call(this,r,...g)}return n.handlers=t.handlers||{},n.invalid=t.invalid,n.unknown=t.unknown,n}function gr(A,e){let t=-1,n;if(e.extensions)for(;++t "),g.shift(2);const i=t.indentLines(t.containerFlow(A,g.current()),Kh);return r(),i}function Kh(A,e,t){return">"+(t?"":" ")+A}function gC(A,e){return ia(A,e.inConstruct,!0)&&!ia(A,e.notInConstruct,!1)}function ia(A,e,t){if(typeof e=="string"&&(e=[e]),!e||e.length===0)return t;let n=-1;for(;++ni&&(i=g):g=1,r=n+e.length,n=t.indexOf(e,r);return i}function ui(A,e){return!!(!e.options.fences&&A.value&&!A.lang&&/[^ \r\n]/.test(A.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(A.value))}function qh(A){const e=A.options.fence||"`";if(e!=="`"&&e!=="~")throw new Error("Cannot serialize code with `"+e+"` for `options.fence`, expected `` ` `` or `~`");return e}function Th(A,e,t,n){const r=qh(t),g=A.value||"",i=r==="`"?"GraveAccent":"Tilde";if(ui(A,t)){const E=t.enter("codeIndented"),u=t.indentLines(g,_h);return E(),u}const o=t.createTracker(n),a=r.repeat(Math.max(Yh(g,r)+1,3)),s=t.enter("codeFenced");let B=o.move(a);if(A.lang){const E=t.enter(`codeFencedLang${i}`);B+=o.move(t.safe(A.lang,{before:B,after:" ",encode:["`"],...o.current()})),E()}if(A.lang&&A.meta){const E=t.enter(`codeFencedMeta${i}`);B+=o.move(" "),B+=o.move(t.safe(A.meta,{before:B,after:` +`,encode:["`"],...o.current()})),E()}return B+=o.move(` +`),g&&(B+=o.move(g+` +`)),B+=o.move(a),s(),B}function _h(A,e,t){return(t?"":" ")+A}function $i(A){const e=A.options.quote||'"';if(e!=='"'&&e!=="'")throw new Error("Cannot serialize title with `"+e+"` for `options.quote`, expected `\"`, or `'`");return e}function Oh(A,e,t,n){const r=$i(t),g=r==='"'?"Quote":"Apostrophe",i=t.enter("definition");let o=t.enter("label");const a=t.createTracker(n);let s=a.move("[");return s+=a.move(t.safe(t.associationId(A),{before:s,after:"]",...a.current()})),s+=a.move("]: "),o(),!A.url||/[\0- \u007F]/.test(A.url)?(o=t.enter("destinationLiteral"),s+=a.move("<"),s+=a.move(t.safe(A.url,{before:s,after:">",...a.current()})),s+=a.move(">")):(o=t.enter("destinationRaw"),s+=a.move(t.safe(A.url,{before:s,after:A.title?" ":` +`,...a.current()}))),o(),A.title&&(o=t.enter(`title${g}`),s+=a.move(" "+r),s+=a.move(t.safe(A.title,{before:s,after:r,...a.current()})),s+=a.move(r),o()),i(),s}function Ph(A){const e=A.options.emphasis||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize emphasis with `"+e+"` for `options.emphasis`, expected `*`, or `_`");return e}iC.peek=Vh;function iC(A,e,t,n){const r=Ph(t),g=t.enter("emphasis"),i=t.createTracker(n);let o=i.move(r);return o+=i.move(t.containerPhrasing(A,{before:o,after:r,...i.current()})),o+=i.move(r),g(),o}function Vh(A,e,t){return t.options.emphasis||"*"}const jh=function(A,e,t,n){typeof e=="function"&&typeof t!="function"&&(n=t,t=e,e=null),Zt(A,e,r,n);function r(g,i){const o=i[i.length-1];return t(g,o?o.children.indexOf(g):null,o)}};function oC(A,e){let t=!1;return jh(A,n=>{if("value"in n&&/\r?\n|\r/.test(n.value)||n.type==="break")return t=!0,Ei}),!!((!A.depth||A.depth<3)&&Ui(A)&&(e.options.setext||t))}function Wh(A,e,t,n){const r=Math.max(Math.min(6,A.depth||1),1),g=t.createTracker(n);if(oC(A,t)){const B=t.enter("headingSetext"),E=t.enter("phrasing"),u=t.containerPhrasing(A,{...g.current(),before:` +`,after:` +`});return E(),B(),u+` +`+(r===1?"=":"-").repeat(u.length-(Math.max(u.lastIndexOf("\r"),u.lastIndexOf(` +`))+1))}const i="#".repeat(r),o=t.enter("headingAtx"),a=t.enter("phrasing");g.move(i+" ");let s=t.containerPhrasing(A,{before:"# ",after:` +`,...g.current()});return/^[\t ]/.test(s)&&(s="&#x"+s.charCodeAt(0).toString(16).toUpperCase()+";"+s.slice(1)),s=s?i+" "+s:i,t.options.closeAtx&&(s+=" "+i),a(),o(),s}IC.peek=zh;function IC(A){return A.value||""}function zh(){return"<"}aC.peek=Zh;function aC(A,e,t,n){const r=$i(t),g=r==='"'?"Quote":"Apostrophe",i=t.enter("image");let o=t.enter("label");const a=t.createTracker(n);let s=a.move("![");return s+=a.move(t.safe(A.alt,{before:s,after:"]",...a.current()})),s+=a.move("]("),o(),!A.url&&A.title||/[\0- \u007F]/.test(A.url)?(o=t.enter("destinationLiteral"),s+=a.move("<"),s+=a.move(t.safe(A.url,{before:s,after:">",...a.current()})),s+=a.move(">")):(o=t.enter("destinationRaw"),s+=a.move(t.safe(A.url,{before:s,after:A.title?" ":")",...a.current()}))),o(),A.title&&(o=t.enter(`title${g}`),s+=a.move(" "+r),s+=a.move(t.safe(A.title,{before:s,after:r,...a.current()})),s+=a.move(r),o()),s+=a.move(")"),i(),s}function Zh(){return"!"}sC.peek=Xh;function sC(A,e,t,n){const r=A.referenceType,g=t.enter("imageReference");let i=t.enter("label");const o=t.createTracker(n);let a=o.move("![");const s=t.safe(A.alt,{before:a,after:"]",...o.current()});a+=o.move(s+"]["),i();const B=t.stack;t.stack=[],i=t.enter("reference");const E=t.safe(t.associationId(A),{before:a,after:"]",...o.current()});return i(),t.stack=B,g(),r==="full"||!s||s!==E?a+=o.move(E+"]"):r==="shortcut"?a=a.slice(0,-1):a+=o.move("]"),a}function Xh(){return"!"}function CC(A){if(!A._compiled){const e=(A.atBreak?"[\\r\\n][\\t ]*":"")+(A.before?"(?:"+A.before+")":"");A._compiled=new RegExp((e?"("+e+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(A.character)?"\\":"")+A.character+(A.after?"(?:"+A.after+")":""),"g")}return A._compiled}QC.peek=$h;function QC(A,e,t){let n=A.value||"",r="`",g=-1;for(;new RegExp("(^|[^`])"+r+"([^`]|$)").test(n);)r+="`";for(/[^ \r\n]/.test(n)&&(/^[ \r\n]/.test(n)&&/[ \r\n]$/.test(n)||/^`|`$/.test(n))&&(n=" "+n+" ");++g\u007F]/.test(A.url))}EC.peek=Af;function EC(A,e,t,n){const r=$i(t),g=r==='"'?"Quote":"Apostrophe",i=t.createTracker(n);let o,a;if(BC(A,t)){const B=t.stack;t.stack=[],o=t.enter("autolink");let E=i.move("<");return E+=i.move(t.containerPhrasing(A,{before:E,after:">",...i.current()})),E+=i.move(">"),o(),t.stack=B,E}o=t.enter("link"),a=t.enter("label");let s=i.move("[");return s+=i.move(t.containerPhrasing(A,{before:s,after:"](",...i.current()})),s+=i.move("]("),a(),!A.url&&A.title||/[\0- \u007F]/.test(A.url)?(a=t.enter("destinationLiteral"),s+=i.move("<"),s+=i.move(t.safe(A.url,{before:s,after:">",...i.current()})),s+=i.move(">")):(a=t.enter("destinationRaw"),s+=i.move(t.safe(A.url,{before:s,after:A.title?" ":")",...i.current()}))),a(),A.title&&(a=t.enter(`title${g}`),s+=i.move(" "+r),s+=i.move(t.safe(A.title,{before:s,after:r,...i.current()})),s+=i.move(r),a()),s+=i.move(")"),o(),s}function Af(A,e,t){return BC(A,t)?"<":"["}lC.peek=ef;function lC(A,e,t,n){const r=A.referenceType,g=t.enter("linkReference");let i=t.enter("label");const o=t.createTracker(n);let a=o.move("[");const s=t.containerPhrasing(A,{before:a,after:"]",...o.current()});a+=o.move(s+"]["),i();const B=t.stack;t.stack=[],i=t.enter("reference");const E=t.safe(t.associationId(A),{before:a,after:"]",...o.current()});return i(),t.stack=B,g(),r==="full"||!s||s!==E?a+=o.move(E+"]"):r==="shortcut"?a=a.slice(0,-1):a+=o.move("]"),a}function ef(){return"["}function Ao(A){const e=A.options.bullet||"*";if(e!=="*"&&e!=="+"&&e!=="-")throw new Error("Cannot serialize items with `"+e+"` for `options.bullet`, expected `*`, `+`, or `-`");return e}function tf(A){const e=Ao(A),t=A.options.bulletOther;if(!t)return e==="*"?"-":"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(t===e)throw new Error("Expected `bullet` (`"+e+"`) and `bulletOther` (`"+t+"`) to be different");return t}function uC(A){const e=A.options.bulletOrdered||".";if(e!=="."&&e!==")")throw new Error("Cannot serialize items with `"+e+"` for `options.bulletOrdered`, expected `.` or `)`");return e}function nf(A){const e=uC(A),t=A.options.bulletOrderedOther;if(!t)return e==="."?")":".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrderedOther`, expected `*`, `+`, or `-`");if(t===e)throw new Error("Expected `bulletOrdered` (`"+e+"`) and `bulletOrderedOther` (`"+t+"`) to be different");return t}function cC(A){const e=A.options.rule||"*";if(e!=="*"&&e!=="-"&&e!=="_")throw new Error("Cannot serialize rules with `"+e+"` for `options.rule`, expected `*`, `-`, or `_`");return e}function rf(A,e,t,n){const r=t.enter("list"),g=t.bulletCurrent;let i=A.ordered?uC(t):Ao(t);const o=A.ordered?nf(t):tf(t),a=t.bulletLastUsed;let s=!1;if(e&&(A.ordered?t.options.bulletOrderedOther:t.options.bulletOther)&&a&&i===a&&(s=!0),!A.ordered){const E=A.children?A.children[0]:void 0;if((i==="*"||i==="-")&&E&&(!E.children||!E.children[0])&&t.stack[t.stack.length-1]==="list"&&t.stack[t.stack.length-2]==="listItem"&&t.stack[t.stack.length-3]==="list"&&t.stack[t.stack.length-4]==="listItem"&&t.indexStack[t.indexStack.length-1]===0&&t.indexStack[t.indexStack.length-2]===0&&t.indexStack[t.indexStack.length-3]===0&&(s=!0),cC(t)===i&&E){let u=-1;for(;++u-1?e.start:1)+(t.options.incrementListMarker===!1?0:e.children.indexOf(A))+g);let i=g.length+1;(r==="tab"||r==="mixed"&&(e&&e.type==="list"&&e.spread||A.spread))&&(i=Math.ceil(i/4)*4);const o=t.createTracker(n);o.move(g+" ".repeat(i-g.length)),o.shift(i);const a=t.enter("listItem"),s=t.indentLines(t.containerFlow(A,o.current()),B);return a(),s;function B(E,u,l){return u?(l?"":" ".repeat(i))+E:(l?g:g+" ".repeat(i-g.length))+E}}function If(A,e,t,n){const r=t.enter("paragraph"),g=t.enter("phrasing"),i=t.containerPhrasing(A,n);return g(),r(),i}const af=Zi(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","link","linkReference","strong","text"]);function sf(A,e,t,n){return(A.children.some(r=>af(r))?t.containerPhrasing:t.containerFlow).call(t,A,n)}function Cf(A){const e=A.options.strong||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize strong with `"+e+"` for `options.strong`, expected `*`, or `_`");return e}hC.peek=Qf;function hC(A,e,t,n){const r=Cf(t),g=t.enter("strong"),i=t.createTracker(n);let o=i.move(r+r);return o+=i.move(t.containerPhrasing(A,{before:o,after:r,...i.current()})),o+=i.move(r+r),g(),o}function Qf(A,e,t){return t.options.strong||"*"}function Bf(A,e,t,n){return t.safe(A.value,n)}function Ef(A){const e=A.options.ruleRepetition||3;if(e<3)throw new Error("Cannot serialize rules with repetition `"+e+"` for `options.ruleRepetition`, expected `3` or more");return e}function lf(A,e,t){const n=(cC(t)+(t.options.ruleSpaces?" ":"")).repeat(Ef(t));return t.options.ruleSpaces?n.slice(0,-1):n}const uf={blockquote:vh,break:oa,code:Th,definition:Oh,emphasis:iC,hardBreak:oa,heading:Wh,html:IC,image:aC,imageReference:sC,inlineCode:QC,link:EC,linkReference:lC,list:rf,listItem:of,paragraph:If,root:sf,strong:hC,text:Bf,thematicBreak:lf},cf=[hf];function hf(A,e,t,n){if(e.type==="code"&&ui(e,n)&&(A.type==="list"||A.type===e.type&&ui(A,n))||A.type==="list"&&A.type===e.type&&!!A.ordered==!!e.ordered&&!(A.ordered?n.options.bulletOrderedOther:n.options.bulletOther))return!1;if("spread"in t&&typeof t.spread=="boolean")return A.type==="paragraph"&&(A.type===e.type||e.type==="definition"||e.type==="heading"&&oC(e,n))?void 0:t.spread?1:0}const Dt=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"],ff=[{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"\r",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:` +`,inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"!",after:"\\[",inConstruct:"phrasing",notInConstruct:Dt},{character:'"',inConstruct:"titleQuote"},{atBreak:!0,character:"#"},{character:"#",inConstruct:"headingAtx",after:`(?:[\r +]|$)`},{character:"&",after:"[#A-Za-z]",inConstruct:"phrasing"},{character:"'",inConstruct:"titleApostrophe"},{character:"(",inConstruct:"destinationRaw"},{before:"\\]",character:"(",inConstruct:"phrasing",notInConstruct:Dt},{atBreak:!0,before:"\\d+",character:")"},{character:")",inConstruct:"destinationRaw"},{atBreak:!0,character:"*",after:`(?:[ \r +*])`},{character:"*",inConstruct:"phrasing",notInConstruct:Dt},{atBreak:!0,character:"+",after:`(?:[ \r +])`},{atBreak:!0,character:"-",after:`(?:[ \r +-])`},{atBreak:!0,before:"\\d+",character:".",after:`(?:[ \r +]|$)`},{atBreak:!0,character:"<",after:"[!/?A-Za-z]"},{character:"<",after:"[!/?A-Za-z]",inConstruct:"phrasing",notInConstruct:Dt},{character:"<",inConstruct:"destinationLiteral"},{atBreak:!0,character:"="},{atBreak:!0,character:">"},{character:">",inConstruct:"destinationLiteral"},{atBreak:!0,character:"["},{character:"[",inConstruct:"phrasing",notInConstruct:Dt},{character:"[",inConstruct:["label","reference"]},{character:"\\",after:"[\\r\\n]",inConstruct:"phrasing"},{character:"]",inConstruct:["label","reference"]},{atBreak:!0,character:"_"},{character:"_",inConstruct:"phrasing",notInConstruct:Dt},{atBreak:!0,character:"`"},{character:"`",inConstruct:["codeFencedLangGraveAccent","codeFencedMetaGraveAccent"]},{character:"`",inConstruct:"phrasing",notInConstruct:Dt},{atBreak:!0,character:"~"}];function df(A){return A.label||!A.identifier?A.label||"":Ls(A.identifier)}function pf(A,e,t){const n=e.indexStack,r=A.children||[],g=[];let i=-1,o=t.before;n.push(-1);let a=e.createTracker(t);for(;++i0&&(o==="\r"||o===` +`)&&s.type==="html"&&(g[g.length-1]=g[g.length-1].replace(/(\r?\n|\r)$/," "),o=" ",a=e.createTracker(t),a.move(g.join(""))),g.push(a.move(e.handle(s,A,e,{...a.current(),before:o,after:B}))),o=g[g.length-1].slice(-1)}return n.pop(),g.join("")}function Df(A,e,t){const n=e.indexStack,r=A.children||[],g=e.createTracker(t),i=[];let o=-1;for(n.push(-1);++o + +`}return` + +`}const wf=/\r?\n|\r/g;function mf(A,e){const t=[];let n=0,r=0,g;for(;g=wf.exec(A);)i(A.slice(n,g.index)),t.push(g[0]),n=g.index+g[0].length,r++;return i(A.slice(n)),t.join("");function i(o){t.push(e(o,r,!o))}}function kf(A,e,t){const n=(t.before||"")+(e||"")+(t.after||""),r=[],g=[],i={};let o=-1;for(;++o=s||B+1= 1, "conditional branch must not be empty") + local cond = list_item.children[1] + assert( + cond.type == "paragraph" and #cond.children == 1 and cond.children[1].type == "inlineCode", + "the first element must be a condition" + ) + local case = cond.children[1].value + local items = {} --- @type Node[] + for j = 2, #list_item.children do + items[#items + 1] = list_item.children[j] + end + children[#children + 1] = items + code = code .. "\\nif(\\n" .. case .. "\\n)then return IP:set(args:resolve(" .. (i + 1) .. "))end" + end + + return md.macro("do", code, children, true) +end +`;function aa(A){return A==="do"||A==="if"||A==="local"||A==="nil"}function pn(A){return Lf(A,{extensions:[tC,Jh]}).trim()}class ur{constructor(e,t){HA(this,"root"),HA(this,"vfile"),HA(this,"macros"),HA(this,"runLua"),this.root=e,this.vfile=t,this.macros=[]}async expand(){this.runLua=await Nh(),Zt(this.root,(e,t)=>{const n=e;if(n.type==="root")return;let{position:r}=n;const g=t[t.length-1];for(;this.expandSyntacticSugar(n,g)||this.expandMacro(n);)!n.position&&r&&(n.position=r),r=n.position||r})}expandMacro(e){var t,n;if(e.type==="code"&&e.lang==="lua"&&e.meta==="macro")return this.macros.push(e.value),!1;if(e.type!=="containerDirective"||aa(e.name))return!1;if(e.children.length>2)return this.vfile.message("too many children inside a macro node",e),!1;if(e.children.length===1){if(e.children[0].type!=="list")return this.vfile.message("expecting a list inside the macro node",e),!1}else if(((t=e.children[0])==null?void 0:t.type)!=="containerDirectiveLabel"||((n=e.children[1])==null?void 0:n.type)!=="list")return this.vfile.message("invalid macro node",e),!1;if(!Rr(e.name.replace(/\./g,"")))return this.vfile.message("not a lua identifier",e),!1;try{const r=this.runLua(e,[xf,...this.macros,`return ${e.name}(arg)`],{TO_MARKDOWN:pn});Jt(e,r)}catch(r){return this.vfile.message(r,e),!1}return!0}expandSyntacticSugar(e,t){return this.expandList(e,t)||this.expandConditional(e)||ur.expandThematicBreak(e)||ur.expandCoroutineCall(e)}static expandThematicBreak(e){let t;if(e.type==="thematicBreak")t=!1;else if(e.type==="blockquote"&&e.children.length===1&&e.children[0].type==="thematicBreak")t=!0;else return!1;return Jt(e,{type:"code",lang:"lua",value:t?"END(true)":"END()"}),!0}static expandCoroutineCall(e){if(e.type!=="blockquote"||e.children.length!==1)return!1;const t=e.children[0];if(t.type!=="paragraph"||t.children.length!==1)return!1;const n=t.children[0];return n.type!=="link"?!1:(n.data||(n.data={}),n.data.coroutine=!0,Jt(e,t),!0)}expandList(e,t){if(e.type!=="list")return!1;if(t.type==="containerDirective")return aa(t.name)||this.vfile.message("macro node not transformed",t),!1;const n=li(e),r={type:"containerDirective",name:"do",children:[Ci(e.ordered?"FUNC.S_RECUR":"FUNC.S_ONCE"),n]};return Jt(e,r),!0}expandConditional(e){if(e.type!=="paragraph")return!1;const{children:t}=e;if(t.length===0||t[0].type!=="inlineCode")return!1;if(t.length===1){const g={type:"code",lang:"lua",value:t[0].value};return Jt(e,g),!0}const n={type:"list",children:[{type:"listItem",children:[Mh(e,1)]}]},r={type:"containerDirective",name:"if",children:[Ci(t[0].value),n]};return Jt(e,r),!0}}const Jf=()=>(A,e)=>new ur(A,e).expand(),Hf=()=>(A,e)=>{const t=ot(e);if(!t.lineMapping)return A;const{original:n,newLines:r}=t.lineMapping,g=A;function i(o,a,s){if(s-a<=1||r[a]===o)return a;const B=Math.floor((s+a)/2);return r[B]>o?i(o,a,B):i(o,B,s)}return Zt(g,o=>{const a=o.position;a&&(a.start.line=n[i(a.start.line,0,r.length)]+1,a.end.line=n[i(a.end.line,0,r.length)]+1,a.start.offset=0,a.end.offset=0)}),g};let Wn;const vf=new Uint8Array(16);function Kf(){if(!Wn&&(Wn=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Wn))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Wn(vf)}const XA=[];for(let A=0;A<256;++A)XA.push((A+256).toString(16).slice(1));function Yf(A,e=0){return XA[A[e+0]]+XA[A[e+1]]+XA[A[e+2]]+XA[A[e+3]]+"-"+XA[A[e+4]]+XA[A[e+5]]+"-"+XA[A[e+6]]+XA[A[e+7]]+"-"+XA[A[e+8]]+XA[A[e+9]]+"-"+XA[A[e+10]]+XA[A[e+11]]+XA[A[e+12]]+XA[A[e+13]]+XA[A[e+14]]+XA[A[e+15]]}const qf=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),sa={randomUUID:qf};function Tf(A,e,t){if(sa.randomUUID&&!e&&!A)return sa.randomUUID();A=A||{};const n=A.random||(A.rng||Kf)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){t=t||0;for(let r=0;r<16;++r)e[t+r]=n[r];return e}return Yf(n)}const eo=Symbol.for("yaml.alias"),ci=Symbol.for("yaml.document"),It=Symbol.for("yaml.map"),fC=Symbol.for("yaml.pair"),tt=Symbol.for("yaml.scalar"),tn=Symbol.for("yaml.seq"),ke=Symbol.for("yaml.node.type"),nn=A=>!!A&&typeof A=="object"&&A[ke]===eo,Nr=A=>!!A&&typeof A=="object"&&A[ke]===ci,Rn=A=>!!A&&typeof A=="object"&&A[ke]===It,PA=A=>!!A&&typeof A=="object"&&A[ke]===fC,MA=A=>!!A&&typeof A=="object"&&A[ke]===tt,Nn=A=>!!A&&typeof A=="object"&&A[ke]===tn;function OA(A){if(A&&typeof A=="object")switch(A[ke]){case It:case tn:return!0}return!1}function zA(A){if(A&&typeof A=="object")switch(A[ke]){case eo:case It:case tt:case tn:return!0}return!1}const _f=A=>(MA(A)||OA(A))&&!!A.anchor,wt=Symbol("break visit"),Of=Symbol("skip children"),Dn=Symbol("remove node");function Lt(A,e){const t=Pf(e);Nr(A)?Yt(null,A.contents,t,Object.freeze([A]))===Dn&&(A.contents=null):Yt(null,A,t,Object.freeze([]))}Lt.BREAK=wt;Lt.SKIP=Of;Lt.REMOVE=Dn;function Yt(A,e,t,n){const r=Vf(A,e,t,n);if(zA(r)||PA(r))return jf(A,n,r),Yt(A,r,t,n);if(typeof r!="symbol"){if(OA(e)){n=Object.freeze(n.concat(e));for(let g=0;gA.replace(/[!,[\]{}]/g,e=>Wf[e]);class te{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},te.defaultYaml,e),this.tags=Object.assign({},te.defaultTags,t)}clone(){const e=new te(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){const e=new te(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:te.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},te.defaultTags);break}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:te.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},te.defaultTags),this.atNextDocument=!1);const n=e.trim().split(/[ \t]+/),r=n.shift();switch(r){case"%TAG":{if(n.length!==2&&(t(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;const[g,i]=n;return this.tags[g]=i,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return t(0,"%YAML directive should contain exactly one part"),!1;const[g]=n;if(g==="1.1"||g==="1.2")return this.yaml.version=g,!0;{const i=/^\d+\.\d+$/.test(g);return t(6,`Unsupported YAML version ${g}`,i),!1}}default:return t(0,`Unknown directive ${r}`,!0),!1}}tagName(e,t){if(e==="!")return"!";if(e[0]!=="!")return t(`Not a valid tag: ${e}`),null;if(e[1]==="<"){const i=e.slice(2,-1);return i==="!"||i==="!!"?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&t("Verbatim tags must end with a >"),i)}const[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);const g=this.tags[n];if(g)try{return g+decodeURIComponent(r)}catch(i){return t(String(i)),null}return n==="!"?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(const[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+zf(e.substring(n.length));return e[0]==="!"?e:`!<${e}>`}toString(e){const t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags);let r;if(e&&n.length>0&&zA(e.contents)){const g={};Lt(e.contents,(i,o)=>{zA(o)&&o.tag&&(g[o.tag]=!0)}),r=Object.keys(g)}else r=[];for(const[g,i]of n)g==="!!"&&i==="tag:yaml.org,2002:"||(!e||r.some(o=>o.startsWith(i)))&&t.push(`%TAG ${g} ${i}`);return t.join(` +`)}}te.defaultYaml={explicit:!1,version:"1.2"};te.defaultTags={"!!":"tag:yaml.org,2002:"};function dC(A){if(/[\x00-\x19\s,[\]{}]/.test(A)){const e=`Anchor must not contain whitespace or control characters: ${JSON.stringify(A)}`;throw new Error(e)}return!0}function pC(A){const e=new Set;return Lt(A,{Value(t,n){n.anchor&&e.add(n.anchor)}}),e}function DC(A,e){for(let t=1;;++t){const n=`${A}${t}`;if(!e.has(n))return n}}function Zf(A,e){const t=[],n=new Map;let r=null;return{onAnchor:g=>{t.push(g),r||(r=pC(A));const i=DC(e,r);return r.add(i),i},setAnchors:()=>{for(const g of t){const i=n.get(g);if(typeof i=="object"&&i.anchor&&(MA(i.node)||OA(i.node)))i.node.anchor=i.anchor;else{const o=new Error("Failed to resolve repeated object (this should not happen)");throw o.source=g,o}}},sourceObjects:n}}function qt(A,e,t,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let r=0,g=n.length;rwe(n,String(r),t));if(A&&typeof A.toJSON=="function"){if(!t||!_f(A))return A.toJSON(e,t);const n={aliasCount:0,count:1,res:void 0};t.anchors.set(A,n),t.onCreate=g=>{n.res=g,delete t.onCreate};const r=A.toJSON(e,t);return t.onCreate&&t.onCreate(r),r}return typeof A=="bigint"&&!(t!=null&&t.keep)?Number(A):A}class to{constructor(e){Object.defineProperty(this,ke,{value:e})}clone(){const e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:r,reviver:g}={}){if(!Nr(e))throw new TypeError("A document argument is required");const i={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},o=we(this,"",i);if(typeof r=="function")for(const{count:a,res:s}of i.anchors.values())r(s,a);return typeof g=="function"?qt(g,{"":o},"",o):o}}class no extends to{constructor(e){super(eo),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e){let t;return Lt(e,{Node:(n,r)=>{if(r===this)return Lt.BREAK;r.anchor===this.source&&(t=r)}}),t}toJSON(e,t){if(!t)return{source:this.source};const{anchors:n,doc:r,maxAliasCount:g}=t,i=this.resolve(r);if(!i){const a=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(a)}let o=n.get(i);if(o||(we(i,null,t),o=n.get(i)),!o||o.res===void 0){const a="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(a)}if(g>=0&&(o.count+=1,o.aliasCount===0&&(o.aliasCount=ir(r,i,n)),o.count*o.aliasCount>g)){const a="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(a)}return o.res}toString(e,t,n){const r=`*${this.source}`;if(e){if(dC(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){const g=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(g)}if(e.implicitKey)return`${r} `}return r}}function ir(A,e,t){if(nn(e)){const n=e.resolve(A),r=t&&n&&t.get(n);return r?r.count*r.aliasCount:0}else if(OA(e)){let n=0;for(const r of e.items){const g=ir(A,r,t);g>n&&(n=g)}return n}else if(PA(e)){const n=ir(A,e.key,t),r=ir(A,e.value,t);return Math.max(n,r)}return 1}const yC=A=>!A||typeof A!="function"&&typeof A!="object";class cA extends to{constructor(e){super(tt),this.value=e}toJSON(e,t){return t!=null&&t.keep?this.value:we(this.value,e,t)}toString(){return String(this.value)}}cA.BLOCK_FOLDED="BLOCK_FOLDED";cA.BLOCK_LITERAL="BLOCK_LITERAL";cA.PLAIN="PLAIN";cA.QUOTE_DOUBLE="QUOTE_DOUBLE";cA.QUOTE_SINGLE="QUOTE_SINGLE";const Xf="tag:yaml.org,2002:";function $f(A,e,t){if(e){const n=t.filter(g=>g.tag===e),r=n.find(g=>!g.format)??n[0];if(!r)throw new Error(`Tag ${e} not found`);return r}return t.find(n=>{var r;return((r=n.identify)==null?void 0:r.call(n,A))&&!n.format})}function bn(A,e,t){var n,r,g;if(Nr(A)&&(A=A.contents),zA(A))return A;if(PA(A)){const k=(r=(n=t.schema[It]).createNode)==null?void 0:r.call(n,t.schema,null,t);return k.items.push(A),k}(A instanceof String||A instanceof Number||A instanceof Boolean||typeof BigInt<"u"&&A instanceof BigInt)&&(A=A.valueOf());const{aliasDuplicateObjects:i,onAnchor:o,onTagObj:a,schema:s,sourceObjects:B}=t;let E;if(i&&A&&typeof A=="object"){if(E=B.get(A),E)return E.anchor||(E.anchor=o(A)),new no(E.anchor);E={anchor:null,node:null},B.set(A,E)}e!=null&&e.startsWith("!!")&&(e=Xf+e.slice(2));let u=$f(A,e,s.tags);if(!u){if(A&&typeof A.toJSON=="function"&&(A=A.toJSON()),!A||typeof A!="object"){const k=new cA(A);return E&&(E.node=k),k}u=A instanceof Map?s[It]:Symbol.iterator in Object(A)?s[tn]:s[It]}a&&(a(u),delete t.onTagObj);const l=u!=null&&u.createNode?u.createNode(t.schema,A,t):typeof((g=u==null?void 0:u.nodeClass)==null?void 0:g.from)=="function"?u.nodeClass.from(t.schema,A,t):new cA(A);return e?l.tag=e:u.default||(l.tag=u.tag),E&&(E.node=l),l}function cr(A,e,t){let n=t;for(let r=e.length-1;r>=0;--r){const g=e[r];if(typeof g=="number"&&Number.isInteger(g)&&g>=0){const i=[];i[g]=n,n=i}else n=new Map([[g,n]])}return bn(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:A,sourceObjects:new Map})}const cn=A=>A==null||typeof A=="object"&&!!A[Symbol.iterator]().next().done;class ro extends to{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){const t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(n=>zA(n)||PA(n)?n.clone(e):n),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(cn(e))this.add(t);else{const[n,...r]=e,g=this.get(n,!0);if(OA(g))g.addIn(r,t);else if(g===void 0&&this.schema)this.set(n,cr(this.schema,r,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}deleteIn(e){const[t,...n]=e;if(n.length===0)return this.delete(t);const r=this.get(t,!0);if(OA(r))return r.deleteIn(n);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){const[n,...r]=e,g=this.get(n,!0);return r.length===0?!t&&MA(g)?g.value:g:OA(g)?g.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!PA(t))return!1;const n=t.value;return n==null||e&&MA(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){const[t,...n]=e;if(n.length===0)return this.has(t);const r=this.get(t,!0);return OA(r)?r.hasIn(n):!1}setIn(e,t){const[n,...r]=e;if(r.length===0)this.set(n,t);else{const g=this.get(n,!0);if(OA(g))g.setIn(r,t);else if(g===void 0&&this.schema)this.set(n,cr(this.schema,r,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}}ro.maxFlowStringSingleLineLength=60;const Ad=A=>A.replace(/^(?!$)(?: $)?/gm,"#");function At(A,e){return/^\n+$/.test(A)?A.substring(1):e?A.replace(/^(?! *$)/gm,e):A}const mt=(A,e,t)=>A.endsWith(` +`)?At(t,e):t.includes(` +`)?` +`+At(t,e):(A.endsWith(" ")?"":" ")+t,wC="flow",hi="block",or="quoted";function Mr(A,e,t="flow",{indentAtStart:n,lineWidth:r=80,minContentWidth:g=20,onFold:i,onOverflow:o}={}){if(!r||r<0)return A;const a=Math.max(1+g,1+r-e.length);if(A.length<=a)return A;const s=[],B={};let E=r-e.length;typeof n=="number"&&(n>r-Math.max(2,g)?s.push(0):E=r-n);let u,l,k=!1,p=-1,w=-1,y=-1;t===hi&&(p=Ca(A,p,e.length),p!==-1&&(E=p+a));for(let m;m=A[p+=1];){if(t===or&&m==="\\"){switch(w=p,A[p+1]){case"x":p+=3;break;case"u":p+=5;break;case"U":p+=9;break;default:p+=1}y=p}if(m===` +`)t===hi&&(p=Ca(A,p,e.length)),E=p+e.length+a,u=void 0;else{if(m===" "&&l&&l!==" "&&l!==` +`&&l!==" "){const U=A[p+1];U&&U!==" "&&U!==` +`&&U!==" "&&(u=p)}if(p>=E)if(u)s.push(u),E=u+a,u=void 0;else if(t===or){for(;l===" "||l===" ";)l=m,m=A[p+=1],k=!0;const U=p>y+1?p-2:w-1;if(B[U])return A;s.push(U),B[U]=!0,E=U+a,u=void 0}else k=!0}l=m}if(k&&o&&o(),s.length===0)return A;i&&i();let H=A.slice(0,s[0]);for(let m=0;m({indentAtStart:e?A.indent.length:A.indentAtStart,lineWidth:A.options.lineWidth,minContentWidth:A.options.minContentWidth}),Ur=A=>/^(%|---|\.\.\.)/m.test(A);function ed(A,e,t){if(!e||e<0)return!1;const n=e-t,r=A.length;if(r<=n)return!1;for(let g=0,i=0;gn)return!0;if(i=g+1,r-i<=n)return!1}return!0}function yn(A,e){const t=JSON.stringify(A);if(e.options.doubleQuotedAsJSON)return t;const{implicitKey:n}=e,r=e.options.doubleQuotedMinMultiLineLength,g=e.indent||(Ur(A)?" ":"");let i="",o=0;for(let a=0,s=t[a];s;s=t[++a])if(s===" "&&t[a+1]==="\\"&&t[a+2]==="n"&&(i+=t.slice(o,a)+"\\ ",a+=1,o=a,s="\\"),s==="\\")switch(t[a+1]){case"u":{i+=t.slice(o,a);const B=t.substr(a+2,4);switch(B){case"0000":i+="\\0";break;case"0007":i+="\\a";break;case"000b":i+="\\v";break;case"001b":i+="\\e";break;case"0085":i+="\\N";break;case"00a0":i+="\\_";break;case"2028":i+="\\L";break;case"2029":i+="\\P";break;default:B.substr(0,2)==="00"?i+="\\x"+B.substr(2):i+=t.substr(a,6)}a+=5,o=a+1}break;case"n":if(n||t[a+2]==='"'||t.length +`;let E,u;for(u=t.length;u>0;--u){const Y=t[u-1];if(Y!==` +`&&Y!==" "&&Y!==" ")break}let l=t.substring(u);const k=l.indexOf(` +`);k===-1?E="-":t===l||k!==l.length-1?(E="+",g&&g()):E="",l&&(t=t.slice(0,-l.length),l[l.length-1]===` +`&&(l=l.slice(0,-1)),l=l.replace(di,`$&${s}`));let p=!1,w,y=-1;for(w=0;w")+(p?s?"2":"1":"")+E;if(A&&(m+=" "+o(A.replace(/ ?[\r\n]+/g," ")),r&&r()),B)return t=t.replace(/\n+/g,`$&${s}`),`${m} +${s}${H}${t}${l}`;t=t.replace(/\n+/g,` +$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${s}`);const U=Mr(`${H}${t}${l}`,s,hi,Gr(n,!0));return`${m} +${s}${U}`}function td(A,e,t,n){const{type:r,value:g}=A,{actualString:i,implicitKey:o,indent:a,indentStep:s,inFlow:B}=e;if(o&&g.includes(` +`)||B&&/[[\]{},]/.test(g))return Tt(g,e);if(!g||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(g))return o||B||!g.includes(` +`)?Tt(g,e):Ir(A,e,t,n);if(!o&&!B&&r!==cA.PLAIN&&g.includes(` +`))return Ir(A,e,t,n);if(Ur(g)){if(a==="")return e.forceBlockIndent=!0,Ir(A,e,t,n);if(o&&a===s)return Tt(g,e)}const E=g.replace(/\n+/g,`$& +${a}`);if(i){const u=p=>{var w;return p.default&&p.tag!=="tag:yaml.org,2002:str"&&((w=p.test)==null?void 0:w.test(E))},{compat:l,tags:k}=e.doc.schema;if(k.some(u)||l!=null&&l.some(u))return Tt(g,e)}return o?E:Mr(E,a,wC,Gr(e,!1))}function go(A,e,t,n){const{implicitKey:r,inFlow:g}=e,i=typeof A.value=="string"?A:Object.assign({},A,{value:String(A.value)});let{type:o}=A;o!==cA.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(i.value)&&(o=cA.QUOTE_DOUBLE);const a=B=>{switch(B){case cA.BLOCK_FOLDED:case cA.BLOCK_LITERAL:return r||g?Tt(i.value,e):Ir(i,e,t,n);case cA.QUOTE_DOUBLE:return yn(i.value,e);case cA.QUOTE_SINGLE:return fi(i.value,e);case cA.PLAIN:return td(i,e,t,n);default:return null}};let s=a(o);if(s===null){const{defaultKeyType:B,defaultStringType:E}=e.options,u=r&&B||E;if(s=a(u),s===null)throw new Error(`Unsupported default string type ${u}`)}return s}function mC(A,e){const t=Object.assign({blockQuote:!0,commentString:Ad,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},A.schema.toStringOptions,e);let n;switch(t.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:A,flowCollectionPadding:t.flowCollectionPadding?" ":"",indent:"",indentStep:typeof t.indent=="number"?" ".repeat(t.indent):" ",inFlow:n,options:t}}function nd(A,e){var t;if(e.tag){const g=A.filter(i=>i.tag===e.tag);if(g.length>0)return g.find(i=>i.format===e.format)??g[0]}let n,r;if(MA(e)){r=e.value;const g=A.filter(i=>{var o;return(o=i.identify)==null?void 0:o.call(i,r)});n=g.find(i=>i.format===e.format)??g.find(i=>!i.format)}else r=e,n=A.find(g=>g.nodeClass&&r instanceof g.nodeClass);if(!n){const g=((t=r==null?void 0:r.constructor)==null?void 0:t.name)??typeof r;throw new Error(`Tag not resolved for ${g} value`)}return n}function rd(A,e,{anchors:t,doc:n}){if(!n.directives)return"";const r=[],g=(MA(A)||OA(A))&&A.anchor;g&&dC(g)&&(t.add(g),r.push(`&${g}`));const i=A.tag?A.tag:e.default?null:e.tag;return i&&r.push(n.directives.tagString(i)),r.join(" ")}function Xt(A,e,t,n){var r;if(PA(A))return A.toString(e,t,n);if(nn(A)){if(e.doc.directives)return A.toString(e);if((r=e.resolvedAliases)!=null&&r.has(A))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(A):e.resolvedAliases=new Set([A]),A=A.resolve(e.doc)}let g;const i=zA(A)?A:e.doc.createNode(A,{onTagObj:s=>g=s});g||(g=nd(e.doc.schema.tags,i));const o=rd(i,g,e);o.length>0&&(e.indentAtStart=(e.indentAtStart??0)+o.length+1);const a=typeof g.stringify=="function"?g.stringify(i,e,t,n):MA(i)?go(i,e,t,n):i.toString(e,t,n);return o?MA(i)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o} +${e.indent}${a}`:a}function gd({key:A,value:e},t,n,r){const{allNullValues:g,doc:i,indent:o,indentStep:a,options:{commentString:s,indentSeq:B,simpleKeys:E}}=t;let u=zA(A)&&A.comment||null;if(E){if(u)throw new Error("With simple keys, key nodes cannot have comments");if(OA(A)){const F="With simple keys, collection cannot be used as a key value";throw new Error(F)}}let l=!E&&(!A||u&&e==null&&!t.inFlow||OA(A)||(MA(A)?A.type===cA.BLOCK_FOLDED||A.type===cA.BLOCK_LITERAL:typeof A=="object"));t=Object.assign({},t,{allNullValues:!1,implicitKey:!l&&(E||!g),indent:o+a});let k=!1,p=!1,w=Xt(A,t,()=>k=!0,()=>p=!0);if(!l&&!t.inFlow&&w.length>1024){if(E)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");l=!0}if(t.inFlow){if(g||e==null)return k&&n&&n(),w===""?"?":l?`? ${w}`:w}else if(g&&!E||e==null&&l)return w=`? ${w}`,u&&!k?w+=mt(w,t.indent,s(u)):p&&r&&r(),w;k&&(u=null),l?(u&&(w+=mt(w,t.indent,s(u))),w=`? ${w} +${o}:`):(w=`${w}:`,u&&(w+=mt(w,t.indent,s(u))));let y,H,m;zA(e)?(y=!!e.spaceBefore,H=e.commentBefore,m=e.comment):(y=!1,H=null,m=null,e&&typeof e=="object"&&(e=i.createNode(e))),t.implicitKey=!1,!l&&!u&&MA(e)&&(t.indentAtStart=w.length+1),p=!1,!B&&a.length>=2&&!t.inFlow&&!l&&Nn(e)&&!e.flow&&!e.tag&&!e.anchor&&(t.indent=t.indent.substring(2));let U=!1;const Y=Xt(e,t,()=>U=!0,()=>p=!0);let d=" ";if(u||y||H){if(d=y?` +`:"",H){const F=s(H);d+=` +${At(F,t.indent)}`}Y===""&&!t.inFlow?d===` +`&&(d=` + +`):d+=` +${t.indent}`}else if(!l&&OA(e)){const F=Y[0],L=Y.indexOf(` +`),N=L!==-1,V=t.inFlow??e.flow??e.items.length===0;if(N||!V){let M=!1;if(N&&(F==="&"||F==="!")){let v=Y.indexOf(" ");F==="&"&&v!==-1&&vA===Qa||MA(A)&&A.value===Qa&&(!A.type||A.type===cA.PLAIN);function Ug(A,e,t){const n=A&&nn(t)?t.resolve(A.doc):t;if(!Rn(n))throw new Error("Merge sources must be maps or map aliases");const r=n.toJSON(null,A,Map);for(const[g,i]of r)e instanceof Map?e.has(g)||e.set(g,i):e instanceof Set?e.add(g):Object.prototype.hasOwnProperty.call(e,g)||Object.defineProperty(e,g,{value:i,writable:!0,enumerable:!0,configurable:!0});return e}function od(A,e,t){if(e===null)return"";if(typeof e!="object")return String(e);if(zA(A)&&t!=null&&t.doc){const n=mC(t.doc,{});n.anchors=new Set;for(const g of t.anchors.keys())n.anchors.add(g.anchor);n.inFlow=!0,n.inStringifyKey=!0;const r=A.toString(n);if(!t.mapKeyWarned){let g=JSON.stringify(r);g.length>40&&(g=g.substring(0,36)+'..."'),kC(t.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${g}. Set mapAsMap: true to use object keys.`),t.mapKeyWarned=!0}return r}return JSON.stringify(e)}function io(A,e,t){const n=bn(A,void 0,t),r=bn(e,void 0,t);return new ne(n,r)}class ne{constructor(e,t=null){Object.defineProperty(this,ke,{value:fC}),this.key=e,this.value=t}clone(e){let{key:t,value:n}=this;return zA(t)&&(t=t.clone(e)),zA(n)&&(n=n.clone(e)),new ne(t,n)}toJSON(e,t){const n=t!=null&&t.mapAsMap?new Map:{};return FC(t,n,this)}toString(e,t,n){return e!=null&&e.doc?gd(this,e,t,n):JSON.stringify(this)}}function bC(A,e,t){return(e.inFlow??A.flow?ad:Id)(A,e,t)}function Id({comment:A,items:e},t,{blockItemPrefix:n,flowChars:r,itemIndent:g,onChompKeep:i,onComment:o}){const{indent:a,options:{commentString:s}}=t,B=Object.assign({},t,{indent:g,type:null});let E=!1;const u=[];for(let k=0;kw=null,()=>E=!0);w&&(y+=mt(y,g,s(w))),E&&w&&(E=!1),u.push(n+y)}let l;if(u.length===0)l=r.start+r.end;else{l=u[0];for(let k=1;kw=null);kB||y.includes(` +`))&&(s=!0),E.push(y),B=E.length}const{start:u,end:l}=t;if(E.length===0)return u+l;if(!s){const k=E.reduce((p,w)=>p+w.length+2,2);s=e.options.lineWidth>0&&k>e.options.lineWidth}if(s){let k=u;for(const p of E)k+=p?` +${g}${r}${p}`:` +`;return`${k} +${r}${l}`}else return`${u}${i}${E.join(" ")}${i}${l}`}function hr({indent:A,options:{commentString:e}},t,n,r){if(n&&r&&(n=n.replace(/^\n+/,"")),n){const g=At(e(n),A);t.push(g.trimStart())}}function kt(A,e){const t=MA(e)?e.value:e;for(const n of A)if(PA(n)&&(n.key===e||n.key===t||MA(n.key)&&n.key.value===t))return n}class De extends ro{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(It,e),this.items=[]}static from(e,t,n){const{keepUndefined:r,replacer:g}=n,i=new this(e),o=(a,s)=>{if(typeof g=="function")s=g.call(t,a,s);else if(Array.isArray(g)&&!g.includes(a))return;(s!==void 0||r)&&i.items.push(io(a,s,n))};if(t instanceof Map)for(const[a,s]of t)o(a,s);else if(t&&typeof t=="object")for(const a of Object.keys(t))o(a,t[a]);return typeof e.sortMapEntries=="function"&&i.items.sort(e.sortMapEntries),i}add(e,t){var n;let r;PA(e)?r=e:!e||typeof e!="object"||!("key"in e)?r=new ne(e,e==null?void 0:e.value):r=new ne(e.key,e.value);const g=kt(this.items,r.key),i=(n=this.schema)==null?void 0:n.sortMapEntries;if(g){if(!t)throw new Error(`Key ${r.key} already set`);MA(g.value)&&yC(r.value)?g.value.value=r.value:g.value=r.value}else if(i){const o=this.items.findIndex(a=>i(r,a)<0);o===-1?this.items.push(r):this.items.splice(o,0,r)}else this.items.push(r)}delete(e){const t=kt(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){const n=kt(this.items,e),r=n==null?void 0:n.value;return(!t&&MA(r)?r.value:r)??void 0}has(e){return!!kt(this.items,e)}set(e,t){this.add(new ne(e,t),!0)}toJSON(e,t,n){const r=n?new n:t!=null&&t.mapAsMap?new Map:{};t!=null&&t.onCreate&&t.onCreate(r);for(const g of this.items)FC(t,r,g);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(const r of this.items)if(!PA(r))throw new Error(`Map items must all be pairs; found ${JSON.stringify(r)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),bC(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:n,onComment:t})}}const rn={collection:"map",default:!0,nodeClass:De,tag:"tag:yaml.org,2002:map",resolve(A,e){return Rn(A)||e("Expected a mapping for this tag"),A},createNode:(A,e,t)=>De.from(A,e,t)};class St extends ro{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(tn,e),this.items=[]}add(e){this.items.push(e)}delete(e){const t=zn(e);return typeof t!="number"?!1:this.items.splice(t,1).length>0}get(e,t){const n=zn(e);if(typeof n!="number")return;const r=this.items[n];return!t&&MA(r)?r.value:r}has(e){const t=zn(e);return typeof t=="number"&&t=0?e:null}const gn={collection:"seq",default:!0,nodeClass:St,tag:"tag:yaml.org,2002:seq",resolve(A,e){return Nn(A)||e("Expected a sequence for this tag"),A},createNode:(A,e,t)=>St.from(A,e,t)},xr={identify:A=>typeof A=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:A=>A,stringify(A,e,t,n){return e=Object.assign({actualString:!0},e),go(A,e,t,n)}},Jr={identify:A=>A==null,createNode:()=>new cA(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new cA(null),stringify:({source:A},e)=>typeof A=="string"&&Jr.test.test(A)?A:e.options.nullStr},oo={identify:A=>typeof A=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:A=>new cA(A[0]==="t"||A[0]==="T"),stringify({source:A,value:e},t){if(A&&oo.test.test(A)){const n=A[0]==="t"||A[0]==="T";if(e===n)return A}return e?t.options.trueStr:t.options.falseStr}};function xe({format:A,minFractionDigits:e,tag:t,value:n}){if(typeof n=="bigint")return String(n);const r=typeof n=="number"?n:Number(n);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let g=JSON.stringify(n);if(!A&&e&&(!t||t==="tag:yaml.org,2002:float")&&/^\d/.test(g)){let i=g.indexOf(".");i<0&&(i=g.length,g+=".");let o=e-(g.length-i-1);for(;o-- >0;)g+="0"}return g}const LC={identify:A=>typeof A=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF|nan|NaN|NAN))$/,resolve:A=>A.slice(-3).toLowerCase()==="nan"?NaN:A[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:xe},SC={identify:A=>typeof A=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:A=>parseFloat(A),stringify(A){const e=Number(A.value);return isFinite(e)?e.toExponential():xe(A)}},RC={identify:A=>typeof A=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(A){const e=new cA(parseFloat(A)),t=A.indexOf(".");return t!==-1&&A[A.length-1]==="0"&&(e.minFractionDigits=A.length-t-1),e},stringify:xe},Hr=A=>typeof A=="bigint"||Number.isInteger(A),Io=(A,e,t,{intAsBigInt:n})=>n?BigInt(A):parseInt(A.substring(e),t);function NC(A,e,t){const{value:n}=A;return Hr(n)&&n>=0?t+n.toString(e):xe(A)}const MC={identify:A=>Hr(A)&&A>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(A,e,t)=>Io(A,2,8,t),stringify:A=>NC(A,8,"0o")},GC={identify:Hr,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(A,e,t)=>Io(A,0,10,t),stringify:xe},UC={identify:A=>Hr(A)&&A>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(A,e,t)=>Io(A,2,16,t),stringify:A=>NC(A,16,"0x")},sd=[rn,gn,xr,Jr,oo,MC,GC,UC,LC,SC,RC];function Ba(A){return typeof A=="bigint"||Number.isInteger(A)}const Zn=({value:A})=>JSON.stringify(A),Cd=[{identify:A=>typeof A=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:A=>A,stringify:Zn},{identify:A=>A==null,createNode:()=>new cA(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Zn},{identify:A=>typeof A=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:A=>A==="true",stringify:Zn},{identify:Ba,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(A,e,{intAsBigInt:t})=>t?BigInt(A):parseInt(A,10),stringify:({value:A})=>Ba(A)?A.toString():JSON.stringify(A)},{identify:A=>typeof A=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:A=>parseFloat(A),stringify:Zn}],Qd={default:!0,tag:"",test:/^/,resolve(A,e){return e(`Unresolved plain scalar ${JSON.stringify(A)}`),A}},Bd=[rn,gn].concat(Cd,Qd),ao={identify:A=>A instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(A,e){if(typeof Buffer=="function")return Buffer.from(A,"base64");if(typeof atob=="function"){const t=atob(A.replace(/[\n\r]/g,"")),n=new Uint8Array(t.length);for(let r=0;r1&&e("Each pair must have its own sequence indicator");const r=n.items[0]||new ne(new cA(null));if(n.commentBefore&&(r.key.commentBefore=r.key.commentBefore?`${n.commentBefore} +${r.key.commentBefore}`:n.commentBefore),n.comment){const g=r.value??r.key;g.comment=g.comment?`${n.comment} +${g.comment}`:n.comment}n=r}A.items[t]=PA(n)?n:new ne(n)}}else e("Expected a sequence for this tag");return A}function JC(A,e,t){const{replacer:n}=t,r=new St(A);r.tag="tag:yaml.org,2002:pairs";let g=0;if(e&&Symbol.iterator in Object(e))for(let i of e){typeof n=="function"&&(i=n.call(e,String(g++),i));let o,a;if(Array.isArray(i))if(i.length===2)o=i[0],a=i[1];else throw new TypeError(`Expected [key, value] tuple: ${i}`);else if(i&&i instanceof Object){const s=Object.keys(i);if(s.length===1)o=s[0],a=i[o];else throw new TypeError(`Expected tuple with one key, not ${s.length} keys`)}else o=i;r.items.push(io(o,a,t))}return r}const so={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:xC,createNode:JC};class Ot extends St{constructor(){super(),this.add=De.prototype.add.bind(this),this.delete=De.prototype.delete.bind(this),this.get=De.prototype.get.bind(this),this.has=De.prototype.has.bind(this),this.set=De.prototype.set.bind(this),this.tag=Ot.tag}toJSON(e,t){if(!t)return super.toJSON(e);const n=new Map;t!=null&&t.onCreate&&t.onCreate(n);for(const r of this.items){let g,i;if(PA(r)?(g=we(r.key,"",t),i=we(r.value,g,t)):g=we(r,"",t),n.has(g))throw new Error("Ordered maps must not include duplicate keys");n.set(g,i)}return n}static from(e,t,n){const r=JC(e,t,n),g=new this;return g.items=r.items,g}}Ot.tag="tag:yaml.org,2002:omap";const Co={collection:"seq",identify:A=>A instanceof Map,nodeClass:Ot,default:!1,tag:"tag:yaml.org,2002:omap",resolve(A,e){const t=xC(A,e),n=[];for(const{key:r}of t.items)MA(r)&&(n.includes(r.value)?e(`Ordered maps must not include duplicate keys: ${r.value}`):n.push(r.value));return Object.assign(new Ot,t)},createNode:(A,e,t)=>Ot.from(A,e,t)};function HC({value:A,source:e},t){return e&&(A?vC:KC).test.test(e)?e:A?t.options.trueStr:t.options.falseStr}const vC={identify:A=>A===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new cA(!0),stringify:HC},KC={identify:A=>A===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>new cA(!1),stringify:HC},Ed={identify:A=>typeof A=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?\.(?:inf|Inf|INF|nan|NaN|NAN)$/,resolve:A=>A.slice(-3).toLowerCase()==="nan"?NaN:A[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:xe},ld={identify:A=>typeof A=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:A=>parseFloat(A.replace(/_/g,"")),stringify(A){const e=Number(A.value);return isFinite(e)?e.toExponential():xe(A)}},ud={identify:A=>typeof A=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(A){const e=new cA(parseFloat(A.replace(/_/g,""))),t=A.indexOf(".");if(t!==-1){const n=A.substring(t+1).replace(/_/g,"");n[n.length-1]==="0"&&(e.minFractionDigits=n.length)}return e},stringify:xe},Mn=A=>typeof A=="bigint"||Number.isInteger(A);function vr(A,e,t,{intAsBigInt:n}){const r=A[0];if((r==="-"||r==="+")&&(e+=1),A=A.substring(e).replace(/_/g,""),n){switch(t){case 2:A=`0b${A}`;break;case 8:A=`0o${A}`;break;case 16:A=`0x${A}`;break}const i=BigInt(A);return r==="-"?BigInt(-1)*i:i}const g=parseInt(A,t);return r==="-"?-1*g:g}function Qo(A,e,t){const{value:n}=A;if(Mn(n)){const r=n.toString(e);return n<0?"-"+t+r.substr(1):t+r}return xe(A)}const cd={identify:Mn,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(A,e,t)=>vr(A,2,2,t),stringify:A=>Qo(A,2,"0b")},hd={identify:Mn,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(A,e,t)=>vr(A,1,8,t),stringify:A=>Qo(A,8,"0")},fd={identify:Mn,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(A,e,t)=>vr(A,0,10,t),stringify:xe},dd={identify:Mn,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(A,e,t)=>vr(A,2,16,t),stringify:A=>Qo(A,16,"0x")};class Pt extends De{constructor(e){super(e),this.tag=Pt.tag}add(e){let t;PA(e)?t=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?t=new ne(e.key,null):t=new ne(e,null),kt(this.items,t.key)||this.items.push(t)}get(e,t){const n=kt(this.items,e);return!t&&PA(n)?MA(n.key)?n.key.value:n.key:n}set(e,t){if(typeof t!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);const n=kt(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new ne(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw new Error("Set items must all have null values")}static from(e,t,n){const{replacer:r}=n,g=new this(e);if(t&&Symbol.iterator in Object(t))for(let i of t)typeof r=="function"&&(i=r.call(t,i,i)),g.items.push(io(i,null,n));return g}}Pt.tag="tag:yaml.org,2002:set";const Bo={collection:"map",identify:A=>A instanceof Set,nodeClass:Pt,default:!1,tag:"tag:yaml.org,2002:set",createNode:(A,e,t)=>Pt.from(A,e,t),resolve(A,e){if(Rn(A)){if(A.hasAllNullValues(!0))return Object.assign(new Pt,A);e("Set items must all have null values")}else e("Expected a mapping for this tag");return A}};function Eo(A,e){const t=A[0],n=t==="-"||t==="+"?A.substring(1):A,r=i=>e?BigInt(i):Number(i),g=n.replace(/_/g,"").split(":").reduce((i,o)=>i*r(60)+r(o),r(0));return t==="-"?r(-1)*g:g}function YC(A){let{value:e}=A,t=i=>i;if(typeof e=="bigint")t=i=>BigInt(i);else if(isNaN(e)||!isFinite(e))return xe(A);let n="";e<0&&(n="-",e*=t(-1));const r=t(60),g=[e%r];return e<60?g.unshift(0):(e=(e-g[0])/r,g.unshift(e%r),e>=60&&(e=(e-g[0])/r,g.unshift(e))),n+g.map(i=>String(i).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}const qC={identify:A=>typeof A=="bigint"||Number.isInteger(A),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(A,e,{intAsBigInt:t})=>Eo(A,t),stringify:YC},TC={identify:A=>typeof A=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:A=>Eo(A,!1),stringify:YC},Kr={identify:A=>A instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(A){const e=A.match(Kr.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,t,n,r,g,i,o]=e.map(Number),a=e[7]?Number((e[7]+"00").substr(1,3)):0;let s=Date.UTC(t,n-1,r,g||0,i||0,o||0,a);const B=e[8];if(B&&B!=="Z"){let E=Eo(B,!1);Math.abs(E)<30&&(E*=60),s-=6e4*E}return new Date(s)},stringify:({value:A})=>A.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")},Ea=[rn,gn,xr,Jr,vC,KC,cd,hd,fd,dd,Ed,ld,ud,ao,Co,so,Bo,qC,TC,Kr],la=new Map([["core",sd],["failsafe",[rn,gn,xr]],["json",Bd],["yaml11",Ea],["yaml-1.1",Ea]]),ua={binary:ao,bool:oo,float:RC,floatExp:SC,floatNaN:LC,floatTime:TC,int:GC,intHex:UC,intOct:MC,intTime:qC,map:rn,null:Jr,omap:Co,pairs:so,seq:gn,set:Bo,timestamp:Kr},pd={"tag:yaml.org,2002:binary":ao,"tag:yaml.org,2002:omap":Co,"tag:yaml.org,2002:pairs":so,"tag:yaml.org,2002:set":Bo,"tag:yaml.org,2002:timestamp":Kr};function xg(A,e){let t=la.get(e);if(!t)if(Array.isArray(A))t=[];else{const n=Array.from(la.keys()).filter(r=>r!=="yaml11").map(r=>JSON.stringify(r)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${n} or define customTags array`)}if(Array.isArray(A))for(const n of A)t=t.concat(n);else typeof A=="function"&&(t=A(t.slice()));return t.map(n=>{if(typeof n!="string")return n;const r=ua[n];if(r)return r;const g=Object.keys(ua).map(i=>JSON.stringify(i)).join(", ");throw new Error(`Unknown custom tag "${n}"; use one of ${g}`)})}const Dd=(A,e)=>A.keye.key?1:0;class lo{constructor({compat:e,customTags:t,merge:n,resolveKnownTags:r,schema:g,sortMapEntries:i,toStringDefaults:o}){this.compat=Array.isArray(e)?xg(e,"compat"):e?xg(null,e):null,this.merge=!!n,this.name=typeof g=="string"&&g||"core",this.knownTags=r?pd:{},this.tags=xg(t,this.name),this.toStringOptions=o??null,Object.defineProperty(this,It,{value:rn}),Object.defineProperty(this,tt,{value:xr}),Object.defineProperty(this,tn,{value:gn}),this.sortMapEntries=typeof i=="function"?i:i===!0?Dd:null}clone(){const e=Object.create(lo.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}}function yd(A,e){var t;const n=[];let r=e.directives===!0;if(e.directives!==!1&&A.directives){const s=A.directives.toString(A);s?(n.push(s),r=!0):A.directives.docStart&&(r=!0)}r&&n.push("---");const g=mC(A,e),{commentString:i}=g.options;if(A.commentBefore){n.length!==1&&n.unshift("");const s=i(A.commentBefore);n.unshift(At(s,""))}let o=!1,a=null;if(A.contents){if(zA(A.contents)){if(A.contents.spaceBefore&&r&&n.push(""),A.contents.commentBefore){const E=i(A.contents.commentBefore);n.push(At(E,""))}g.forceBlockIndent=!!A.comment,a=A.contents.comment}const s=a?void 0:()=>o=!0;let B=Xt(A.contents,g,()=>a=null,s);a&&(B+=mt(B,"",i(a))),(B[0]==="|"||B[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${B}`:n.push(B)}else n.push(Xt(A.contents,g));if((t=A.directives)!=null&&t.docEnd)if(A.comment){const s=i(A.comment);s.includes(` +`)?(n.push("..."),n.push(At(s,""))):n.push(`... ${s}`)}else n.push("...");else{let s=A.comment;s&&o&&(s=s.replace(/^\n+/,"")),s&&((!o||a)&&n[n.length-1]!==""&&n.push(""),n.push(At(i(s),"")))}return n.join(` +`)+` +`}class Yr{constructor(e,t,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,ke,{value:ci});let r=null;typeof t=="function"||Array.isArray(t)?r=t:n===void 0&&t&&(n=t,t=void 0);const g=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,uniqueKeys:!0,version:"1.2"},n);this.options=g;let{version:i}=g;n!=null&&n._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(i=this.directives.yaml.version)):this.directives=new te({version:i}),this.setSchema(i,n),this.contents=e===void 0?null:this.createNode(e,r,n)}clone(){const e=Object.create(Yr.prototype,{[ke]:{value:ci}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=zA(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){Ht(this.contents)&&this.contents.add(e)}addIn(e,t){Ht(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){const n=pC(this);e.anchor=!t||n.has(t)?DC(t||"a",n):t}return new no(e.anchor)}createNode(e,t,n){let r;if(typeof t=="function")e=t.call({"":e},"",e),r=t;else if(Array.isArray(t)){const w=H=>typeof H=="number"||H instanceof String||H instanceof Number,y=t.filter(w).map(String);y.length>0&&(t=t.concat(y)),r=t}else n===void 0&&t&&(n=t,t=void 0);const{aliasDuplicateObjects:g,anchorPrefix:i,flow:o,keepUndefined:a,onTagObj:s,tag:B}=n??{},{onAnchor:E,setAnchors:u,sourceObjects:l}=Zf(this,i||"a"),k={aliasDuplicateObjects:g??!0,keepUndefined:a??!1,onAnchor:E,onTagObj:s,replacer:r,schema:this.schema,sourceObjects:l},p=bn(e,B,k);return o&&OA(p)&&(p.flow=!0),u(),p}createPair(e,t,n={}){const r=this.createNode(e,null,n),g=this.createNode(t,null,n);return new ne(r,g)}delete(e){return Ht(this.contents)?this.contents.delete(e):!1}deleteIn(e){return cn(e)?this.contents==null?!1:(this.contents=null,!0):Ht(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return OA(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return cn(e)?!t&&MA(this.contents)?this.contents.value:this.contents:OA(this.contents)?this.contents.getIn(e,t):void 0}has(e){return OA(this.contents)?this.contents.has(e):!1}hasIn(e){return cn(e)?this.contents!==void 0:OA(this.contents)?this.contents.hasIn(e):!1}set(e,t){this.contents==null?this.contents=cr(this.schema,[e],t):Ht(this.contents)&&this.contents.set(e,t)}setIn(e,t){cn(e)?this.contents=t:this.contents==null?this.contents=cr(this.schema,Array.from(e),t):Ht(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){typeof e=="number"&&(e=String(e));let n;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new te({version:"1.1"}),n={merge:!0,resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new te({version:e}),n={merge:!1,resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{const r=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${r}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(n)this.schema=new lo(Object.assign(n,t));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:n,maxAliasCount:r,onAnchor:g,reviver:i}={}){const o={anchors:new Map,doc:this,keep:!e,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},a=we(this.contents,t??"",o);if(typeof g=="function")for(const{count:s,res:B}of o.anchors.values())g(B,s);return typeof i=="function"?qt(i,{"":a},"",a):a}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){const t=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${t}`)}return yd(this,e)}}function Ht(A){if(OA(A))return!0;throw new Error("Expected a YAML collection as document contents")}class _C extends Error{constructor(e,t,n,r){super(),this.name=e,this.code=n,this.message=r,this.pos=t}}class hn extends _C{constructor(e,t,n){super("YAMLParseError",e,t,n)}}class wd extends _C{constructor(e,t,n){super("YAMLWarning",e,t,n)}}const ca=(A,e)=>t=>{if(t.pos[0]===-1)return;t.linePos=t.pos.map(o=>e.linePos(o));const{line:n,col:r}=t.linePos[0];t.message+=` at line ${n}, column ${r}`;let g=r-1,i=A.substring(e.lineStarts[n-1],e.lineStarts[n]).replace(/[\n\r]+$/,"");if(g>=60&&i.length>80){const o=Math.min(g-39,i.length-79);i="…"+i.substring(o),g-=o-1}if(i.length>80&&(i=i.substring(0,79)+"…"),n>1&&/^ *$/.test(i.substring(0,g))){let o=A.substring(e.lineStarts[n-2],e.lineStarts[n-1]);o.length>80&&(o=o.substring(0,79)+`… +`),i=o+i}if(/[^ ]/.test(i)){let o=1;const a=t.linePos[1];a&&a.line===n&&a.col>r&&(o=Math.max(1,Math.min(a.col-r,80-g)));const s=" ".repeat(g)+"^".repeat(o);t.message+=`: + +${i} +${s} +`}};function $t(A,{flow:e,indicator:t,next:n,offset:r,onError:g,startOnNewline:i}){let o=!1,a=i,s=i,B="",E="",u=!1,l=!1,k=!1,p=null,w=null,y=null,H=null,m=null;for(const d of A)switch(k&&(d.type!=="space"&&d.type!=="newline"&&d.type!=="comma"&&g(d.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),k=!1),d.type){case"space":!e&&a&&t!=="doc-start"&&d.source[0]===" "&&g(d,"TAB_AS_INDENT","Tabs are not allowed as indentation"),s=!0;break;case"comment":{s||g(d,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const F=d.source.substring(1)||" ";B?B+=E+F:B=F,E="",a=!1;break}case"newline":a?B?B+=d.source:o=!0:E+=d.source,a=!0,u=!0,(p||w)&&(l=!0),s=!0;break;case"anchor":p&&g(d,"MULTIPLE_ANCHORS","A node can have at most one anchor"),d.source.endsWith(":")&&g(d.offset+d.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),p=d,m===null&&(m=d.offset),a=!1,s=!1,k=!0;break;case"tag":{w&&g(d,"MULTIPLE_TAGS","A node can have at most one tag"),w=d,m===null&&(m=d.offset),a=!1,s=!1,k=!0;break}case t:(p||w)&&g(d,"BAD_PROP_ORDER",`Anchors and tags must be after the ${d.source} indicator`),H&&g(d,"UNEXPECTED_TOKEN",`Unexpected ${d.source} in ${e??"collection"}`),H=d,a=!1,s=!1;break;case"comma":if(e){y&&g(d,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),y=d,a=!1,s=!1;break}default:g(d,"UNEXPECTED_TOKEN",`Unexpected ${d.type} token`),a=!1,s=!1}const U=A[A.length-1],Y=U?U.offset+U.source.length:r;return k&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&g(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),{comma:y,found:H,spaceBefore:o,comment:B,hasNewline:u,hasNewlineAfterProp:l,anchor:p,tag:w,end:Y,start:m??Y}}function Ln(A){if(!A)return null;switch(A.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(A.source.includes(` +`))return!0;if(A.end){for(const e of A.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(const e of A.items){for(const t of e.start)if(t.type==="newline")return!0;if(e.sep){for(const t of e.sep)if(t.type==="newline")return!0}if(Ln(e.key)||Ln(e.value))return!0}return!1;default:return!0}}function pi(A,e,t){if((e==null?void 0:e.type)==="flow-collection"){const n=e.end[0];n.indent===A&&(n.source==="]"||n.source==="}")&&Ln(e)&&t(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function OC(A,e,t){const{uniqueKeys:n}=A.options;if(n===!1)return!1;const r=typeof n=="function"?n:(g,i)=>g===i||MA(g)&&MA(i)&&g.value===i.value&&!(g.value==="<<"&&A.schema.merge);return e.some(g=>r(g.key,t))}const ha="All mapping items must start at the same column";function md({composeNode:A,composeEmptyNode:e},t,n,r,g){var i;const o=(g==null?void 0:g.nodeClass)??De,a=new o(t.schema);t.atRoot&&(t.atRoot=!1);let s=n.offset,B=null;for(const E of n.items){const{start:u,key:l,sep:k,value:p}=E,w=$t(u,{indicator:"explicit-key-ind",next:l??(k==null?void 0:k[0]),offset:s,onError:r,startOnNewline:!0}),y=!w.found;if(y){if(l&&(l.type==="block-seq"?r(s,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in l&&l.indent!==n.indent&&r(s,"BAD_INDENT",ha)),!w.anchor&&!w.tag&&!k){B=w.end,w.comment&&(a.comment?a.comment+=` +`+w.comment:a.comment=w.comment);continue}(w.hasNewlineAfterProp||Ln(l))&&r(l??u[u.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((i=w.found)==null?void 0:i.indent)!==n.indent&&r(s,"BAD_INDENT",ha);const H=w.end,m=l?A(t,l,w,r):e(t,H,u,null,w,r);t.schema.compat&&pi(n.indent,l,r),OC(t,a.items,m)&&r(H,"DUPLICATE_KEY","Map keys must be unique");const U=$t(k??[],{indicator:"map-value-ind",next:p,offset:m.range[2],onError:r,startOnNewline:!l||l.type==="block-scalar"});if(s=U.end,U.found){y&&((p==null?void 0:p.type)==="block-map"&&!U.hasNewline&&r(s,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),t.options.strict&&w.startA&&(A.type==="block-map"||A.type==="block-seq");function Fd({composeNode:A,composeEmptyNode:e},t,n,r,g){const i=n.start.source==="{",o=i?"flow map":"flow sequence",a=(g==null?void 0:g.nodeClass)??(i?De:St),s=new a(t.schema);s.flow=!0;const B=t.atRoot;B&&(t.atRoot=!1);let E=n.offset+n.start.source.length;for(let w=0;w0){const w=Gn(k,p,t.options.strict,r);w.comment&&(s.comment?s.comment+=` +`+w.comment:s.comment=w.comment),s.range=[n.offset,p,w.offset]}else s.range=[n.offset,p,p];return s}function vg(A,e,t,n,r,g){const i=t.type==="block-map"?md(A,e,t,n,g):t.type==="block-seq"?kd(A,e,t,n,g):Fd(A,e,t,n,g),o=i.constructor;return r==="!"||r===o.tagName?(i.tag=o.tagName,i):(r&&(i.tag=r),i)}function bd(A,e,t,n,r){var g;const i=n?e.directives.tagName(n.source,u=>r(n,"TAG_RESOLVE_FAILED",u)):null,o=t.type==="block-map"?"map":t.type==="block-seq"?"seq":t.start.source==="{"?"map":"seq";if(!n||!i||i==="!"||i===De.tagName&&o==="map"||i===St.tagName&&o==="seq"||!o)return vg(A,e,t,r,i);let a=e.schema.tags.find(u=>u.tag===i&&u.collection===o);if(!a){const u=e.schema.knownTags[i];if(u&&u.collection===o)e.schema.tags.push(Object.assign({},u,{default:!1})),a=u;else return u!=null&&u.collection?r(n,"BAD_COLLECTION_TYPE",`${u.tag} used for ${o} collection, but expects ${u.collection}`,!0):r(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${i}`,!0),vg(A,e,t,r,i)}const s=vg(A,e,t,r,i,a),B=((g=a.resolve)==null?void 0:g.call(a,s,u=>r(n,"TAG_RESOLVE_FAILED",u),e.options))??s,E=zA(B)?B:new cA(B);return E.range=s.range,E.tag=i,a!=null&&a.format&&(E.format=a.format),E}function Ld(A,e,t){const n=A.offset,r=Sd(A,e,t);if(!r)return{value:"",type:null,comment:"",range:[n,n,n]};const g=r.mode===">"?cA.BLOCK_FOLDED:cA.BLOCK_LITERAL,i=A.source?Rd(A.source):[];let o=i.length;for(let p=i.length-1;p>=0;--p){const w=i[p][1];if(w===""||w==="\r")o=p;else break}if(o===0){const p=r.chomp==="+"&&i.length>0?` +`.repeat(Math.max(1,i.length-1)):"";let w=n+r.length;return A.source&&(w+=A.source.length),{value:p,type:g,comment:r.comment,range:[n,w,w]}}let a=A.indent+r.indent,s=A.offset+r.length,B=0;for(let p=0;pa&&(a=w.length);else{w.length=o;--p)i[p][0].length>a&&(o=p+1);let E="",u="",l=!1;for(let p=0;pa||y[0]===" "?(u===" "?u=` +`:!l&&u===` +`&&(u=` + +`),E+=u+w.slice(a)+y,u=` +`,l=!0):y===""?u===` +`?E+=` +`:u=` +`:(E+=u+y,u=" ",l=!1)}switch(r.chomp){case"-":break;case"+":for(let p=o;pt(n+u,l,k);switch(r){case"scalar":o=cA.PLAIN,a=Md(g,s);break;case"single-quoted-scalar":o=cA.QUOTE_SINGLE,a=Gd(g,s);break;case"double-quoted-scalar":o=cA.QUOTE_DOUBLE,a=Ud(g,s);break;default:return t(A,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${r}`),{value:"",type:null,comment:"",range:[n,n+g.length,n+g.length]}}const B=n+g.length,E=Gn(i,B,e,t);return{value:a,type:o,comment:E.comment,range:[n,B,E.offset]}}function Md(A,e){let t="";switch(A[0]){case" ":t="a tab character";break;case",":t="flow indicator character ,";break;case"%":t="directive indicator character %";break;case"|":case">":{t=`block scalar indicator ${A[0]}`;break}case"@":case"`":{t=`reserved character ${A[0]}`;break}}return t&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${t}`),PC(A)}function Gd(A,e){return(A[A.length-1]!=="'"||A.length===1)&&e(A.length,"MISSING_CHAR","Missing closing 'quote"),PC(A.slice(1,-1)).replace(/''/g,"'")}function PC(A){let e,t;try{e=new RegExp(`(.*?)(?g?A.slice(g,n+1):r)}else t+=r}return(A[A.length-1]!=='"'||A.length===1)&&e(A.length,"MISSING_CHAR",'Missing closing "quote'),t}function xd(A,e){let t="",n=A[e+1];for(;(n===" "||n===" "||n===` +`||n==="\r")&&!(n==="\r"&&A[e+2]!==` +`);)n===` +`&&(t+=` +`),e+=1,n=A[e+1];return t||(t=" "),{fold:t,offset:e}}const Jd={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:` +`,r:"\r",t:" ",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function Hd(A,e,t,n){const r=A.substr(e,t),g=r.length===t&&/^[0-9a-fA-F]+$/.test(r)?parseInt(r,16):NaN;if(isNaN(g)){const i=A.substr(e-2,t+2);return n(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${i}`),i}return String.fromCodePoint(g)}function VC(A,e,t,n){const{value:r,type:g,comment:i,range:o}=e.type==="block-scalar"?Ld(e,A.options.strict,n):Nd(e,A.options.strict,n),a=t?A.directives.tagName(t.source,E=>n(t,"TAG_RESOLVE_FAILED",E)):null,s=t&&a?vd(A.schema,r,a,t,n):e.type==="scalar"?Kd(A,r,e,n):A.schema[tt];let B;try{const E=s.resolve(r,u=>n(t??e,"TAG_RESOLVE_FAILED",u),A.options);B=MA(E)?E:new cA(E)}catch(E){const u=E instanceof Error?E.message:String(E);n(t??e,"TAG_RESOLVE_FAILED",u),B=new cA(r)}return B.range=o,B.source=r,g&&(B.type=g),a&&(B.tag=a),s.format&&(B.format=s.format),i&&(B.comment=i),B}function vd(A,e,t,n,r){var g;if(t==="!")return A[tt];const i=[];for(const a of A.tags)if(!a.collection&&a.tag===t)if(a.default&&a.test)i.push(a);else return a;for(const a of i)if((g=a.test)!=null&&g.test(e))return a;const o=A.knownTags[t];return o&&!o.collection?(A.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(r(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${t}`,t!=="tag:yaml.org,2002:str"),A[tt])}function Kd({directives:A,schema:e},t,n,r){const g=e.tags.find(i=>{var o;return i.default&&((o=i.test)==null?void 0:o.test(t))})||e[tt];if(e.compat){const i=e.compat.find(o=>{var a;return o.default&&((a=o.test)==null?void 0:a.test(t))})??e[tt];if(g.tag!==i.tag){const o=A.tagString(g.tag),a=A.tagString(i.tag),s=`Value may be parsed as either ${o} or ${a}`;r(n,"TAG_RESOLVE_FAILED",s,!0)}}return g}function Yd(A,e,t){if(e){t===null&&(t=e.length);for(let n=t-1;n>=0;--n){let r=e[n];switch(r.type){case"space":case"comment":case"newline":A-=r.source.length;continue}for(r=e[++n];(r==null?void 0:r.type)==="space";)A+=r.source.length,r=e[++n];break}}return A}const qd={composeNode:jC,composeEmptyNode:uo};function jC(A,e,t,n){const{spaceBefore:r,comment:g,anchor:i,tag:o}=t;let a,s=!0;switch(e.type){case"alias":a=Td(A,e,n),(i||o)&&n(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":a=VC(A,e,o,n),i&&(a.anchor=i.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":a=bd(qd,A,e,o,n),i&&(a.anchor=i.source.substring(1));break;default:{const B=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;n(e,"UNEXPECTED_TOKEN",B),a=uo(A,e.offset,void 0,null,t,n),s=!1}}return i&&a.anchor===""&&n(i,"BAD_ALIAS","Anchor cannot be an empty string"),r&&(a.spaceBefore=!0),g&&(e.type==="scalar"&&e.source===""?a.comment=g:a.commentBefore=g),A.options.keepSourceTokens&&s&&(a.srcToken=e),a}function uo(A,e,t,n,{spaceBefore:r,comment:g,anchor:i,tag:o,end:a},s){const B={type:"scalar",offset:Yd(e,t,n),indent:-1,source:""},E=VC(A,B,o,s);return i&&(E.anchor=i.source.substring(1),E.anchor===""&&s(i,"BAD_ALIAS","Anchor cannot be an empty string")),r&&(E.spaceBefore=!0),g&&(E.comment=g,E.range[2]=a),E}function Td({options:A},{offset:e,source:t,end:n},r){const g=new no(t.substring(1));g.source===""&&r(e,"BAD_ALIAS","Alias cannot be an empty string"),g.source.endsWith(":")&&r(e+t.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const i=e+t.length,o=Gn(n,i,A.strict,r);return g.range=[e,i,o.offset],o.comment&&(g.comment=o.comment),g}function _d(A,e,{offset:t,start:n,value:r,end:g},i){const o=Object.assign({_directives:e},A),a=new Yr(void 0,o),s={atRoot:!0,directives:a.directives,options:a.options,schema:a.schema},B=$t(n,{indicator:"doc-start",next:r??(g==null?void 0:g[0]),offset:t,onError:i,startOnNewline:!0});B.found&&(a.directives.docStart=!0,r&&(r.type==="block-map"||r.type==="block-seq")&&!B.hasNewline&&i(B.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),a.contents=r?jC(s,r,B,i):uo(s,B.end,n,null,B,i);const E=a.contents.range[2],u=Gn(g,E,!1,i);return u.comment&&(a.comment=u.comment),a.range=[t,E,u.offset],a}function En(A){if(typeof A=="number")return[A,A+1];if(Array.isArray(A))return A.length===2?A:[A[0],A[1]];const{offset:e,source:t}=A;return[e,e+(typeof t=="string"?t.length:1)]}function fa(A){var e;let t="",n=!1,r=!1;for(let g=0;g{const i=En(t);g?this.warnings.push(new wd(i,n,r)):this.errors.push(new hn(i,n,r))},this.directives=new te({version:e.version||"1.2"}),this.options=e}decorate(e,t){const{comment:n,afterEmptyLine:r}=fa(this.prelude);if(n){const g=e.contents;if(t)e.comment=e.comment?`${e.comment} +${n}`:n;else if(r||e.directives.docStart||!g)e.commentBefore=n;else if(OA(g)&&!g.flow&&g.items.length>0){let i=g.items[0];PA(i)&&(i=i.key);const o=i.commentBefore;i.commentBefore=o?`${n} +${o}`:n}else{const i=g.commentBefore;g.commentBefore=i?`${n} +${i}`:n}}t?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:fa(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,n=-1){for(const r of e)yield*this.next(r);yield*this.end(t,n)}*next(e){switch(e.type){case"directive":this.directives.add(e.source,(t,n,r)=>{const g=En(e);g[0]+=t,this.onError(g,"BAD_DIRECTIVE",n,r)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{const t=_d(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{const t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new hn(En(e),"UNEXPECTED_TOKEN",t);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){const n="Unexpected doc-end without preceding document";this.errors.push(new hn(En(e),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;const t=Gn(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){const n=this.doc.comment;this.doc.comment=n?`${n} +${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new hn(En(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){const n=Object.assign({_directives:this.directives},this.options),r=new Yr(void 0,n);this.atDirectives&&this.onError(t,"MISSING_CHAR","Missing directives-end indicator line"),r.range=[0,t,t],this.decorate(r,!1),yield r}}}const WC="\uFEFF",zC="",ZC="",Di="";function Pd(A){switch(A){case WC:return"byte-order-mark";case zC:return"doc-mode";case ZC:return"flow-error-end";case Di:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case` +`:case`\r +`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(A[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}function fe(A){switch(A){case void 0:case" ":case` +`:case"\r":case" ":return!0;default:return!1}}const da="0123456789ABCDEFabcdef".split(""),Vd="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()".split(""),Kg=",[]{}".split(""),jd=` ,[]{} +\r `.split(""),Yg=A=>!A||jd.includes(A);class Wd{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){e&&(this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null),this.atEnd=!t;let n=this.next??"stream";for(;n&&(t||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;t===" "||t===" ";)t=this.buffer[++e];return!t||t==="#"||t===` +`?!0:t==="\r"?this.buffer[e+1]===` +`:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let n=0;for(;t===" ";)t=this.buffer[++n+e];if(t==="\r"){const r=this.buffer[n+e+1];if(r===` +`||!r&&!this.atEnd)return e+n+1}return t===` +`||n>=this.indentNext||!t&&!this.atEnd?e+n:-1}if(t==="-"||t==="."){const n=this.buffer.substr(e,3);if((n==="---"||n==="...")&&fe(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&ethis.indentValue&&!fe(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){const[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&fe(t)){const n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);const e=this.getLine();if(e===null)return this.setNext("doc");let t=yield*this.pushIndicators();switch(e[t]){case"#":yield*this.pushCount(e.length-t);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Yg),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return t+=yield*this.parseBlockScalarHeader(),t+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,n=-1;do e=yield*this.pushNewline(),e>0?(t=yield*this.pushSpaces(!1),this.indentValue=n=t):t=0,t+=yield*this.pushSpaces(!0);while(e+t>0);const r=this.getLine();if(r===null)return this.setNext("flow");if((n!==-1&&n"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if(t!=="-")break}return yield*this.pushUntil(t=>fe(t)||t==="#")}*parseBlockScalar(){let e=this.pos-1,t=0,n;A:for(let r=this.pos;n=this.buffer[r];++r)switch(n){case" ":t+=1;break;case` +`:e=r,t=0;break;case"\r":{const g=this.buffer[r+1];if(!g&&!this.atEnd)return this.setNext("block-scalar");if(g===` +`)break}default:break A}if(!n&&!this.atEnd)return this.setNext("block-scalar");if(t>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=t:this.indentNext+=this.blockScalarIndent;do{const r=this.continueScalar(e+1);if(r===-1)break;e=this.buffer.indexOf(` +`,r)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}if(!this.blockScalarKeep)do{let r=e-1,g=this.buffer[r];g==="\r"&&(g=this.buffer[--r]);const i=r;for(;g===" "||g===" ";)g=this.buffer[--r];if(g===` +`&&r>=this.pos&&r+1+t>i)e=r;else break}while(!0);return yield Di,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){const e=this.flowLevel>0;let t=this.pos-1,n=this.pos-1,r;for(;r=this.buffer[++n];)if(r===":"){const g=this.buffer[n+1];if(fe(g)||e&&g===",")break;t=n}else if(fe(r)){let g=this.buffer[n+1];if(r==="\r"&&(g===` +`?(n+=1,r=` +`,g=this.buffer[n+1]):t=n),g==="#"||e&&Kg.includes(g))break;if(r===` +`){const i=this.continueScalar(n+1);if(i===-1)break;n=Math.max(n,i-2)}}else{if(e&&Kg.includes(r))break;t=n}return!r&&!this.atEnd?this.setNext("plain-scalar"):(yield Di,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){const n=this.buffer.slice(this.pos,e);return n?(yield n,this.pos+=n.length,n.length):(t&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(Yg))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{const e=this.flowLevel>0,t=this.charAt(1);if(fe(t)||e&&Kg.includes(t))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,t=this.buffer[e];for(;!fe(t)&&t!==">";)t=this.buffer[++e];return yield*this.pushToIndex(t===">"?e+1:e,!1)}else{let e=this.pos+1,t=this.buffer[e];for(;t;)if(Vd.includes(t))t=this.buffer[++e];else if(t==="%"&&da.includes(this.buffer[e+1])&&da.includes(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){const e=this.buffer[this.pos];return e===` +`?yield*this.pushCount(1):e==="\r"&&this.charAt(1)===` +`?yield*this.pushCount(2):0}*pushSpaces(e){let t=this.pos-1,n;do n=this.buffer[++t];while(n===" "||e&&n===" ");const r=t-this.pos;return r>0&&(yield this.buffer.substr(this.pos,r),this.pos=t),r}*pushUntil(e){let t=this.pos,n=this.buffer[t];for(;!e(n);)n=this.buffer[++t];return yield*this.pushToIndex(t,!1)}}class zd{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,n=this.lineStarts.length;for(;t>1;this.lineStarts[g]=0;)switch(A[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break A}for(;((e=A[++t])==null?void 0:e.type)==="space";);return A.splice(t,A.length)}function Da(A){if(A.start.type==="flow-seq-start")for(const e of A.items)e.sep&&!e.value&&!Ne(e.start,"explicit-key-ind")&&!Ne(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,XC(e.value)?e.value.end?Array.prototype.push.apply(e.value.end,e.sep):e.value.end=e.sep:Array.prototype.push.apply(e.start,e.sep),delete e.sep)}class Zd{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new Wd,this.onNewLine=e}*parse(e,t=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(const n of this.lexer.lex(e,t))yield*this.next(n);t||(yield*this.end())}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}const t=Pd(e);if(t)if(t==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=t,yield*this.step(),t){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{const n=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:n,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){const e=this.peek(1);if(this.type==="doc-end"&&(!e||e.type!=="doc-end")){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){const t=e??this.stack.pop();if(!t)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield t;else{const n=this.peek(1);switch(t.type==="block-scalar"?t.indent="indent"in n?n.indent:0:t.type==="flow-collection"&&n.type==="document"&&(t.indent=0),t.type==="flow-collection"&&Da(t),n.type){case"document":n.value=t;break;case"block-scalar":n.props.push(t);break;case"block-map":{const r=n.items[n.items.length-1];if(r.value){n.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}else if(r.sep)r.value=t;else{Object.assign(r,{key:t,sep:[]}),this.onKeyLine=!Ne(r.start,"explicit-key-ind");return}break}case"block-seq":{const r=n.items[n.items.length-1];r.value?n.items.push({start:[],value:t}):r.value=t;break}case"flow-collection":{const r=n.items[n.items.length-1];!r||r.value?n.items.push({start:[],key:t,sep:[]}):r.sep?r.value=t:Object.assign(r,{key:t,sep:[]});return}default:yield*this.pop(),yield*this.pop(t)}if((n.type==="document"||n.type==="block-map"||n.type==="block-seq")&&(t.type==="block-map"||t.type==="block-seq")){const r=t.items[t.items.length-1];r&&!r.sep&&!r.value&&r.start.length>0&&pa(r.start)===-1&&(t.indent===0||r.start.every(g=>g.type!=="comment"||g.indent=e.indent){const r=!this.onKeyLine&&this.indent===e.indent&&n.sep&&this.type!=="seq-item-ind";let g=[];if(r&&n.sep&&!n.value){const i=[];for(let o=0;oe.indent&&(i.length=0);break;default:i.length=0}}i.length>=2&&(g=n.sep.splice(i[1]))}switch(this.type){case"anchor":case"tag":r||n.value?(g.push(this.sourceToken),e.items.push({start:g}),this.onKeyLine=!0):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"explicit-key-ind":!n.sep&&!Ne(n.start,"explicit-key-ind")?n.start.push(this.sourceToken):r||n.value?(g.push(this.sourceToken),e.items.push({start:g})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]}),this.onKeyLine=!0;return;case"map-value-ind":if(Ne(n.start,"explicit-key-ind"))if(n.sep)if(n.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Ne(n.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:g,key:null,sep:[this.sourceToken]}]});else if(XC(n.key)&&!Ne(n.sep,"newline")){const i=vt(n.start),o=n.key,a=n.sep;a.push(this.sourceToken),delete n.key,delete n.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:o,sep:a}]})}else g.length>0?n.sep=n.sep.concat(g,this.sourceToken):n.sep.push(this.sourceToken);else if(Ne(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{const i=vt(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||r?e.items.push({start:g,key:null,sep:[this.sourceToken]}):Ne(n.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const i=this.flowScalar(this.type);r||n.value?(e.items.push({start:g,key:i,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(i):(Object.assign(n,{key:i,sep:[]}),this.onKeyLine=!0);return}default:{const i=this.startBlockValue(e);if(i){r&&i.type!=="block-seq"&&Ne(n.start,"explicit-key-ind")&&e.items.push({start:g}),this.stack.push(i);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){var t;const n=e.items[e.items.length-1];switch(this.type){case"newline":if(n.value){const r="end"in n.value?n.value.end:void 0,g=Array.isArray(r)?r[r.length-1]:void 0;(g==null?void 0:g.type)==="comment"?r==null||r.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(n.start,e.indent)){const r=e.items[e.items.length-2],g=(t=r==null?void 0:r.value)==null?void 0:t.end;if(Array.isArray(g)){Array.prototype.push.apply(g,n.start),g.push(this.sourceToken),e.items.pop();return}}n.start.push(this.sourceToken)}return;case"anchor":case"tag":if(n.value||this.indent<=e.indent)break;n.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;n.value||Ne(n.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>e.indent){const r=this.startBlockValue(e);if(r){this.stack.push(r);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){const t=e.items[e.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n&&n.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case"map-value-ind":!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const r=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:r,sep:[]}):t.sep?this.stack.push(r):Object.assign(t,{key:r,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}const n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{const n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===e.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){const r=Xn(n),g=vt(r);Da(e);const i=e.end.splice(1,e.end.length);i.push(this.sourceToken);const o={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:g,key:e,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let t=this.source.indexOf(` +`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf(` +`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const t=Xn(e),n=vt(t);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n}]}}case"map-value-ind":{this.onKeyLine=!0;const t=Xn(e),n=vt(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!=="comment"||this.indent<=t?!1:e.every(n=>n.type==="newline"||n.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}}function Xd(A){const e=A.prettyErrors!==!1;return{lineCounter:A.lineCounter||e&&new zd||null,prettyErrors:e}}function $d(A,e={}){const{lineCounter:t,prettyErrors:n}=Xd(e),r=new Zd(t==null?void 0:t.addNewLine),g=new Od(e);let i=null;for(const o of g.compose(r.parse(A),!0,A.length))if(!i)i=o;else if(i.options.logLevel!=="silent"){i.errors.push(new hn(o.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&t&&(i.errors.forEach(ca(A,t)),i.warnings.forEach(ca(A,t))),i}function Ap(A,e,t){let n;typeof e=="function"?n=e:t===void 0&&e&&typeof e=="object"&&(t=e);const r=$d(A,t);if(!r)return null;if(r.warnings.forEach(g=>kC(r.options.logLevel,g)),r.errors.length>0){if(r.options.logLevel!=="silent")throw r.errors[0];r.errors=[]}return r.toJS(Object.assign({reviver:n},t))}function ar(A,e,t){return{type:"array",data:{labels:{},label:e,routine:t?{parameters:t}:void 0},children:[],node:A}}function $C(A){const e=A.children[A.children.length-1];return(e==null?void 0:e.type)==="func"&&e.code.trim()==="END()"}function AQ(A){A.children.push({type:"func",code:"END()",children:[],node:A.node})}class ep{constructor(e,t){HA(this,"vfile"),HA(this,"root"),HA(this,"depths"),HA(this,"stack"),this.vfile=t,this.root=ar(e),this.stack=[this.root],this.depths=[0]}lastDepth(){return this.depths[this.depths.length-1]}last(){return this.stack[this.stack.length-1]}push(e,t){this.depths.push(t),this.stack.push(e)}popUntil(e){for(var t;e<=this.lastDepth();){const n=this.last();(e!==0||(t=n.data)!=null&&t.routine)&&!$C(n)&&AQ(n),this.depths.pop(),this.stack.pop()}}}function tp(A){return(A.url.match(/(\\.|[^#])+/g)||[]).map(e=>Qi(e.replace(/\\#/g,"#")))}function ln(A){return{type:"text",text:pn(A),tags:{},values:{},node:A}}class np{constructor(e,t){HA(this,"root"),HA(this,"vfile"),HA(this,"data"),HA(this,"dependencies"),HA(this,"validateLua"),this.root=e,this.vfile=t,this.dependencies=new Map,this.data=ot(t),this.data.dependencies=this.dependencies,this.data.globalLua=[],this.data.debug&&(this.data.links=[],this.data.codeSnippets=[],this.data.markdown=e)}async transform(){this.validateLua=await Lh(),this.parseFrontmatter(this.root);const e=this.parseBlock(this.root);return this.attachRelativeLinks(e),this.validateLua.close(),e}checkLua(e,t,n){var r;const g=this.validateLua(t?`return(${e})`:e);return g&&this.vfile.message(`illegal lua snippet: ${g.message}`,n),(r=this.data.codeSnippets)==null||r.push({expression:t,position:n.position,value:e}),e}attachRelativeLinks(e){Zt(e,(t,n)=>{var r,g,i;const o=t;if(o.position=t.node.position,t.type!=="array"||!((r=t.data)!=null&&r.label))return;const{label:a}=t.data;let s;for(s=n.length-1;s>0&&!((g=n[s].data)!=null&&g.label);s-=1);const B=n[s],E=[];for(;sn.type==="yaml");if((t==null?void 0:t.type)==="yaml")try{const n=Ap(t.value),r=n.IFID??n.ifid??n.UUID??n.uuid,g=(Array.isArray(r)?r:[r]).map(i=>{if(typeof i=="string"){const o=i.toUpperCase(),a=/^(?:(?:UUID|IFID):\/\/)?([0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12})\/{0,2}$/.exec(o);if(a)return a[1].toUpperCase()}return this.vfile.message(`invalid IFID ${i}`,t),""}).filter(i=>i!=="");this.data.IFID=g}catch(n){this.vfile.message(n,t)}}parseBlock(e){const t=new ep(e,this.vfile);return e.children.forEach(n=>{var r;const g=t.last();switch(n.type){case"paragraph":g.children.push(this.parseParagraph(n));break;case"code":g.children.push(this.parseCodeBlock(n));break;case"containerDirective":g.children.push(this.parseDirective(n));break;case"heading":{t.popUntil(n.depth);const i=t.last(),o=this.parseHeading(n);(t.lastDepth()!==0||(r=o.data)!=null&&r.routine)&&!$C(i)&&AQ(i),i.children.push(o),t.push(o,n.depth);break}case"html":n.value.trim().startsWith(" + +`}return` + +`}const Lw=/\r?\n|\r/g;function Sw(A,e){const t=[];let n=0,r=0,g;for(;g=Lw.exec(A);)i(A.slice(n,g.index)),t.push(g[0]),n=g.index+g[0].length,r++;return i(A.slice(n)),t.join("");function i(o){t.push(e(o,r,!o))}}function Rw(A,e,t){const n=(t.before||"")+(e||"")+(t.after||""),r=[],g=[],i={};let o=-1;for(;++o=s||B+1{const n=this.data("settings");return Gw(t,Object.assign({},n,A,{extensions:this.data("toMarkdownExtensions")||[]}))}})}const qw=Lp().use(Jy).use(Yw).freeze();class xn{constructor(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}}xn.prototype.property={};xn.prototype.normal={};xn.prototype.space=null;function UQ(A,e){const t={},n={};let r=-1;for(;++r4&&t.slice(0,4)==="data"&&Vw.test(e)){if(e.charAt(4)==="-"){const g=e.slice(5).replace(es,Zw);n="data"+g.charAt(0).toUpperCase()+g.slice(1)}else{const g=e.slice(4);if(!es.test(g)){let i=g.replace(jw,zw);i.charAt(0)!=="-"&&(i="-"+i),e="data"+i}}r=ko}return new r(n,e)}function zw(A){return"-"+A.toLowerCase()}function Zw(A){return A.charAt(1).toUpperCase()}const Xw=UQ([HQ,JQ,YQ,qQ,Ow],"html"),TQ=UQ([HQ,JQ,YQ,qQ,Pw],"svg"),$w=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","isindex","keygen","link","menuitem","meta","nextid","param","source","track","wbr"];function A0(A,e){if(A=A.replace(e.subset?e0(e.subset):/["&'<>`]/g,n),e.subset||e.escapeOnly)return A;return A.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,t).replace(/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,n);function t(r,g,i){return e.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,i.charCodeAt(g+2),e)}function n(r,g,i){return e.format(r.charCodeAt(0),i.charCodeAt(g+1),e)}}function e0(A){const e=[];let t=-1;for(;++t",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"},g0=["cent","copy","divide","gt","lt","not","para","times"],_Q={}.hasOwnProperty,Mi={};let $n;for($n in Zg)_Q.call(Zg,$n)&&(Mi[Zg[$n]]=$n);function i0(A,e,t,n){const r=String.fromCharCode(A);if(_Q.call(Mi,r)){const g=Mi[r],i="&"+g;return t&&r0.includes(g)&&!g0.includes(g)&&(!n||e&&e!==61&&/[^\da-z]/i.test(String.fromCharCode(e)))?i:i+";"}return""}function o0(A,e,t){let n=t0(A,e,t.omitOptionalSemicolons),r;if((t.useNamedReferences||t.useShortestReferences)&&(r=i0(A,e,t.omitOptionalSemicolons,t.attribute)),(t.useShortestReferences||!r)&&t.useShortestReferences){const g=n0(A,e,t.omitOptionalSemicolons);g.length"]}))+">":"|--!>|";function r(g){return Wt(g,Object.assign({},n.settings.characterReferences,{subset:["<",">"]}))}}function a0(A,e,t,n){return""}function ts(A,e){const t=String(A);if(typeof e!="string")throw new TypeError("Expected character");let n=0,r=t.indexOf(e);for(;r!==-1;)n++,r=t.indexOf(e,r+e.length);return n}function s0(A,e){const t=e||{};return(A[A.length-1]===""?[...A,""]:A).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}function C0(A){return A.join(" ").trim()}function Fo(A){const e=A&&typeof A=="object"&&A.type==="text"?A.value||"":A;return typeof e=="string"&&e.replace(/[ \t\n\f\r]/g,"")===""}const WA=PQ(1),OQ=PQ(-1);function PQ(A){return e;function e(t,n,r){const g=t?t.children:[];let i=(n||0)+A,o=g&&g[i];if(!r)for(;o&&Fo(o);)i+=A,o=g[i];return o}}const Q0={}.hasOwnProperty;function VQ(A){return e;function e(t,n,r){return Q0.call(A,t.tagName)&&A[t.tagName](t,n,r)}}const bo=VQ({html:B0,head:Xg,body:E0,p:l0,li:u0,dt:c0,dd:h0,rt:ns,rp:ns,optgroup:f0,option:d0,menuitem:p0,colgroup:Xg,caption:Xg,thead:D0,tbody:y0,tfoot:w0,tr:m0,td:rs,th:rs});function Xg(A,e,t){const n=WA(t,e,!0);return!n||n.type!=="comment"&&!(n.type==="text"&&Fo(n.value.charAt(0)))}function B0(A,e,t){const n=WA(t,e);return!n||n.type!=="comment"}function E0(A,e,t){const n=WA(t,e);return!n||n.type!=="comment"}function l0(A,e,t){const n=WA(t,e);return n?n.type==="element"&&(n.tagName==="address"||n.tagName==="article"||n.tagName==="aside"||n.tagName==="blockquote"||n.tagName==="details"||n.tagName==="div"||n.tagName==="dl"||n.tagName==="fieldset"||n.tagName==="figcaption"||n.tagName==="figure"||n.tagName==="footer"||n.tagName==="form"||n.tagName==="h1"||n.tagName==="h2"||n.tagName==="h3"||n.tagName==="h4"||n.tagName==="h5"||n.tagName==="h6"||n.tagName==="header"||n.tagName==="hgroup"||n.tagName==="hr"||n.tagName==="main"||n.tagName==="menu"||n.tagName==="nav"||n.tagName==="ol"||n.tagName==="p"||n.tagName==="pre"||n.tagName==="section"||n.tagName==="table"||n.tagName==="ul"):!t||!(t.type==="element"&&(t.tagName==="a"||t.tagName==="audio"||t.tagName==="del"||t.tagName==="ins"||t.tagName==="map"||t.tagName==="noscript"||t.tagName==="video"))}function u0(A,e,t){const n=WA(t,e);return!n||n.type==="element"&&n.tagName==="li"}function c0(A,e,t){const n=WA(t,e);return n&&n.type==="element"&&(n.tagName==="dt"||n.tagName==="dd")}function h0(A,e,t){const n=WA(t,e);return!n||n.type==="element"&&(n.tagName==="dt"||n.tagName==="dd")}function ns(A,e,t){const n=WA(t,e);return!n||n.type==="element"&&(n.tagName==="rp"||n.tagName==="rt")}function f0(A,e,t){const n=WA(t,e);return!n||n.type==="element"&&n.tagName==="optgroup"}function d0(A,e,t){const n=WA(t,e);return!n||n.type==="element"&&(n.tagName==="option"||n.tagName==="optgroup")}function p0(A,e,t){const n=WA(t,e);return!n||n.type==="element"&&(n.tagName==="menuitem"||n.tagName==="hr"||n.tagName==="menu")}function D0(A,e,t){const n=WA(t,e);return n&&n.type==="element"&&(n.tagName==="tbody"||n.tagName==="tfoot")}function y0(A,e,t){const n=WA(t,e);return!n||n.type==="element"&&(n.tagName==="tbody"||n.tagName==="tfoot")}function w0(A,e,t){return!WA(t,e)}function m0(A,e,t){const n=WA(t,e);return!n||n.type==="element"&&n.tagName==="tr"}function rs(A,e,t){const n=WA(t,e);return!n||n.type==="element"&&(n.tagName==="td"||n.tagName==="th")}const k0=VQ({html:F0,head:b0,body:L0,colgroup:S0,tbody:R0});function F0(A){const e=WA(A,-1);return!e||e.type!=="comment"}function b0(A){const e=A.children,t=[];let n=-1;for(;++n0}function L0(A){const e=WA(A,-1,!0);return!e||e.type!=="comment"&&!(e.type==="text"&&Fo(e.value.charAt(0)))&&!(e.type==="element"&&(e.tagName==="meta"||e.tagName==="link"||e.tagName==="script"||e.tagName==="style"||e.tagName==="template"))}function S0(A,e,t){const n=OQ(t,e),r=WA(A,-1,!0);return t&&n&&n.type==="element"&&n.tagName==="colgroup"&&bo(n,t.children.indexOf(n),t)?!1:r&&r.type==="element"&&r.tagName==="col"}function R0(A,e,t){const n=OQ(t,e),r=WA(A,-1);return t&&n&&n.type==="element"&&(n.tagName==="thead"||n.tagName==="tbody")&&bo(n,t.children.indexOf(n),t)?!1:r&&r.type==="element"&&r.tagName==="tr"}const Ar={name:[[` +\f\r &/=>`.split(""),` +\f\r "&'/=>\``.split("")],[`\0 +\f\r "&'/<=>`.split(""),`\0 +\f\r "&'/<=>\``.split("")]],unquoted:[[` +\f\r &>`.split(""),`\0 +\f\r "&'<=>\``.split("")],[`\0 +\f\r "&'<=>\``.split(""),`\0 +\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function N0(A,e,t,n){const r=n.schema,g=r.space==="svg"?!1:n.settings.omitOptionalTags;let i=r.space==="svg"?n.settings.closeEmptyElements:n.settings.voids.includes(A.tagName.toLowerCase());const o=[];let a;r.space==="html"&&A.tagName==="svg"&&(n.schema=TQ);const s=M0(n,A.properties),B=n.all(r.space==="html"&&A.tagName==="template"?A.content:A);return n.schema=r,B&&(i=!1),(s||!g||!k0(A,e,t))&&(o.push("<",A.tagName,s?" "+s:""),i&&(r.space==="svg"||n.settings.closeSelfClosing)&&(a=s.charAt(s.length-1),(!n.settings.tightSelfClosing||a==="/"||a&&a!=='"'&&a!=="'")&&o.push(" "),o.push("/")),o.push(">")),o.push(B),!i&&(!g||!bo(A,e,t))&&o.push(""),o.join("")}function M0(A,e){const t=[];let n=-1,r;if(e){for(r in e)if(e[r]!==void 0&&e[r]!==null){const g=G0(A,r,e[r]);g&&t.push(g)}}for(;++nts(t,A.alternative)&&(i=A.alternative),o=i+Wt(t,Object.assign({},A.settings.characterReferences,{subset:(i==="'"?Ar.single:Ar.double)[r][g],attribute:!0}))+i),a+(o&&"="+o))}function jQ(A,e,t,n){return t&&t.type==="element"&&(t.tagName==="script"||t.tagName==="style")?A.value:Wt(A.value,Object.assign({},n.settings.characterReferences,{subset:["<","&"]}))}function U0(A,e,t,n){return n.settings.allowDangerousHtml?A.value:jQ(A,e,t,n)}function x0(A,e,t,n){return n.all(A)}const J0=dQ("type",{invalid:H0,unknown:v0,handlers:{comment:I0,doctype:a0,element:N0,raw:U0,root:x0,text:jQ}});function H0(A){throw new Error("Expected node, not `"+A+"`")}function v0(A){throw new Error("Cannot compile unknown node `"+A.type+"`")}function K0(A,e){const t=e||{},n=t.quote||'"',r=n==='"'?"'":'"';if(n!=='"'&&n!=="'")throw new Error("Invalid quote `"+n+"`, expected `'` or `\"`");return{one:Y0,all:q0,settings:{omitOptionalTags:t.omitOptionalTags||!1,allowParseErrors:t.allowParseErrors||!1,allowDangerousCharacters:t.allowDangerousCharacters||!1,quoteSmart:t.quoteSmart||!1,preferUnquoted:t.preferUnquoted||!1,tightAttributes:t.tightAttributes||!1,upperDoctype:t.upperDoctype||!1,tightDoctype:t.tightDoctype||!1,bogusComments:t.bogusComments||!1,tightCommaSeparatedLists:t.tightCommaSeparatedLists||!1,tightSelfClosing:t.tightSelfClosing||!1,collapseEmptyAttributes:t.collapseEmptyAttributes||!1,allowDangerousHtml:t.allowDangerousHtml||!1,voids:t.voids||$w,characterReferences:t.characterReferences||t.entities||{},closeSelfClosing:t.closeSelfClosing||!1,closeEmptyElements:t.closeEmptyElements||!1},schema:t.space==="svg"?TQ:Xw,quote:n,alternative:r}.one(Array.isArray(A)?{type:"root",children:A}:A,void 0,void 0)}function Y0(A,e,t){return J0(A,e,t,this)}function q0(A){const e=[],t=A&&A.children||[];let n=-1;for(;++n");return n<0?t:t.slice(0,n)}function z0(A,e){return typeof e=="string"?e:""}function is(A,e){return e}function Z0(A,e,t,n){let r=-1;const g=[];for(;++rr&&typeof r=="object"&&"flags"in r?r.test(String(e)):r===e)))return A.clobberPrefix&&A.clobber&&A.clobber.includes(t)?A.clobberPrefix+e:e}function X0(A,e,t){const n=String(e),r=n.indexOf(":"),g=n.indexOf("?"),i=n.indexOf("#"),o=n.indexOf("/"),a=A.protocols&&Ke.call(A.protocols,t)?A.protocols[t].concat():[];let s=-1;if(a.length===0||r<0||o>-1&&r>o||g>-1&&r>g||i>-1&&r>i)return!0;for(;++s4&&A.slice(0,4).toLowerCase()==="data"}function Am(A,e){const t={type:"element",tagName:"blockquote",properties:{},children:A.wrap(A.all(e),!0)};return A.patch(e,t),A.applyData(e,t)}function em(A,e){const t={type:"element",tagName:"br",properties:{},children:[]};return A.patch(e,t),[A.applyData(e,t),{type:"text",value:` +`}]}function tm(A,e){const t=e.value?e.value+` +`:"",n=e.lang?e.lang.match(/^[^ \t]+(?=[ \t]|$)/):null,r={};n&&(r.className=["language-"+n]);let g={type:"element",tagName:"code",properties:r,children:[{type:"text",value:t}]};return e.meta&&(g.data={meta:e.meta}),A.patch(e,g),g=A.applyData(e,g),g={type:"element",tagName:"pre",properties:{},children:[g]},A.patch(e,g),g}function nm(A,e){const t={type:"element",tagName:"del",properties:{},children:A.all(e)};return A.patch(e,t),A.applyData(e,t)}function rm(A,e){const t={type:"element",tagName:"em",properties:{},children:A.all(e)};return A.patch(e,t),A.applyData(e,t)}function In(A){const e=[];let t=-1,n=0,r=0;for(;++t55295&&g<57344){const o=A.charCodeAt(t+1);g<56320&&o>56319&&o<57344?(i=String.fromCharCode(g,o),r=1):i="�"}else i=String.fromCharCode(g);i&&(e.push(A.slice(n,t),encodeURIComponent(i)),n=t+r+1,i=""),r&&(t+=r,r=0)}return e.join("")+A.slice(n)}function XQ(A,e){const t=String(e.identifier).toUpperCase(),n=In(t.toLowerCase()),r=A.footnoteOrder.indexOf(t);let g;r===-1?(A.footnoteOrder.push(t),A.footnoteCounts[t]=1,g=A.footnoteOrder.length):(A.footnoteCounts[t]++,g=r+1);const i=A.footnoteCounts[t],o={type:"element",tagName:"a",properties:{href:"#"+A.clobberPrefix+"fn-"+n,id:A.clobberPrefix+"fnref-"+n+(i>1?"-"+i:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(g)}]};A.patch(e,o);const a={type:"element",tagName:"sup",properties:{},children:[o]};return A.patch(e,a),A.applyData(e,a)}function gm(A,e){const t=A.footnoteById;let n=1;for(;n in t;)n++;const r=String(n);return t[r]={type:"footnoteDefinition",identifier:r,children:[{type:"paragraph",children:e.children}],position:e.position},XQ(A,{type:"footnoteReference",identifier:r,position:e.position})}function im(A,e){const t={type:"element",tagName:"h"+e.depth,properties:{},children:A.all(e)};return A.patch(e,t),A.applyData(e,t)}function om(A,e){if(A.dangerous){const t={type:"raw",value:e.value};return A.patch(e,t),A.applyData(e,t)}return null}function $Q(A,e){const t=e.referenceType;let n="]";if(t==="collapsed"?n+="[]":t==="full"&&(n+="["+(e.label||e.identifier)+"]"),e.type==="imageReference")return{type:"text",value:"!["+e.alt+n};const r=A.all(e),g=r[0];g&&g.type==="text"?g.value="["+g.value:r.unshift({type:"text",value:"["});const i=r[r.length-1];return i&&i.type==="text"?i.value+=n:r.push({type:"text",value:n}),r}function Im(A,e){const t=A.definition(e.identifier);if(!t)return $Q(A,e);const n={src:In(t.url||""),alt:e.alt};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return A.patch(e,r),A.applyData(e,r)}function am(A,e){const t={src:In(e.url)};e.alt!==null&&e.alt!==void 0&&(t.alt=e.alt),e.title!==null&&e.title!==void 0&&(t.title=e.title);const n={type:"element",tagName:"img",properties:t,children:[]};return A.patch(e,n),A.applyData(e,n)}function sm(A,e){const t={type:"text",value:e.value.replace(/\r?\n|\r/g," ")};A.patch(e,t);const n={type:"element",tagName:"code",properties:{},children:[t]};return A.patch(e,n),A.applyData(e,n)}function Cm(A,e){const t=A.definition(e.identifier);if(!t)return $Q(A,e);const n={href:In(t.url||"")};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:A.all(e)};return A.patch(e,r),A.applyData(e,r)}function Qm(A,e){const t={href:In(e.url)};e.title!==null&&e.title!==void 0&&(t.title=e.title);const n={type:"element",tagName:"a",properties:t,children:A.all(e)};return A.patch(e,n),A.applyData(e,n)}function Bm(A,e,t){const n=A.all(e),r=t?Em(t):AB(e),g={},i=[];if(typeof e.checked=="boolean"){const B=n[0];let E;B&&B.type==="element"&&B.tagName==="p"?E=B:(E={type:"element",tagName:"p",properties:{},children:[]},n.unshift(E)),E.children.length>0&&E.children.unshift({type:"text",value:" "}),E.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:e.checked,disabled:!0},children:[]}),g.className=["task-list-item"]}let o=-1;for(;++o1}function lm(A,e){const t={},n=A.all(e);let r=-1;for(typeof e.start=="number"&&e.start!==1&&(t.start=e.start);++r-1?n.offset:null}}}function dm(A,e){const t=A.all(e),n=t.shift(),r=[];if(n){const i={type:"element",tagName:"thead",properties:{},children:A.wrap([n],!0)};A.patch(e.children[0],i),r.push(i)}if(t.length>0){const i={type:"element",tagName:"tbody",properties:{},children:A.wrap(t,!0)},o=Lo(e.children[1]),a=So(e.children[e.children.length-1]);o.line&&a.line&&(i.position={start:o,end:a}),r.push(i)}const g={type:"element",tagName:"table",properties:{},children:A.wrap(r,!0)};return A.patch(e,g),A.applyData(e,g)}function pm(A,e,t){const n=t?t.children:void 0,g=(n?n.indexOf(e):1)===0?"th":"td",i=t&&t.type==="table"?t.align:void 0,o=i?i.length:e.children.length;let a=-1;const s=[];for(;++a0,!0),n[0]),r=n.index+n[0].length,n=t.exec(e);return g.push(ss(e.slice(r),r>0,!1)),g.join("")}function ss(A,e,t){let n=0,r=A.length;if(e){let g=A.codePointAt(n);for(;g===Is||g===as;)n++,g=A.codePointAt(n)}if(t){let g=A.codePointAt(r-1);for(;g===Is||g===as;)r--,g=A.codePointAt(r-1)}return r>n?A.slice(n,r):""}function wm(A,e){const t={type:"text",value:ym(String(e.value))};return A.patch(e,t),A.applyData(e,t)}function mm(A,e){const t={type:"element",tagName:"hr",properties:{},children:[]};return A.patch(e,t),A.applyData(e,t)}const km={blockquote:Am,break:em,code:tm,delete:nm,emphasis:rm,footnoteReference:XQ,footnote:gm,heading:im,html:om,imageReference:Im,image:am,inlineCode:sm,linkReference:Cm,link:Qm,listItem:Bm,list:lm,paragraph:um,root:cm,strong:hm,table:dm,tableCell:Dm,tableRow:pm,text:wm,thematicBreak:mm,toml:er,yaml:er,definition:er,footnoteDefinition:er};function er(){return null}function Fm(A){return!A||!A.position||!A.position.start||!A.position.start.line||!A.position.start.column||!A.position.end||!A.position.end.line||!A.position.end.column}const Cs={}.hasOwnProperty;function bm(A){const e=Object.create(null);if(!A||!A.type)throw new Error("mdast-util-definitions expected node");return wo(A,"definition",n=>{const r=Qs(n.identifier);r&&!Cs.call(e,r)&&(e[r]=n)}),t;function t(n){const r=Qs(n);return r&&Cs.call(e,r)?e[r]:null}}function Qs(A){return String(A||"").toUpperCase()}const fr={}.hasOwnProperty;function Lm(A,e){const t=e||{},n=t.allowDangerousHtml||!1,r={};return i.dangerous=n,i.clobberPrefix=t.clobberPrefix===void 0||t.clobberPrefix===null?"user-content-":t.clobberPrefix,i.footnoteLabel=t.footnoteLabel||"Footnotes",i.footnoteLabelTagName=t.footnoteLabelTagName||"h2",i.footnoteLabelProperties=t.footnoteLabelProperties||{className:["sr-only"]},i.footnoteBackLabel=t.footnoteBackLabel||"Back to content",i.unknownHandler=t.unknownHandler,i.passThrough=t.passThrough,i.handlers={...km,...t.handlers},i.definition=bm(A),i.footnoteById=r,i.footnoteOrder=[],i.footnoteCounts={},i.patch=Sm,i.applyData=Rm,i.one=o,i.all=a,i.wrap=Mm,i.augment=g,wo(A,"footnoteDefinition",s=>{const B=String(s.identifier).toUpperCase();fr.call(r,B)||(r[B]=s)}),i;function g(s,B){if(s&&"data"in s&&s.data){const E=s.data;E.hName&&(B.type!=="element"&&(B={type:"element",tagName:"",properties:{},children:[]}),B.tagName=E.hName),B.type==="element"&&E.hProperties&&(B.properties={...B.properties,...E.hProperties}),"children"in B&&B.children&&E.hChildren&&(B.children=E.hChildren)}if(s){const E="type"in s?s:{position:s};Fm(E)||(B.position={start:Lo(E),end:So(E)})}return B}function i(s,B,E,u){return Array.isArray(E)&&(u=E,E={}),g(s,{type:"element",tagName:B,properties:E||{},children:u||[]})}function o(s,B){return tB(i,s,B)}function a(s){return Ro(i,s)}}function Sm(A,e){A.position&&(e.position=fm(A))}function Rm(A,e){let t=e;if(A&&A.data){const n=A.data.hName,r=A.data.hChildren,g=A.data.hProperties;typeof n=="string"&&(t.type==="element"?t.tagName=n:t={type:"element",tagName:n,properties:{},children:[]}),t.type==="element"&&g&&(t.properties={...t.properties,...g}),"children"in t&&t.children&&r!==null&&r!==void 0&&(t.children=r)}return t}function tB(A,e,t){const n=e&&e.type;if(!n)throw new Error("Expected node, got `"+e+"`");return fr.call(A.handlers,n)?A.handlers[n](A,e,t):A.passThrough&&A.passThrough.includes(n)?"children"in e?{...e,children:Ro(A,e)}:e:A.unknownHandler?A.unknownHandler(A,e,t):Nm(A,e)}function Ro(A,e){const t=[];if("children"in e){const n=e.children;let r=-1;for(;++r0&&t.push({type:"text",value:` +`}),t}function Gm(A){const e=[];let t=-1;for(;++t1?"-"+o:""),dataFootnoteBackref:!0,className:["data-footnote-backref"],ariaLabel:A.footnoteBackLabel},children:[{type:"text",value:"↩"}]};o>1&&E.children.push({type:"element",tagName:"sup",children:[{type:"text",value:String(o)}]}),a.length>0&&a.push({type:"text",value:" "}),a.push(E)}const s=r[r.length-1];if(s&&s.type==="element"&&s.tagName==="p"){const E=s.children[s.children.length-1];E&&E.type==="text"?E.value+=" ":s.children.push({type:"text",value:" "}),s.children.push(...a)}else r.push(...a);const B={type:"element",tagName:"li",properties:{id:A.clobberPrefix+"fn-"+i},children:A.wrap(r,!0)};A.patch(n,B),e.push(B)}if(e.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:A.footnoteLabelTagName,properties:{...JSON.parse(JSON.stringify(A.footnoteLabelProperties)),id:"footnote-label"},children:[{type:"text",value:A.footnoteLabel}]},{type:"text",value:` +`},{type:"element",tagName:"ol",properties:{},children:A.wrap(e,!0)},{type:"text",value:` +`}]}}function Um(A,e){const t=Lm(A,e),n=t.one(A,null),r=Gm(t);return r&&n.children.push({type:"text",value:` +`},r),Array.isArray(n)?{type:"root",children:n}:n}function xm(A={}){const e={...A};let t;typeof e.sanitize=="boolean"&&(t=e.sanitize,e.sanitize=void 0),typeof t!="boolean"&&(t=!0),Object.assign(this,{Compiler:n});function n(r,g){const i=Um(r,{allowDangerousHtml:!t,handlers:e.handlers}),o=t?_0(i,e.sanitize):i,a=K0(o,Object.assign({},e,{allowDangerousHtml:!t}));return g.extname&&(g.extname=".html"),r&&r.type&&r.type==="root"&&a&&/[^\r\n]/.test(a.charAt(a.length-1))?a+` +`:a}}const Jm=qw().use(xm);function Bs(A,e){const t=Jm.processSync(A).toString().replace(/\n\n/g,` +`);return e?t.trim().replace(/^

/,"").replace(/<\/p>$/,""):t}const Hm={ref:"output",class:"md-output"},vm=Me("div",null,[Me("b",null,"Story Output:")],-1),Km={class:"output-container"},Ym={class:"lines"},qm=["innerHTML"],Tm=["onClick","innerHTML"],_m=Me("div",null,"~~ ended ~~",-1),Pm=hB({__name:"MdExample",props:{height:{},autoScroll:{type:Boolean},markdown:{}},setup(A){const e=A,{isDark:t}=fB(),n=$e("");dB(()=>e.markdown,d=>{d!==void 0&&o(d)});const r=new nC,g=$e([]);function i(d){g.value=d.messages.map(F=>{var L,N;return{from:((L=F.position)==null?void 0:L.start.offset)??0,to:((N=F.position)==null?void 0:N.end.offset)??0,severity:"error",message:F.message}})}async function o(d){if(d.trim()!==""){n.value=d,m();try{const F=await Qp().compileAll("main",async()=>d);i(F),await r.loadStory(F.toString().trim()),U(10)}catch(F){console.log(d),console.log(F)}}}const a=sp(o,1e3),s=$e(),B=$e();let E=null,u=null;const l=$e(!1);function k(d){var F;if(s.value&&(l.value||d)){const L=(F=s.value)==null?void 0:F.querySelector("pre");o(e.markdown??(L?L.innerText:"")),l.value=!0}}pB(()=>{s.value&&(E=new MutationObserver(()=>k()),E.observe(s.value,{subtree:!0,childList:!0,characterData:!0})),B.value&&(u=new IntersectionObserver(d=>{var F;(F=d[0])!=null&&F.isIntersecting&&(u==null||u.disconnect(),u=null,k(!0))},{threshold:0}),u.observe(B.value))}),DB(()=>{E==null||E.disconnect(),E=null,u==null||u.disconnect(),u=null});const p=$e(!0),w=$e(!1),y=$e([]),H=$e([]);function m(){p.value=!0,w.value=!1,y.value=[],H.value=[]}function U(d,F){if(!p.value)return;function L(N,V){const M=Y(V);NL(N+1),1):p.value=!0}p.value=!1,L(0,F)}function Y(d){if(!r.isLoaded())return!1;d&&(H.value=[]);const F=r.next(d);if(!F)return w.value=!0,!1;if(F.text){const L=F;return L.tags=typeof L.tags=="boolean"?{}:L.tags,y.value.push(L),!0}else if(F.select)return H.value=F.select,!1;return!1}return(d,F)=>{const L=yB("brocatel-editor");return ht(),ft(sg,null,[Me("pre",{ref_key:"defaultText",ref:s,style:{display:"none"}},[wB(d.$slots,"default")],512),l.value?(ht(),ft("div",{key:0,class:"md-example",style:Ig({height:e.height})},[Tn(L,{modelValue:n.value,plainText:!1,diagnostics:g.value,"dark-mode":Cn(t),"onUpdate:modelValue":F[0]||(F[0]=N=>Cn(a)(N))},null,8,["modelValue","diagnostics","dark-mode"]),Me("div",Hm,[vm,Me("div",Km,[Me("div",Ym,[Tn(mB,null,{default:ag(()=>[(ht(!0),ft(sg,null,eI(y.value,(N,V)=>(ht(),ft("p",{key:V,innerHTML:Cn(Bs)(N.text),style:Ig(N.tags===!0?{}:N.tags)},null,12,qm))),128))]),_:1})]),Tn(tI,null,{default:ag(()=>[Cg(Me("div",null,[(ht(!0),ft(sg,null,eI(H.value,N=>(ht(),ft("button",{key:N.option.text,onClick:V=>U(10,N.key),innerHTML:Cn(Bs)(N.option.text,!0),style:Ig(N.option.tags===!0?{}:N.option.tags)},null,12,Tm))),128))],512),[[Qg,H.value.length>0]])]),_:1}),Cg(Me("button",{onClick:F[1]||(F[1]=N=>U(10))}," Next Few Lines ",512),[[Qg,H.value.length===0&&Cn(r)&&p.value&&!w.value]]),Tn(tI,null,{default:ag(()=>[Cg(Me("div",null,[_m,Me("button",{onClick:F[2]||(F[2]=N=>o(n.value))},"Restart")],512),[[Qg,w.value]])]),_:1})])],512)],4)):(ht(),ft("button",{key:1,ref_key:"hindsight",ref:B,onClick:F[3]||(F[3]=N=>k(!0))},"Load Example",512))],64)}}});export{Pm as default}; diff --git a/assets/chunks/brocatel-mde.es.Bo8dZpIJ.js b/assets/chunks/brocatel-mde.es.Bo8dZpIJ.js new file mode 100644 index 0000000..a2a87a4 --- /dev/null +++ b/assets/chunks/brocatel-mde.es.Bo8dZpIJ.js @@ -0,0 +1,115 @@ +import{d as Vt,H as gi,O as go,k as Ns,aj as WA,l as Dw,y as dr,ak as jA,ai as Tw,o as yr,b as Pw,w as lf,J as wt,p as Se,h as Jt,Y as Ki,F as cm,U as UA,c as yi,n as sl,m as Ce,a as vl,t as Wc,e as jc,al as $h,am as Ah,an as Mu,ao as _A,A as Ew,ap as GA,K as HA,aq as um,ar as KA,Q as JA}from"./framework.tOI-YKg8.js";var BO={},Pt=(r=>(r.docTypeError="docTypeError",r.contextNotFound="contextNotFound",r.timerNotFound="timerNotFound",r.ctxCallOutOfScope="ctxCallOutOfScope",r.createNodeInParserFail="createNodeInParserFail",r.stackOverFlow="stackOverFlow",r.parserMatchError="parserMatchError",r.serializerMatchError="serializerMatchError",r.getAtomFromSchemaFail="getAtomFromSchemaFail",r.expectDomTypeError="expectDomTypeError",r.callCommandBeforeEditorView="callCommandBeforeEditorView",r.missingRootElement="missingRootElement",r.missingNodeInSchema="missingNodeInSchema",r.missingMarkInSchema="missingMarkInSchema",r.ctxNotBind="ctxNotBind",r.missingYjsDoc="missingYjsDoc",r))(Pt||{});let zt=class extends Error{constructor(r,e){super(e),this.name="MilkdownError",this.code=r}};const eD=(r,e)=>typeof e=="function"?"[Function]":e,Ks=r=>JSON.stringify(r,eD),tD=r=>new zt(Pt.docTypeError,`Doc type error, unsupported type: ${Ks(r)}`),rD=r=>new zt(Pt.contextNotFound,`Context "${r}" not found, do you forget to inject it?`),iD=r=>new zt(Pt.timerNotFound,`Timer "${r}" not found, do you forget to record it?`),hm=()=>new zt(Pt.ctxCallOutOfScope,"Should not call a context out of the plugin."),nD=(...r)=>{const e=r.reduce((t,i)=>{if(!i)return t;const n=s=>Array.isArray(s)?s.map(o=>n(o)).join(", "):s.toJSON?Ks(s.toJSON()):s.spec?Ks(s.spec):s.toString();return`${t}, ${n(i)}`},"Create prosemirror node from remark failed in parser");return new zt(Pt.createNodeInParserFail,e)},Mw=()=>new zt(Pt.stackOverFlow,"Stack over flow, cannot pop on an empty stack."),sD=r=>new zt(Pt.parserMatchError,`Cannot match target parser for node: ${Ks(r)}.`),oD=r=>new zt(Pt.serializerMatchError,`Cannot match target serializer for node: ${Ks(r)}.`),aD=(r,e)=>new zt(Pt.getAtomFromSchemaFail,`Cannot get ${r}: ${e} from schema.`),ds=r=>new zt(Pt.expectDomTypeError,`Expect to be a dom, but get: ${Ks(r)}.`),lD=()=>new zt(Pt.callCommandBeforeEditorView,"You're trying to call a command before editor view initialized, make sure to get commandManager from ctx after editor view has been initialized"),cD=r=>new zt(Pt.missingNodeInSchema,`Missing node in schema, milkdown cannot find "${r}" in schema.`),uD=r=>new zt(Pt.missingMarkInSchema,`Missing mark in schema, milkdown cannot find "${r}" in schema.`);var Rw=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},j=(r,e,t)=>(Rw(r,e,"read from private field"),t?t.call(r):e.get(r)),Re=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},ce=(r,e,t,i)=>(Rw(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);let Zw=class{constructor(){this.sliceMap=new Map,this.get=r=>{const e=typeof r=="string"?[...this.sliceMap.values()].find(t=>t.type.name===r):this.sliceMap.get(r.id);if(!e){const t=typeof r=="string"?r:r.name;throw rD(t)}return e},this.remove=r=>{const e=typeof r=="string"?[...this.sliceMap.values()].find(t=>t.type.name===r):this.sliceMap.get(r.id);e&&this.sliceMap.delete(e.type.id)},this.has=r=>typeof r=="string"?[...this.sliceMap.values()].some(e=>e.type.name===r):this.sliceMap.has(r.id)}};var Rr,Pi,Yo;let hD=class{constructor(r,e,t){Re(this,Rr,void 0),Re(this,Pi,void 0),Re(this,Yo,void 0),ce(this,Rr,[]),ce(this,Yo,()=>{j(this,Rr).forEach(i=>i(j(this,Pi)))}),this.set=i=>{ce(this,Pi,i),j(this,Yo).call(this)},this.get=()=>j(this,Pi),this.update=i=>{ce(this,Pi,i(j(this,Pi))),j(this,Yo).call(this)},this.type=t,ce(this,Pi,e),r.set(t.id,this)}on(r){return j(this,Rr).push(r),()=>{ce(this,Rr,j(this,Rr).filter(e=>e!==r))}}once(r){const e=this.on(t=>{r(t),e()});return e}off(r){ce(this,Rr,j(this,Rr).filter(e=>e!==r))}offAll(){ce(this,Rr,[])}};Rr=new WeakMap,Pi=new WeakMap,Yo=new WeakMap;let dD=class{constructor(r,e){this.id=Symbol(`Context-${e}`),this.name=e,this._defaultValue=r,this._typeInfo=()=>{throw hm()}}create(r,e=this._defaultValue){return new hD(r,e,this)}};const he=(r,e)=>new dD(r,e);var ec,tc,rc,xs,Vo,An,zo,Wo,jo;let fD=class{constructor(r,e,t){Re(this,ec,void 0),Re(this,tc,void 0),Re(this,rc,void 0),Re(this,xs,void 0),Re(this,Vo,void 0),Re(this,An,void 0),Re(this,zo,void 0),Re(this,Wo,void 0),Re(this,jo,void 0),ce(this,xs,new Set),ce(this,Vo,new Set),ce(this,An,new Map),ce(this,zo,new Map),this.read=()=>({metadata:j(this,ec),injectedSlices:[...j(this,xs)].map(i=>({name:typeof i=="string"?i:i.name,value:j(this,Wo).call(this,i)})),consumedSlices:[...j(this,Vo)].map(i=>({name:typeof i=="string"?i:i.name,value:j(this,Wo).call(this,i)})),recordedTimers:[...j(this,An)].map(([i,{duration:n}])=>({name:i.name,duration:n,status:j(this,jo).call(this,i)})),waitTimers:[...j(this,zo)].map(([i,{duration:n}])=>({name:i.name,duration:n,status:j(this,jo).call(this,i)}))}),this.onRecord=i=>{j(this,An).set(i,{start:Date.now(),duration:0})},this.onClear=i=>{j(this,An).delete(i)},this.onDone=i=>{const n=j(this,An).get(i);n&&(n.duration=Date.now()-n.start)},this.onWait=(i,n)=>{const s=Date.now();n.finally(()=>{j(this,zo).set(i,{duration:Date.now()-s})})},this.onInject=i=>{j(this,xs).add(i)},this.onRemove=i=>{j(this,xs).delete(i)},this.onUse=i=>{j(this,Vo).add(i)},ce(this,Wo,i=>j(this,tc).get(i).get()),ce(this,jo,i=>j(this,rc).get(i).status),ce(this,tc,r),ce(this,rc,e),ce(this,ec,t)}};ec=new WeakMap,tc=new WeakMap,rc=new WeakMap,xs=new WeakMap,Vo=new WeakMap,An=new WeakMap,zo=new WeakMap,Wo=new WeakMap,jo=new WeakMap;var Ei,Mi,ic,hr;const Nw=class{constructor(r,e,t){Re(this,Ei,void 0),Re(this,Mi,void 0),Re(this,ic,void 0),Re(this,hr,void 0),this.produce=i=>i&&Object.keys(i).length?new Nw(j(this,Ei),j(this,Mi),{...i}):this,this.inject=(i,n)=>{var s;const o=i.create(j(this,Ei).sliceMap);return n!=null&&o.set(n),(s=j(this,hr))==null||s.onInject(i),this},this.remove=i=>{var n;return j(this,Ei).remove(i),(n=j(this,hr))==null||n.onRemove(i),this},this.record=i=>{var n;return i.create(j(this,Mi).store),(n=j(this,hr))==null||n.onRecord(i),this},this.clearTimer=i=>{var n;return j(this,Mi).remove(i),(n=j(this,hr))==null||n.onClear(i),this},this.isInjected=i=>j(this,Ei).has(i),this.isRecorded=i=>j(this,Mi).has(i),this.use=i=>{var n;return(n=j(this,hr))==null||n.onUse(i),j(this,Ei).get(i)},this.get=i=>this.use(i).get(),this.set=(i,n)=>this.use(i).set(n),this.update=(i,n)=>this.use(i).update(n),this.timer=i=>j(this,Mi).get(i),this.done=i=>{var n;this.timer(i).done(),(n=j(this,hr))==null||n.onDone(i)},this.wait=i=>{var n;const s=this.timer(i).start();return(n=j(this,hr))==null||n.onWait(i,s),s},this.waitTimers=async i=>{await Promise.all(this.get(i).map(n=>this.wait(n)))},ce(this,Ei,r),ce(this,Mi,e),ce(this,ic,t),t&&ce(this,hr,new fD(r,e,t))}get meta(){return j(this,ic)}get inspector(){return j(this,hr)}};let pD=Nw;Ei=new WeakMap,Mi=new WeakMap,ic=new WeakMap,hr=new WeakMap;let mD=class{constructor(){this.store=new Map,this.get=r=>{const e=this.store.get(r.id);if(!e)throw iD(r.name);return e},this.remove=r=>{this.store.delete(r.id)},this.has=r=>this.store.has(r.id)}};var Ss,Dn,Uo,Ri,_o,nc;let gD=class{constructor(r,e){Re(this,Ss,void 0),Re(this,Dn,void 0),Re(this,Uo,void 0),Re(this,Ri,void 0),Re(this,_o,void 0),Re(this,nc,void 0),ce(this,Ss,null),ce(this,Dn,null),ce(this,Ri,"pending"),this.start=()=>(j(this,Ss)??ce(this,Ss,new Promise((t,i)=>{ce(this,Dn,n=>{n instanceof CustomEvent&&n.detail.id===j(this,Uo)&&(ce(this,Ri,"resolved"),j(this,_o).call(this),n.stopImmediatePropagation(),t())}),j(this,nc).call(this,()=>{j(this,Ri)==="pending"&&ce(this,Ri,"rejected"),j(this,_o).call(this),i(new Error(`Timing ${this.type.name} timeout.`))}),ce(this,Ri,"pending"),addEventListener(this.type.name,j(this,Dn))})),j(this,Ss)),this.done=()=>{const t=new CustomEvent(this.type.name,{detail:{id:j(this,Uo)}});dispatchEvent(t)},ce(this,_o,()=>{j(this,Dn)&&removeEventListener(this.type.name,j(this,Dn))}),ce(this,nc,t=>{setTimeout(()=>{t()},this.type.timeout)}),ce(this,Uo,Symbol(e.name)),this.type=e,r.set(e.id,this)}get status(){return j(this,Ri)}};Ss=new WeakMap,Dn=new WeakMap,Uo=new WeakMap,Ri=new WeakMap,_o=new WeakMap,nc=new WeakMap;let OD=class{constructor(r,e=3e3){this.create=t=>new gD(t,this),this.id=Symbol(`Timer-${r}`),this.name=r,this.timeout=e}};const mn=(r,e=3e3)=>new OD(r,e);function Ke(r){this.content=r}Ke.prototype={constructor:Ke,find:function(r){for(var e=0;e>1}};Ke.from=function(r){if(r instanceof Ke)return r;var e=[];if(r)for(var t in r)e.push(t,r[t]);return new Ke(e)};function Fw(r,e,t){for(let i=0;;i++){if(i==r.childCount||i==e.childCount)return r.childCount==e.childCount?null:t;let n=r.child(i),s=e.child(i);if(n==s){t+=n.nodeSize;continue}if(!n.sameMarkup(s))return t;if(n.isText&&n.text!=s.text){for(let o=0;n.text[o]==s.text[o];o++)t++;return t}if(n.content.size||s.content.size){let o=Fw(n.content,s.content,t+1);if(o!=null)return o}t+=n.nodeSize}}function Iw(r,e,t,i){for(let n=r.childCount,s=e.childCount;;){if(n==0||s==0)return n==s?null:{a:t,b:i};let o=r.child(--n),a=e.child(--s),l=o.nodeSize;if(o==a){t-=l,i-=l;continue}if(!o.sameMarkup(a))return{a:t,b:i};if(o.isText&&o.text!=a.text){let c=0,u=Math.min(o.text.length,a.text.length);for(;ce&&i(l,n+a,s||null,o)!==!1&&l.content.size){let u=a+1;l.nodesBetween(Math.max(0,e-u),Math.min(l.content.size,t-u),i,n+u)}a=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,i,n){let s="",o=!0;return this.nodesBetween(e,t,(a,l)=>{a.isText?(s+=a.text.slice(Math.max(e,l)-l,t-l),o=!i):a.isLeaf?(n?s+=typeof n=="function"?n(a):n:a.type.spec.leafText&&(s+=a.type.spec.leafText(a)),o=!i):!o&&a.isBlock&&(s+=i,o=!0)},0),s}append(e){if(!e.size)return this;if(!this.size)return e;let t=this.lastChild,i=e.firstChild,n=this.content.slice(),s=0;for(t.isText&&t.sameMarkup(i)&&(n[n.length-1]=t.withText(t.text+i.text),s=1);se)for(let s=0,o=0;oe&&((ot)&&(a.isText?a=a.cut(Math.max(0,e-o),Math.min(a.text.length,t-o)):a=a.cut(Math.max(0,e-o-1),Math.min(a.content.size,t-o-1))),i.push(a),n+=a.nodeSize),o=l}return new Z(i,n)}cutByIndex(e,t){return e==t?Z.empty:e==0&&t==this.content.length?this:new Z(this.content.slice(e,t))}replaceChild(e,t){let i=this.content[e];if(i==t)return this;let n=this.content.slice(),s=this.size+t.nodeSize-i.nodeSize;return n[e]=t,new Z(n,s)}addToStart(e){return new Z([e].concat(this.content),this.size+e.nodeSize)}addToEnd(e){return new Z(this.content.concat(e),this.size+e.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;tthis.size||e<0)throw new RangeError(`Position ${e} outside of fragment (${this})`);for(let i=0,n=0;;i++){let s=this.child(i),o=n+s.nodeSize;if(o>=e)return o==e||t>0?kl(i+1,o):kl(i,n);n=o}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(e,t){if(!t)return Z.empty;if(!Array.isArray(t))throw new RangeError("Invalid input for Fragment.fromJSON");return new Z(t.map(e.nodeFromJSON))}static fromArray(e){if(!e.length)return Z.empty;let t,i=0;for(let n=0;nthis.type.rank&&(t||(t=e.slice(0,n)),t.push(this),i=!0),t&&t.push(s)}}return t||(t=e.slice()),i||t.push(this),t}removeFromSet(e){for(let t=0;ti.type.rank-n.type.rank),t}}ae.none=[];class _c extends Error{}class L{constructor(e,t,i){this.content=e,this.openStart=t,this.openEnd=i}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(e,t){let i=qw(this.content,e+this.openStart,t);return i&&new L(i,this.openStart,this.openEnd)}removeBetween(e,t){return new L(Bw(this.content,e+this.openStart,t+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(e,t){if(!t)return L.empty;let i=t.openStart||0,n=t.openEnd||0;if(typeof i!="number"||typeof n!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new L(Z.fromJSON(e,t.content),i,n)}static maxOpen(e,t=!0){let i=0,n=0;for(let s=e.firstChild;s&&!s.isLeaf&&(t||!s.type.spec.isolating);s=s.firstChild)i++;for(let s=e.lastChild;s&&!s.isLeaf&&(t||!s.type.spec.isolating);s=s.lastChild)n++;return new L(e,i,n)}}L.empty=new L(Z.empty,0,0);function Bw(r,e,t){let{index:i,offset:n}=r.findIndex(e),s=r.maybeChild(i),{index:o,offset:a}=r.findIndex(t);if(n==e||s.isText){if(a!=t&&!r.child(o).isText)throw new RangeError("Removing non-flat range");return r.cut(0,e).append(r.cut(t))}if(i!=o)throw new RangeError("Removing non-flat range");return r.replaceChild(i,s.copy(Bw(s.content,e-n-1,t-n-1)))}function qw(r,e,t,i){let{index:n,offset:s}=r.findIndex(e),o=r.maybeChild(n);if(s==e||o.isText)return i&&!i.canReplace(n,n,t)?null:r.cut(0,e).append(t).append(r.cut(e));let a=qw(o.content,e-s-1,t);return a&&r.replaceChild(n,o.copy(a))}function yD(r,e,t){if(t.openStart>r.depth)throw new _c("Inserted content deeper than insertion position");if(r.depth-t.openStart!=e.depth-t.openEnd)throw new _c("Inconsistent open depths");return Lw(r,e,t,0)}function Lw(r,e,t,i){let n=r.index(i),s=r.node(i);if(n==e.index(i)&&i=0&&r.isText&&r.sameMarkup(e[t])?e[t]=r.withText(e[t].text+r.text):e.push(r)}function da(r,e,t,i){let n=(e||r).node(t),s=0,o=e?e.index(t):n.childCount;r&&(s=r.index(t),r.depth>t?s++:r.textOffset&&(zn(r.nodeAfter,i),s++));for(let a=s;an&&cf(r,e,n+1),o=i.depth>n&&cf(t,i,n+1),a=[];return da(null,r,n,a),s&&o&&e.index(n)==t.index(n)?(Xw(s,o),zn(Wn(s,Yw(r,e,t,i,n+1)),a)):(s&&zn(Wn(s,Gc(r,e,n+1)),a),da(e,t,n,a),o&&zn(Wn(o,Gc(t,i,n+1)),a)),da(i,null,n,a),new Z(a)}function Gc(r,e,t){let i=[];if(da(null,r,t,i),r.depth>t){let n=cf(r,e,t+1);zn(Wn(n,Gc(r,e,t+1)),i)}return da(e,null,t,i),new Z(i)}function bD(r,e){let t=e.depth-r.openStart,i=e.node(t).copy(r.content);for(let n=t-1;n>=0;n--)i=e.node(n).copy(Z.from(i));return{start:i.resolveNoCache(r.openStart+t),end:i.resolveNoCache(i.content.size-r.openEnd-t)}}class Ta{constructor(e,t,i){this.pos=e,this.path=t,this.parentOffset=i,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let i=this.pos-this.path[this.path.length-1],n=e.child(t);return i?e.child(t).cut(i):n}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let i=this.path[t*3],n=t==0?0:this.path[t*3-1]+1;for(let s=0;s0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos=0;i--)if(e.pos<=this.end(i)&&(!t||t(this.node(i))))return new Vw(this,e,i);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos=0&&t<=e.content.size))throw new RangeError("Position "+t+" out of range");let i=[],n=0,s=t;for(let o=e;;){let{index:a,offset:l}=o.content.findIndex(s),c=s-l;if(i.push(o,a,n+l),!c||(o=o.child(a),o.isText))break;s=c-1,n+=l+1}return new Ta(t,i,s)}static resolveCached(e,t){for(let n=0;ne&&this.nodesBetween(e,t,s=>(i.isInSet(s.marks)&&(n=!0),!n)),n}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+="("+this.content.toStringInner()+")"),zw(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw new Error("Called contentMatchAt on a node with invalid content");return t}canReplace(e,t,i=Z.empty,n=0,s=i.childCount){let o=this.contentMatchAt(e).matchFragment(i,n,s),a=o&&o.matchFragment(this.content,t);if(!a||!a.validEnd)return!1;for(let l=n;lt.type.name)}`);this.content.forEach(t=>t.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(t=>t.toJSON())),e}static fromJSON(e,t){if(!t)throw new RangeError("Invalid input for Node.fromJSON");let i=null;if(t.marks){if(!Array.isArray(t.marks))throw new RangeError("Invalid mark data for Node.fromJSON");i=t.marks.map(e.markFromJSON)}if(t.type=="text"){if(typeof t.text!="string")throw new RangeError("Invalid text node in JSON");return e.text(t.text,i)}let n=Z.fromJSON(e,t.content);return e.nodeType(t.type).create(t.attrs,n,i)}}br.prototype.text=void 0;let kD=class uf extends br{constructor(e,t,i,n){if(super(e,t,null,n),!i)throw new RangeError("Empty text nodes are not allowed");this.text=i}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):zw(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(e){return e==this.marks?this:new uf(this.type,this.attrs,this.text,e)}withText(e){return e==this.text?this:new uf(this.type,this.attrs,e,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function zw(r,e){for(let t=r.length-1;t>=0;t--)e=r[t].type.name+"("+e+")";return e}class es{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(e,t){let i=new xD(e,t);if(i.next==null)return es.empty;let n=Ww(i);i.next&&i.err("Unexpected trailing text");let s=TD(DD(n));return PD(s,i),s}matchType(e){for(let t=0;tc.createAndFill()));for(let c=0;c=this.next.length)throw new RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(i){e.push(i);for(let n=0;n{let s=n+(i.validEnd?"*":" ")+" ";for(let o=0;o"+e.indexOf(i.next[o].next);return s}).join(` +`)}}es.empty=new es(!0);class xD{constructor(e,t){this.string=e,this.nodeTypes=t,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw new SyntaxError(e+" (in content expression '"+this.string+"')")}}function Ww(r){let e=[];do e.push(SD(r));while(r.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function SD(r){let e=[];do e.push(CD(r));while(r.next&&r.next!=")"&&r.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function CD(r){let e=AD(r);for(;;)if(r.eat("+"))e={type:"plus",expr:e};else if(r.eat("*"))e={type:"star",expr:e};else if(r.eat("?"))e={type:"opt",expr:e};else if(r.eat("{"))e=QD(r,e);else break;return e}function qO(r){/\D/.test(r.next)&&r.err("Expected number, got '"+r.next+"'");let e=Number(r.next);return r.pos++,e}function QD(r,e){let t=qO(r),i=t;return r.eat(",")&&(r.next!="}"?i=qO(r):i=-1),r.eat("}")||r.err("Unclosed braced range"),{type:"range",min:t,max:i,expr:e}}function $D(r,e){let t=r.nodeTypes,i=t[e];if(i)return[i];let n=[];for(let s in t){let o=t[s];o.groups.indexOf(e)>-1&&n.push(o)}return n.length==0&&r.err("No node type or group '"+e+"' found"),n}function AD(r){if(r.eat("(")){let e=Ww(r);return r.eat(")")||r.err("Missing closing paren"),e}else if(/\W/.test(r.next))r.err("Unexpected token '"+r.next+"'");else{let e=$D(r,r.next).map(t=>(r.inline==null?r.inline=t.isInline:r.inline!=t.isInline&&r.err("Mixing inline and block content"),{type:"name",value:t}));return r.pos++,e.length==1?e[0]:{type:"choice",exprs:e}}}function DD(r){let e=[[]];return n(s(r,0),t()),e;function t(){return e.push([])-1}function i(o,a,l){let c={term:l,to:a};return e[o].push(c),c}function n(o,a){o.forEach(l=>l.to=a)}function s(o,a){if(o.type=="choice")return o.exprs.reduce((l,c)=>l.concat(s(c,a)),[]);if(o.type=="seq")for(let l=0;;l++){let c=s(o.exprs[l],a);if(l==o.exprs.length-1)return c;n(c,a=t())}else if(o.type=="star"){let l=t();return i(a,l),n(s(o.expr,l),l),[i(l)]}else if(o.type=="plus"){let l=t();return n(s(o.expr,a),l),n(s(o.expr,l),l),[i(l)]}else{if(o.type=="opt")return[i(a)].concat(s(o.expr,a));if(o.type=="range"){let l=a;for(let c=0;c{r[o].forEach(({term:a,to:l})=>{if(!a)return;let c;for(let u=0;u{c||n.push([a,c=[]]),c.indexOf(u)==-1&&c.push(u)})})});let s=e[i.join(",")]=new es(i.indexOf(r.length-1)>-1);for(let o=0;o-1}allowsMarks(e){if(this.markSet==null)return!0;for(let t=0;ti[s]=new Hw(s,t,o));let n=t.spec.topNode||"doc";if(!i[n])throw new RangeError("Schema is missing its top node type ('"+n+"')");if(!i.text)throw new RangeError("Every schema needs a 'text' type");for(let s in i.text.attrs)throw new RangeError("The text node type should not have attributes");return i}},ED=class{constructor(r){this.hasDefault=Object.prototype.hasOwnProperty.call(r,"default"),this.default=r.default}get isRequired(){return!this.hasDefault}};class Ru{constructor(e,t,i,n){this.name=e,this.rank=t,this.schema=i,this.spec=n,this.attrs=Gw(n.attrs),this.excluded=null;let s=Uw(this.attrs);this.instance=s?new ae(this,s):null}create(e=null){return!e&&this.instance?this.instance:new ae(this,_w(this.attrs,e))}static compile(e,t){let i=Object.create(null),n=0;return e.forEach((s,o)=>i[s]=new Ru(s,n++,t,o)),i}removeFromSet(e){for(var t=0;t-1}}let MD=class{constructor(r){this.cached=Object.create(null);let e=this.spec={};for(let i in r)e[i]=r[i];e.nodes=Ke.from(r.nodes),e.marks=Ke.from(r.marks||{}),this.nodes=Hc.compile(this.spec.nodes,this),this.marks=Ru.compile(this.spec.marks,this);let t=Object.create(null);for(let i in this.nodes){if(i in this.marks)throw new RangeError(i+" can not be both a node and a mark");let n=this.nodes[i],s=n.spec.content||"",o=n.spec.marks;n.contentMatch=t[s]||(t[s]=es.parse(s,this.nodes)),n.inlineContent=n.contentMatch.inlineContent,n.markSet=o=="_"?null:o?XO(this,o.split(" ")):o==""||!n.inlineContent?[]:null}for(let i in this.marks){let n=this.marks[i],s=n.spec.excludes;n.excluded=s==null?[n]:s==""?[]:XO(this,s.split(" "))}this.nodeFromJSON=this.nodeFromJSON.bind(this),this.markFromJSON=this.markFromJSON.bind(this),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(r,e=null,t,i){if(typeof r=="string")r=this.nodeType(r);else if(r instanceof Hc){if(r.schema!=this)throw new RangeError("Node type from different schema used ("+r.name+")")}else throw new RangeError("Invalid node type: "+r);return r.createChecked(e,t,i)}text(r,e){let t=this.nodes.text;return new kD(t,t.defaultAttrs,r,ae.setFrom(e))}mark(r,e){return typeof r=="string"&&(r=this.marks[r]),r.create(e)}nodeFromJSON(r){return br.fromJSON(this,r)}markFromJSON(r){return ae.fromJSON(this,r)}nodeType(r){let e=this.nodes[r];if(!e)throw new RangeError("Unknown node type: "+r);return e}};function XO(r,e){let t=[];for(let i=0;i-1)&&t.push(o=l)}if(!o)throw new SyntaxError("Unknown mark type: '"+e[i]+"'")}return t}class ts{constructor(e,t){this.schema=e,this.rules=t,this.tags=[],this.styles=[],t.forEach(i=>{i.tag?this.tags.push(i):i.style&&this.styles.push(i)}),this.normalizeLists=!this.tags.some(i=>{if(!/^(ul|ol)\b/.test(i.tag)||!i.node)return!1;let n=e.nodes[i.node];return n.contentMatch.matchType(n)})}parse(e,t={}){let i=new VO(this,t,!1);return i.addAll(e,t.from,t.to),i.finish()}parseSlice(e,t={}){let i=new VO(this,t,!0);return i.addAll(e,t.from,t.to),L.maxOpen(i.finish())}matchTag(e,t,i){for(let n=i?this.tags.indexOf(i)+1:0;ne.length&&(a.charCodeAt(e.length)!=61||a.slice(e.length+1)!=t))){if(o.getAttrs){let l=o.getAttrs(t);if(l===!1)continue;o.attrs=l||void 0}return o}}}static schemaRules(e){let t=[];function i(n){let s=n.priority==null?50:n.priority,o=0;for(;o{i(o=zO(o)),o.mark||o.ignore||o.clearMark||(o.mark=n)})}for(let n in e.nodes){let s=e.nodes[n].spec.parseDOM;s&&s.forEach(o=>{i(o=zO(o)),o.node||o.ignore||o.mark||(o.node=n)})}return t}static fromSchema(e){return e.cached.domParser||(e.cached.domParser=new ts(e,ts.schemaRules(e)))}}const Kw={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},RD={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},Jw={ol:!0,ul:!0},Kc=1,Jc=2,fa=4;function YO(r,e,t){return e!=null?(e?Kc:0)|(e==="full"?Jc:0):r&&r.whitespace=="pre"?Kc|Jc:t&~fa}class xl{constructor(e,t,i,n,s,o,a){this.type=e,this.attrs=t,this.marks=i,this.pendingMarks=n,this.solid=s,this.options=a,this.content=[],this.activeMarks=ae.none,this.stashMarks=[],this.match=o||(a&fa?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let t=this.type.contentMatch.fillBefore(Z.from(e));if(t)this.match=this.type.contentMatch.matchFragment(t);else{let i=this.type.contentMatch,n;return(n=i.findWrapping(e.type))?(this.match=i,n):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&Kc)){let i=this.content[this.content.length-1],n;if(i&&i.isText&&(n=/[ \t\r\n\u000c]+$/.exec(i.text))){let s=i;i.text.length==n[0].length?this.content.pop():this.content[this.content.length-1]=s.withText(s.text.slice(0,s.text.length-n[0].length))}}let t=Z.from(this.content);return!e&&this.match&&(t=t.append(this.match.fillBefore(Z.empty,!0))),this.type?this.type.create(this.attrs,t,this.marks):t}popFromStashMark(e){for(let t=this.stashMarks.length-1;t>=0;t--)if(e.eq(this.stashMarks[t]))return this.stashMarks.splice(t,1)[0]}applyPending(e){for(let t=0,i=this.pendingMarks;tthis.addAll(r)),s&&this.sync(o),this.needsBlock=a}else this.withStyleRules(r,()=>{this.addElementByRule(r,n,n.consuming===!1?i:void 0)})}leafFallback(r){r.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(r.ownerDocument.createTextNode(` +`))}ignoreFallback(r){r.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"))}readStyles(r){let e=ae.none,t=ae.none;for(let i=0;i{s.clearMark(o)&&(t=o.addToSet(t))}):e=this.parser.schema.marks[s.mark].create(s.attrs).addToSet(e),s.consuming===!1)n=s;else break}return[e,t]}addElementByRule(r,e,t){let i,n,s;e.node?(n=this.parser.schema.nodes[e.node],n.isLeaf?this.insertNode(n.create(e.attrs))||this.leafFallback(r):i=this.enter(n,e.attrs||null,e.preserveWhitespace)):(s=this.parser.schema.marks[e.mark].create(e.attrs),this.addPendingMark(s));let o=this.top;if(n&&n.isLeaf)this.findInside(r);else if(t)this.addElement(r,t);else if(e.getContent)this.findInside(r),e.getContent(r,this.parser.schema).forEach(a=>this.insertNode(a));else{let a=r;typeof e.contentElement=="string"?a=r.querySelector(e.contentElement):typeof e.contentElement=="function"?a=e.contentElement(r):e.contentElement&&(a=e.contentElement),this.findAround(r,a,!0),this.addAll(a)}i&&this.sync(o)&&this.open--,s&&this.removePendingMark(s,o)}addAll(r,e,t){let i=e||0;for(let n=e?r.childNodes[e]:r.firstChild,s=t==null?null:r.childNodes[t];n!=s;n=n.nextSibling,++i)this.findAtPoint(r,i),this.addDOM(n);this.findAtPoint(r,i)}findPlace(r){let e,t;for(let i=this.open;i>=0;i--){let n=this.nodes[i],s=n.findWrapping(r);if(s&&(!e||e.length>s.length)&&(e=s,t=n,!s.length)||n.solid)break}if(!e)return!1;this.sync(t);for(let i=0;ithis.open){for(;e>this.open;e--)this.nodes[e-1].content.push(this.nodes[e].finish(r));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(this.isOpen||this.options.topOpen)}sync(r){for(let e=this.open;e>=0;e--)if(this.nodes[e]==r)return this.open=e,!0;return!1}get currentPos(){this.closeExtra();let r=0;for(let e=this.open;e>=0;e--){let t=this.nodes[e].content;for(let i=t.length-1;i>=0;i--)r+=t[i].nodeSize;e&&r++}return r}findAtPoint(r,e){if(this.find)for(let t=0;t-1)return r.split(/\s*\|\s*/).some(this.matchesContext,this);let e=r.split("/"),t=this.options.context,i=!this.isOpen&&(!t||t.parent.type==this.nodes[0].type),n=-(t?t.depth+1:0)+(i?0:1),s=(o,a)=>{for(;o>=0;o--){let l=e[o];if(l==""){if(o==e.length-1||o==0)continue;for(;a>=n;a--)if(s(o-1,a))return!0;return!1}else{let c=a>0||a==0&&i?this.nodes[a].type:t&&a>=n?t.node(a-n).type:null;if(!c||c.name!=l&&c.groups.indexOf(l)==-1)return!1;a--}}return!0};return s(e.length-1,this.open)}textblockFromContext(){let r=this.options.context;if(r)for(let e=r.depth;e>=0;e--){let t=r.node(e).contentMatchAt(r.indexAfter(e)).defaultType;if(t&&t.isTextblock&&t.defaultAttrs)return t}for(let e in this.parser.schema.nodes){let t=this.parser.schema.nodes[e];if(t.isTextblock&&t.defaultAttrs)return t}}addPendingMark(r){let e=BD(r,this.top.pendingMarks);e&&this.top.stashMarks.push(e),this.top.pendingMarks=r.addToSet(this.top.pendingMarks)}removePendingMark(r,e){for(let t=this.open;t>=0;t--){let i=this.nodes[t];if(i.pendingMarks.lastIndexOf(r)>-1)i.pendingMarks=r.removeFromSet(i.pendingMarks);else{i.activeMarks=r.removeFromSet(i.activeMarks);let n=i.popFromStashMark(r);n&&i.type&&i.type.allowsMarkType(n.type)&&(i.activeMarks=n.addToSet(i.activeMarks))}if(i==e)break}}};function ZD(r){for(let e=r.firstChild,t=null;e;e=e.nextSibling){let i=e.nodeType==1?e.nodeName.toLowerCase():null;i&&Jw.hasOwnProperty(i)&&t?(t.appendChild(e),e=t):i=="li"?t=e:i&&(t=null)}}function ND(r,e){return(r.matches||r.msMatchesSelector||r.webkitMatchesSelector||r.mozMatchesSelector).call(r,e)}function FD(r){let e=/\s*([\w-]+)\s*:\s*([^;]+)/g,t,i=[];for(;t=e.exec(r);)i.push(t[1],t[2].trim());return i}function zO(r){let e={};for(let t in r)e[t]=r[t];return e}function ID(r,e){let t=e.schema.nodes;for(let i in t){let n=t[i];if(!n.allowsMarkType(r))continue;let s=[],o=a=>{s.push(a);for(let l=0;l{if(s.length||o.marks.length){let a=0,l=0;for(;a=0;n--){let s=this.serializeMark(e.marks[n],e.isInline,t);s&&((s.contentDOM||s.dom).appendChild(i),i=s.dom)}return i}serializeMark(e,t,i={}){let n=this.marks[e.type.name];return n&&Yr.renderSpec(Eh(i),n(e,t))}static renderSpec(e,t,i=null){if(typeof t=="string")return{dom:e.createTextNode(t)};if(t.nodeType!=null)return{dom:t};if(t.dom&&t.dom.nodeType!=null)return t;let n=t[0],s=n.indexOf(" ");s>0&&(i=n.slice(0,s),n=n.slice(s+1));let o,a=i?e.createElementNS(i,n):e.createElement(n),l=t[1],c=1;if(l&&typeof l=="object"&&l.nodeType==null&&!Array.isArray(l)){c=2;for(let u in l)if(l[u]!=null){let h=u.indexOf(" ");h>0?a.setAttributeNS(u.slice(0,h),u.slice(h+1),l[u]):a.setAttribute(u,l[u])}}for(let u=c;uc)throw new RangeError("Content hole must be the only child of its parent node");return{dom:a,contentDOM:a}}else{let{dom:d,contentDOM:f}=Yr.renderSpec(e,h,i);if(a.appendChild(d),f){if(o)throw new RangeError("Multiple content holes");o=f}}}return{dom:a,contentDOM:o}}static fromSchema(e){return e.cached.domSerializer||(e.cached.domSerializer=new Yr(this.nodesFromSchema(e),this.marksFromSchema(e)))}static nodesFromSchema(e){let t=WO(e.nodes);return t.text||(t.text=i=>i.text),t}static marksFromSchema(e){return WO(e.marks)}}function WO(r){let e={};for(let t in r){let i=r[t].spec.toDOM;i&&(e[t]=i)}return e}function Eh(r){return r.document||window.document}const qD={};function dm(r,e){const t=e||qD,i=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,n=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return ev(r,i,n)}function ev(r,e,t){if(LD(r)){if("value"in r)return r.type==="html"&&!t?"":r.value;if(e&&"alt"in r&&r.alt)return r.alt;if("children"in r)return jO(r.children,e,t)}return Array.isArray(r)?jO(r,e,t):""}function jO(r,e,t){const i=[];let n=-1;for(;++nn?0:n+e:e=e>n?n:e,t=t>0?t:0,i.length<1e4)o=Array.from(i),o.unshift(e,t),r.splice(...o);else for(t&&r.splice(e,t);s0?(Kr(r,r.length,0,e),r):e}const UO={}.hasOwnProperty;function XD(r){const e={};let t=-1;for(;++to))return;const x=e.events.length;let R=x,P,B;for(;R--;)if(e.events[R][0]==="exit"&&e.events[R][1].type==="chunkFlow"){if(P){B=e.events[R][1].end;break}P=!0}for(O(i),b=x;bv;){const Q=t[C];e.containerState=Q[1],Q[0].exit.call(e,r)}t.length=v}function w(){n.write([null]),s=void 0,n=void 0,e.containerState._closeFlow=void 0}}function tT(r,e,t){return ve(r,r.attempt(this.parser.constructs.document,e,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function GO(r){if(r===null||Dt(r)||GD(r))return 1;if(_D(r))return 2}function fm(r,e,t){const i=[];let n=-1;for(;++n1&&r[t][1].end.offset-r[t][1].start.offset>1?2:1;const h=Object.assign({},r[i][1].end),d=Object.assign({},r[t][1].start);HO(h,-l),HO(d,l),o={type:l>1?"strongSequence":"emphasisSequence",start:h,end:Object.assign({},r[i][1].end)},a={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},r[t][1].start),end:d},s={type:l>1?"strongText":"emphasisText",start:Object.assign({},r[i][1].end),end:Object.assign({},r[t][1].start)},n={type:l>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},a.end)},r[i][1].end=Object.assign({},o.start),r[t][1].start=Object.assign({},a.end),c=[],r[i][1].end.offset-r[i][1].start.offset&&(c=Gt(c,[["enter",r[i][1],e],["exit",r[i][1],e]])),c=Gt(c,[["enter",n,e],["enter",o,e],["exit",o,e],["enter",s,e]]),c=Gt(c,fm(e.parser.constructs.insideSpan.null,r.slice(i+1,t),e)),c=Gt(c,[["exit",s,e],["enter",a,e],["exit",a,e],["exit",n,e]]),r[t][1].end.offset-r[t][1].start.offset?(u=2,c=Gt(c,[["enter",r[t][1],e],["exit",r[t][1],e]])):u=0,Kr(r,i-1,t-i+3,c),t=i+c.length-u-2;break}}for(t=-1;++t",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:` +`,Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:" ",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},hT={}.hasOwnProperty;function pm(r){return hT.call(KO,r)?KO[r]:!1}const iv={name:"characterReference",tokenize:dT};function dT(r,e,t){const i=this;let n=0,s,o;return a;function a(h){return r.enter("characterReference"),r.enter("characterReferenceMarker"),r.consume(h),r.exit("characterReferenceMarker"),l}function l(h){return h===35?(r.enter("characterReferenceMarkerNumeric"),r.consume(h),r.exit("characterReferenceMarkerNumeric"),c):(r.enter("characterReferenceValue"),s=31,o=Or,u(h))}function c(h){return h===88||h===120?(r.enter("characterReferenceMarkerHexadecimal"),r.consume(h),r.exit("characterReferenceMarkerHexadecimal"),r.enter("characterReferenceValue"),s=6,o=jD,u):(r.enter("characterReferenceValue"),s=7,o=df,u(h))}function u(h){if(h===59&&n){const d=r.exit("characterReferenceValue");return o===Or&&!pm(i.sliceSerialize(d))?t(h):(r.enter("characterReferenceMarker"),r.consume(h),r.exit("characterReferenceMarker"),r.exit("characterReference"),e)}return o(h)&&n++0&&fe(b)?ve(r,w,"linePrefix",s+1)(b):w(b)}function w(b){return b===null||H(b)?r.check(JO,m,C)(b):(r.enter("codeFlowValue"),v(b))}function v(b){return b===null||H(b)?(r.exit("codeFlowValue"),w(b)):(r.consume(b),v)}function C(b){return r.exit("codeFenced"),e(b)}function Q(b,x,R){let P=0;return B;function B($){return b.enter("lineEnding"),b.consume($),b.exit("lineEnding"),E}function E($){return b.enter("codeFencedFence"),fe($)?ve(b,A,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)($):A($)}function A($){return $===a?(b.enter("codeFencedFenceSequence"),z($)):R($)}function z($){return $===a?(P++,b.consume($),z):P>=o?(b.exit("codeFencedFenceSequence"),fe($)?ve(b,X,"whitespace")($):X($)):R($)}function X($){return $===null||H($)?(b.exit("codeFencedFence"),x($)):R($)}}}function pT(r,e,t){const i=this;return n;function n(o){return o===null?t(o):(r.enter("lineEnding"),r.consume(o),r.exit("lineEnding"),s)}function s(o){return i.parser.lazy[i.now().line]?t(o):e(o)}}const Mh={name:"codeIndented",tokenize:gT},mT={tokenize:OT,partial:!0};function gT(r,e,t){const i=this;return n;function n(c){return r.enter("codeIndented"),ve(r,s,"linePrefix",5)(c)}function s(c){const u=i.events[i.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?o(c):t(c)}function o(c){return c===null?l(c):H(c)?r.attempt(mT,o,l)(c):(r.enter("codeFlowValue"),a(c))}function a(c){return c===null||H(c)?(r.exit("codeFlowValue"),o(c)):(r.consume(c),a)}function l(c){return r.exit("codeIndented"),e(c)}}function OT(r,e,t){const i=this;return n;function n(o){return i.parser.lazy[i.now().line]?t(o):H(o)?(r.enter("lineEnding"),r.consume(o),r.exit("lineEnding"),n):ve(r,s,"linePrefix",5)(o)}function s(o){const a=i.events[i.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?e(o):H(o)?n(o):t(o)}}const yT={name:"codeText",tokenize:vT,resolve:bT,previous:wT};function bT(r){let e=r.length-4,t=3,i,n;if((r[t][1].type==="lineEnding"||r[t][1].type==="space")&&(r[e][1].type==="lineEnding"||r[e][1].type==="space")){for(i=t;++i=4?e(o):r.interrupt(i.parser.constructs.flow,t,e)(o)}}function sv(r,e,t,i,n,s,o,a,l){const c=l||Number.POSITIVE_INFINITY;let u=0;return h;function h(O){return O===60?(r.enter(i),r.enter(n),r.enter(s),r.consume(O),r.exit(s),d):O===null||O===32||O===41||hf(O)?t(O):(r.enter(i),r.enter(o),r.enter(a),r.enter("chunkString",{contentType:"string"}),m(O))}function d(O){return O===62?(r.enter(s),r.consume(O),r.exit(s),r.exit(n),r.exit(i),e):(r.enter(a),r.enter("chunkString",{contentType:"string"}),f(O))}function f(O){return O===62?(r.exit("chunkString"),r.exit(a),d(O)):O===null||O===60||H(O)?t(O):(r.consume(O),O===92?p:f)}function p(O){return O===60||O===62||O===92?(r.consume(O),f):f(O)}function m(O){return!u&&(O===null||O===41||Dt(O))?(r.exit("chunkString"),r.exit(a),r.exit(o),r.exit(i),e(O)):u999||f===null||f===91||f===93&&!l||f===94&&!a&&"_hiddenFootnoteSupport"in o.parser.constructs?t(f):f===93?(r.exit(s),r.enter(n),r.consume(f),r.exit(n),r.exit(i),e):H(f)?(r.enter("lineEnding"),r.consume(f),r.exit("lineEnding"),u):(r.enter("chunkString",{contentType:"string"}),h(f))}function h(f){return f===null||f===91||f===93||H(f)||a++>999?(r.exit("chunkString"),u(f)):(r.consume(f),l||(l=!fe(f)),f===92?d:h)}function d(f){return f===91||f===92||f===93?(r.consume(f),a++,h):h(f)}}function av(r,e,t,i,n,s){let o;return a;function a(d){return d===34||d===39||d===40?(r.enter(i),r.enter(n),r.consume(d),r.exit(n),o=d===40?41:d,l):t(d)}function l(d){return d===o?(r.enter(n),r.consume(d),r.exit(n),r.exit(i),e):(r.enter(s),c(d))}function c(d){return d===o?(r.exit(s),l(o)):d===null?t(d):H(d)?(r.enter("lineEnding"),r.consume(d),r.exit("lineEnding"),ve(r,c,"linePrefix")):(r.enter("chunkString",{contentType:"string"}),u(d))}function u(d){return d===o||d===null||H(d)?(r.exit("chunkString"),c(d)):(r.consume(d),d===92?h:u)}function h(d){return d===o||d===92?(r.consume(d),u):u(d)}}function pa(r,e){let t;return i;function i(n){return H(n)?(r.enter("lineEnding"),r.consume(n),r.exit("lineEnding"),t=!0,i):fe(n)?ve(r,i,t?"linePrefix":"lineSuffix")(n):e(n)}}function Fs(r){return r.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const AT={name:"definition",tokenize:TT},DT={tokenize:PT,partial:!0};function TT(r,e,t){const i=this;let n;return s;function s(f){return r.enter("definition"),o(f)}function o(f){return ov.call(i,r,a,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(f)}function a(f){return n=Fs(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),f===58?(r.enter("definitionMarker"),r.consume(f),r.exit("definitionMarker"),l):t(f)}function l(f){return Dt(f)?pa(r,c)(f):c(f)}function c(f){return sv(r,u,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(f)}function u(f){return r.attempt(DT,h,h)(f)}function h(f){return fe(f)?ve(r,d,"whitespace")(f):d(f)}function d(f){return f===null||H(f)?(r.exit("definition"),i.parser.defined.push(n),e(f)):t(f)}}function PT(r,e,t){return i;function i(a){return Dt(a)?pa(r,n)(a):t(a)}function n(a){return av(r,s,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function s(a){return fe(a)?ve(r,o,"whitespace")(a):o(a)}function o(a){return a===null||H(a)?e(a):t(a)}}const ET={name:"hardBreakEscape",tokenize:MT};function MT(r,e,t){return i;function i(s){return r.enter("hardBreakEscape"),r.consume(s),n}function n(s){return H(s)?(r.exit("hardBreakEscape"),e(s)):t(s)}}const RT={name:"headingAtx",tokenize:NT,resolve:ZT};function ZT(r,e){let t=r.length-2,i=3,n,s;return r[i][1].type==="whitespace"&&(i+=2),t-2>i&&r[t][1].type==="whitespace"&&(t-=2),r[t][1].type==="atxHeadingSequence"&&(i===t-1||t-4>i&&r[t-2][1].type==="whitespace")&&(t-=i+1===t?2:4),t>i&&(n={type:"atxHeadingText",start:r[i][1].start,end:r[t][1].end},s={type:"chunkText",start:r[i][1].start,end:r[t][1].end,contentType:"text"},Kr(r,i,t-i+1,[["enter",n,e],["enter",s,e],["exit",s,e],["exit",n,e]])),r}function NT(r,e,t){let i=0;return n;function n(u){return r.enter("atxHeading"),s(u)}function s(u){return r.enter("atxHeadingSequence"),o(u)}function o(u){return u===35&&i++<6?(r.consume(u),o):u===null||Dt(u)?(r.exit("atxHeadingSequence"),a(u)):t(u)}function a(u){return u===35?(r.enter("atxHeadingSequence"),l(u)):u===null||H(u)?(r.exit("atxHeading"),e(u)):fe(u)?ve(r,a,"whitespace")(u):(r.enter("atxHeadingText"),c(u))}function l(u){return u===35?(r.consume(u),l):(r.exit("atxHeadingSequence"),a(u))}function c(u){return u===null||u===35||Dt(u)?(r.exit("atxHeadingText"),a(u)):(r.consume(u),c)}}const FT=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ty=["pre","script","style","textarea"],IT={name:"htmlFlow",tokenize:XT,resolveTo:LT,concrete:!0},BT={tokenize:VT,partial:!0},qT={tokenize:YT,partial:!0};function LT(r){let e=r.length;for(;e--&&!(r[e][0]==="enter"&&r[e][1].type==="htmlFlow"););return e>1&&r[e-2][1].type==="linePrefix"&&(r[e][1].start=r[e-2][1].start,r[e+1][1].start=r[e-2][1].start,r.splice(e-2,2)),r}function XT(r,e,t){const i=this;let n,s,o,a,l;return c;function c(S){return u(S)}function u(S){return r.enter("htmlFlow"),r.enter("htmlFlowData"),r.consume(S),h}function h(S){return S===33?(r.consume(S),d):S===47?(r.consume(S),s=!0,m):S===63?(r.consume(S),n=3,i.interrupt?e:k):Ir(S)?(r.consume(S),o=String.fromCharCode(S),g):t(S)}function d(S){return S===45?(r.consume(S),n=2,f):S===91?(r.consume(S),n=5,a=0,p):Ir(S)?(r.consume(S),n=4,i.interrupt?e:k):t(S)}function f(S){return S===45?(r.consume(S),i.interrupt?e:k):t(S)}function p(S){const Ue="CDATA[";return S===Ue.charCodeAt(a++)?(r.consume(S),a===Ue.length?i.interrupt?e:A:p):t(S)}function m(S){return Ir(S)?(r.consume(S),o=String.fromCharCode(S),g):t(S)}function g(S){if(S===null||S===47||S===62||Dt(S)){const Ue=S===47,ur=o.toLowerCase();return!Ue&&!s&&ty.includes(ur)?(n=1,i.interrupt?e(S):A(S)):FT.includes(o.toLowerCase())?(n=6,Ue?(r.consume(S),O):i.interrupt?e(S):A(S)):(n=7,i.interrupt&&!i.parser.lazy[i.now().line]?t(S):s?w(S):v(S))}return S===45||Or(S)?(r.consume(S),o+=String.fromCharCode(S),g):t(S)}function O(S){return S===62?(r.consume(S),i.interrupt?e:A):t(S)}function w(S){return fe(S)?(r.consume(S),w):B(S)}function v(S){return S===47?(r.consume(S),B):S===58||S===95||Ir(S)?(r.consume(S),C):fe(S)?(r.consume(S),v):B(S)}function C(S){return S===45||S===46||S===58||S===95||Or(S)?(r.consume(S),C):Q(S)}function Q(S){return S===61?(r.consume(S),b):fe(S)?(r.consume(S),Q):v(S)}function b(S){return S===null||S===60||S===61||S===62||S===96?t(S):S===34||S===39?(r.consume(S),l=S,x):fe(S)?(r.consume(S),b):R(S)}function x(S){return S===l?(r.consume(S),l=null,P):S===null||H(S)?t(S):(r.consume(S),x)}function R(S){return S===null||S===34||S===39||S===47||S===60||S===61||S===62||S===96||Dt(S)?Q(S):(r.consume(S),R)}function P(S){return S===47||S===62||fe(S)?v(S):t(S)}function B(S){return S===62?(r.consume(S),E):t(S)}function E(S){return S===null||H(S)?A(S):fe(S)?(r.consume(S),E):t(S)}function A(S){return S===45&&n===2?(r.consume(S),te):S===60&&n===1?(r.consume(S),le):S===62&&n===4?(r.consume(S),De):S===63&&n===3?(r.consume(S),k):S===93&&n===5?(r.consume(S),Ee):H(S)&&(n===6||n===7)?(r.exit("htmlFlowData"),r.check(BT,qe,z)(S)):S===null||H(S)?(r.exit("htmlFlowData"),z(S)):(r.consume(S),A)}function z(S){return r.check(qT,X,qe)(S)}function X(S){return r.enter("lineEnding"),r.consume(S),r.exit("lineEnding"),$}function $(S){return S===null||H(S)?z(S):(r.enter("htmlFlowData"),A(S))}function te(S){return S===45?(r.consume(S),k):A(S)}function le(S){return S===47?(r.consume(S),o="",xe):A(S)}function xe(S){if(S===62){const Ue=o.toLowerCase();return ty.includes(Ue)?(r.consume(S),De):A(S)}return Ir(S)&&o.length<8?(r.consume(S),o+=String.fromCharCode(S),xe):A(S)}function Ee(S){return S===93?(r.consume(S),k):A(S)}function k(S){return S===62?(r.consume(S),De):S===45&&n===2?(r.consume(S),k):A(S)}function De(S){return S===null||H(S)?(r.exit("htmlFlowData"),qe(S)):(r.consume(S),De)}function qe(S){return r.exit("htmlFlow"),e(S)}}function YT(r,e,t){const i=this;return n;function n(o){return H(o)?(r.enter("lineEnding"),r.consume(o),r.exit("lineEnding"),s):t(o)}function s(o){return i.parser.lazy[i.now().line]?t(o):e(o)}}function VT(r,e,t){return i;function i(n){return r.enter("lineEnding"),r.consume(n),r.exit("lineEnding"),r.attempt(Zu,e,t)}}const zT={name:"htmlText",tokenize:WT};function WT(r,e,t){const i=this;let n,s,o;return a;function a(k){return r.enter("htmlText"),r.enter("htmlTextData"),r.consume(k),l}function l(k){return k===33?(r.consume(k),c):k===47?(r.consume(k),Q):k===63?(r.consume(k),v):Ir(k)?(r.consume(k),R):t(k)}function c(k){return k===45?(r.consume(k),u):k===91?(r.consume(k),s=0,p):Ir(k)?(r.consume(k),w):t(k)}function u(k){return k===45?(r.consume(k),f):t(k)}function h(k){return k===null?t(k):k===45?(r.consume(k),d):H(k)?(o=h,le(k)):(r.consume(k),h)}function d(k){return k===45?(r.consume(k),f):h(k)}function f(k){return k===62?te(k):k===45?d(k):h(k)}function p(k){const De="CDATA[";return k===De.charCodeAt(s++)?(r.consume(k),s===De.length?m:p):t(k)}function m(k){return k===null?t(k):k===93?(r.consume(k),g):H(k)?(o=m,le(k)):(r.consume(k),m)}function g(k){return k===93?(r.consume(k),O):m(k)}function O(k){return k===62?te(k):k===93?(r.consume(k),O):m(k)}function w(k){return k===null||k===62?te(k):H(k)?(o=w,le(k)):(r.consume(k),w)}function v(k){return k===null?t(k):k===63?(r.consume(k),C):H(k)?(o=v,le(k)):(r.consume(k),v)}function C(k){return k===62?te(k):v(k)}function Q(k){return Ir(k)?(r.consume(k),b):t(k)}function b(k){return k===45||Or(k)?(r.consume(k),b):x(k)}function x(k){return H(k)?(o=x,le(k)):fe(k)?(r.consume(k),x):te(k)}function R(k){return k===45||Or(k)?(r.consume(k),R):k===47||k===62||Dt(k)?P(k):t(k)}function P(k){return k===47?(r.consume(k),te):k===58||k===95||Ir(k)?(r.consume(k),B):H(k)?(o=P,le(k)):fe(k)?(r.consume(k),P):te(k)}function B(k){return k===45||k===46||k===58||k===95||Or(k)?(r.consume(k),B):E(k)}function E(k){return k===61?(r.consume(k),A):H(k)?(o=E,le(k)):fe(k)?(r.consume(k),E):P(k)}function A(k){return k===null||k===60||k===61||k===62||k===96?t(k):k===34||k===39?(r.consume(k),n=k,z):H(k)?(o=A,le(k)):fe(k)?(r.consume(k),A):(r.consume(k),X)}function z(k){return k===n?(r.consume(k),n=void 0,$):k===null?t(k):H(k)?(o=z,le(k)):(r.consume(k),z)}function X(k){return k===null||k===34||k===39||k===60||k===61||k===96?t(k):k===47||k===62||Dt(k)?P(k):(r.consume(k),X)}function $(k){return k===47||k===62||Dt(k)?P(k):t(k)}function te(k){return k===62?(r.consume(k),r.exit("htmlTextData"),r.exit("htmlText"),e):t(k)}function le(k){return r.exit("htmlTextData"),r.enter("lineEnding"),r.consume(k),r.exit("lineEnding"),xe}function xe(k){return fe(k)?ve(r,Ee,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(k):Ee(k)}function Ee(k){return r.enter("htmlTextData"),o(k)}}const mm={name:"labelEnd",tokenize:KT,resolveTo:HT,resolveAll:GT},jT={tokenize:JT},UT={tokenize:eP},_T={tokenize:tP};function GT(r){let e=-1;for(;++e=3&&(c===null||H(c))?(r.exit("thematicBreak"),e(c)):t(c)}function l(c){return c===n?(r.consume(c),i++,l):(r.exit("thematicBreakSequence"),fe(c)?ve(r,a,"whitespace")(c):a(c))}}const Ct={name:"list",tokenize:uP,continuation:{tokenize:hP},exit:fP},lP={tokenize:pP,partial:!0},cP={tokenize:dP,partial:!0};function uP(r,e,t){const i=this,n=i.events[i.events.length-1];let s=n&&n[1].type==="linePrefix"?n[2].sliceSerialize(n[1],!0).length:0,o=0;return a;function a(f){const p=i.containerState.type||(f===42||f===43||f===45?"listUnordered":"listOrdered");if(p==="listUnordered"?!i.containerState.marker||f===i.containerState.marker:df(f)){if(i.containerState.type||(i.containerState.type=p,r.enter(p,{_container:!0})),p==="listUnordered")return r.enter("listItemPrefix"),f===42||f===45?r.check(sc,t,c)(f):c(f);if(!i.interrupt||f===49)return r.enter("listItemPrefix"),r.enter("listItemValue"),l(f)}return t(f)}function l(f){return df(f)&&++o<10?(r.consume(f),l):(!i.interrupt||o<2)&&(i.containerState.marker?f===i.containerState.marker:f===41||f===46)?(r.exit("listItemValue"),c(f)):t(f)}function c(f){return r.enter("listItemMarker"),r.consume(f),r.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||f,r.check(Zu,i.interrupt?t:u,r.attempt(lP,d,h))}function u(f){return i.containerState.initialBlankLine=!0,s++,d(f)}function h(f){return fe(f)?(r.enter("listItemPrefixWhitespace"),r.consume(f),r.exit("listItemPrefixWhitespace"),d):t(f)}function d(f){return i.containerState.size=s+i.sliceSerialize(r.exit("listItemPrefix"),!0).length,e(f)}}function hP(r,e,t){const i=this;return i.containerState._closeFlow=void 0,r.check(Zu,n,s);function n(a){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,ve(r,e,"listItemIndent",i.containerState.size+1)(a)}function s(a){return i.containerState.furtherBlankLines||!fe(a)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,o(a)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,r.attempt(cP,e,o)(a))}function o(a){return i.containerState._closeFlow=!0,i.interrupt=void 0,ve(r,r.attempt(Ct,e,t),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function dP(r,e,t){const i=this;return ve(r,n,"listItemIndent",i.containerState.size+1);function n(s){const o=i.events[i.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===i.containerState.size?e(s):t(s)}}function fP(r){r.exit(this.containerState.type)}function pP(r,e,t){const i=this;return ve(r,n,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function n(s){const o=i.events[i.events.length-1];return!fe(s)&&o&&o[1].type==="listItemPrefixWhitespace"?e(s):t(s)}}const ry={name:"setextUnderline",tokenize:gP,resolveTo:mP};function mP(r,e){let t=r.length,i,n,s;for(;t--;)if(r[t][0]==="enter"){if(r[t][1].type==="content"){i=t;break}r[t][1].type==="paragraph"&&(n=t)}else r[t][1].type==="content"&&r.splice(t,1),!s&&r[t][1].type==="definition"&&(s=t);const o={type:"setextHeading",start:Object.assign({},r[n][1].start),end:Object.assign({},r[r.length-1][1].end)};return r[n][1].type="setextHeadingText",s?(r.splice(n,0,["enter",o,e]),r.splice(s+1,0,["exit",r[i][1],e]),r[i][1].end=Object.assign({},r[s][1].end)):r[i][1]=o,r.push(["exit",o,e]),r}function gP(r,e,t){const i=this;let n;return s;function s(c){let u=i.events.length,h;for(;u--;)if(i.events[u][1].type!=="lineEnding"&&i.events[u][1].type!=="linePrefix"&&i.events[u][1].type!=="content"){h=i.events[u][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||h)?(r.enter("setextHeadingLine"),n=c,o(c)):t(c)}function o(c){return r.enter("setextHeadingLineSequence"),a(c)}function a(c){return c===n?(r.consume(c),a):(r.exit("setextHeadingLineSequence"),fe(c)?ve(r,l,"lineSuffix")(c):l(c))}function l(c){return c===null||H(c)?(r.exit("setextHeadingLine"),e(c)):t(c)}}const OP={tokenize:yP};function yP(r){const e=this,t=r.attempt(Zu,i,r.attempt(this.parser.constructs.flowInitial,n,ve(r,r.attempt(this.parser.constructs.flow,n,r.attempt(xT,n)),"linePrefix")));return t;function i(s){if(s===null){r.consume(s);return}return r.enter("lineEndingBlank"),r.consume(s),r.exit("lineEndingBlank"),e.currentConstruct=void 0,t}function n(s){if(s===null){r.consume(s);return}return r.enter("lineEnding"),r.consume(s),r.exit("lineEnding"),e.currentConstruct=void 0,t}}const bP={resolveAll:cv()},wP=lv("string"),vP=lv("text");function lv(r){return{tokenize:e,resolveAll:cv(r==="text"?kP:void 0)};function e(t){const i=this,n=this.parser.constructs[r],s=t.attempt(n,o,a);return o;function o(u){return c(u)?s(u):a(u)}function a(u){if(u===null){t.consume(u);return}return t.enter("data"),t.consume(u),l}function l(u){return c(u)?(t.exit("data"),s(u)):(t.consume(u),l)}function c(u){if(u===null)return!0;const h=n[u];let d=-1;if(h)for(;++d-1){const a=o[0];typeof a=="string"?o[0]=a.slice(i):o.shift()}s>0&&o.push(r[n].slice(0,s))}return o}function CP(r,e){let t=-1;const i=[];let n;for(;++t13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCharCode(t)}const BP=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function hv(r){return r.replace(BP,qP)}function qP(r,e,t){if(e)return e;if(t.charCodeAt(0)===35){const i=t.charCodeAt(1),n=i===120||i===88;return uv(t.slice(n?2:1),n?16:10)}return pm(t)||r}function ma(r){return!r||typeof r!="object"?"":"position"in r||"type"in r?ny(r.position):"start"in r||"end"in r?ny(r):"line"in r||"column"in r?pf(r):""}function pf(r){return sy(r&&r.line)+":"+sy(r&&r.column)}function ny(r){return pf(r&&r.start)+"-"+pf(r&&r.end)}function sy(r){return r&&typeof r=="number"?r:1}const dv={}.hasOwnProperty,LP=function(r,e,t){return typeof e!="string"&&(t=e,e=void 0),XP(t)(IP(NP(t).document().write(FP()(r,e,!0))))};function XP(r){const e={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(FO),autolinkProtocol:E,autolinkEmail:E,atxHeading:a(RO),blockQuote:a(Ch),characterEscape:E,characterReference:E,codeFenced:a(MO),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:a(MO,l),codeText:a(FA,l),codeTextData:E,data:E,codeFlowValue:E,definition:a(IA),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:a(BA),hardBreakEscape:a(ZO),hardBreakTrailing:a(ZO),htmlFlow:a(NO,l),htmlFlowData:E,htmlText:a(NO,l),htmlTextData:E,image:a(qA),label:l,link:a(FO),listItem:a(LA),listItemValue:p,listOrdered:a(IO,f),listUnordered:a(IO),paragraph:a(XA),reference:ur,referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:a(RO),strong:a(YA),thematicBreak:a(zA)},exit:{atxHeading:u(),atxHeadingSequence:x,autolink:u(),autolinkEmail:Os,autolinkProtocol:gs,blockQuote:u(),characterEscapeValue:A,characterReferenceMarkerHexadecimal:ms,characterReferenceMarkerNumeric:ms,characterReferenceValue:Ai,codeFenced:u(w),codeFencedFence:O,codeFencedFenceInfo:m,codeFencedFenceMeta:g,codeFlowValue:A,codeIndented:u(v),codeText:u(le),codeTextData:A,data:A,definition:u(),definitionDestinationString:b,definitionLabelString:C,definitionTitleString:Q,emphasis:u(),hardBreakEscape:u(X),hardBreakTrailing:u(X),htmlFlow:u($),htmlFlowData:A,htmlText:u(te),htmlTextData:A,image:u(Ee),label:De,labelText:k,lineEnding:z,link:u(xe),listItem:u(),listOrdered:u(),listUnordered:u(),paragraph:u(),referenceString:Le,resourceDestinationString:qe,resourceTitleString:S,resource:Ue,setextHeading:u(B),setextHeadingLineSequence:P,setextHeadingText:R,strong:u(),thematicBreak:u()}};fv(e,(r||{}).mdastExtensions||[]);const t={};return i;function i(T){let F={type:"root",children:[]};const G={stack:[F],tokenStack:[],config:e,enter:c,exit:h,buffer:l,resume:d,setData:s,getData:o},me=[];let ye=-1;for(;++ye0){const Tr=G.tokenStack[G.tokenStack.length-1];(Tr[1]||oy).call(G,void 0,Tr[0])}for(F.position={start:Di(T.length>0?T[0][1].start:{line:1,column:1,offset:0}),end:Di(T.length>0?T[T.length-2][1].end:{line:1,column:1,offset:0})},ye=-1;++ye{const t=this.data("settings");return LP(e,Object.assign({},t,r,{extensions:this.data("micromarkExtensions")||[],mdastExtensions:this.data("fromMarkdownExtensions")||[]}))}})}const ay={}.hasOwnProperty;function VP(r,e){const t=e||{};function i(n,...s){let o=i.invalid;const a=i.handlers;if(n&&ay.call(n,r)){const l=String(n[r]);o=ay.call(a,l)?a[l]:i.unknown}if(o)return o.call(this,n,...s)}return i.handlers=t.handlers||{},i.invalid=t.invalid,i.unknown=t.unknown,i}function oc(r,e){let t=-1,i;if(e.extensions)for(;++t "),s.shift(2);const o=t.indentLines(t.containerFlow(r,s.current()),WP);return n(),o}function WP(r,e,t){return">"+(t?"":" ")+r}function pv(r,e){return ly(r,e.inConstruct,!0)&&!ly(r,e.notInConstruct,!1)}function ly(r,e,t){if(typeof e=="string"&&(e=[e]),!e||e.length===0)return t;let i=-1;for(;++io&&(o=s):s=1,n=i+e.length,i=t.indexOf(e,n);return o}function gf(r,e){return!!(!e.options.fences&&r.value&&!r.lang&&/[^ \r\n]/.test(r.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(r.value))}function UP(r){const e=r.options.fence||"`";if(e!=="`"&&e!=="~")throw new Error("Cannot serialize code with `"+e+"` for `options.fence`, expected `` ` `` or `~`");return e}function _P(r,e,t,i){const n=UP(t),s=r.value||"",o=n==="`"?"GraveAccent":"Tilde";if(gf(r,t)){const h=t.enter("codeIndented"),d=t.indentLines(s,GP);return h(),d}const a=t.createTracker(i),l=n.repeat(Math.max(jP(s,n)+1,3)),c=t.enter("codeFenced");let u=a.move(l);if(r.lang){const h=t.enter(`codeFencedLang${o}`);u+=a.move(t.safe(r.lang,{before:u,after:" ",encode:["`"],...a.current()})),h()}if(r.lang&&r.meta){const h=t.enter(`codeFencedMeta${o}`);u+=a.move(" "),u+=a.move(t.safe(r.meta,{before:u,after:` +`,encode:["`"],...a.current()})),h()}return u+=a.move(` +`),s&&(u+=a.move(s+` +`)),u+=a.move(l),c(),u}function GP(r,e,t){return(t?"":" ")+r}function gm(r){const e=r.options.quote||'"';if(e!=='"'&&e!=="'")throw new Error("Cannot serialize title with `"+e+"` for `options.quote`, expected `\"`, or `'`");return e}function HP(r,e,t,i){const n=gm(t),s=n==='"'?"Quote":"Apostrophe",o=t.enter("definition");let a=t.enter("label");const l=t.createTracker(i);let c=l.move("[");return c+=l.move(t.safe(t.associationId(r),{before:c,after:"]",...l.current()})),c+=l.move("]: "),a(),!r.url||/[\0- \u007F]/.test(r.url)?(a=t.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(t.safe(r.url,{before:c,after:">",...l.current()})),c+=l.move(">")):(a=t.enter("destinationRaw"),c+=l.move(t.safe(r.url,{before:c,after:r.title?" ":` +`,...l.current()}))),a(),r.title&&(a=t.enter(`title${s}`),c+=l.move(" "+n),c+=l.move(t.safe(r.title,{before:c,after:n,...l.current()})),c+=l.move(n),a()),o(),c}function KP(r){const e=r.options.emphasis||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize emphasis with `"+e+"` for `options.emphasis`, expected `*`, or `_`");return e}mv.peek=JP;function mv(r,e,t,i){const n=KP(t),s=t.enter("emphasis"),o=t.createTracker(i);let a=o.move(n);return a+=o.move(t.containerPhrasing(r,{before:a,after:n,...o.current()})),a+=o.move(n),s(),a}function JP(r,e,t){return t.options.emphasis||"*"}const Om=function(r){if(r==null)return iE;if(typeof r=="string")return rE(r);if(typeof r=="object")return Array.isArray(r)?eE(r):tE(r);if(typeof r=="function")return Nu(r);throw new Error("Expected function, string, or object as test")};function eE(r){const e=[];let t=-1;for(;++t":""))+")"})}return h;function h(){let d=[],f,p,m;if((!e||n(a,l,c[c.length-1]||null))&&(d=oE(t(a,c)),d[0]===Of))return d;if(a.children&&d[0]!==yf)for(p=(i?a.children.length:-1)+s,m=c.concat(a);p>-1&&p{if("value"in i&&/\r?\n|\r/.test(i.value)||i.type==="break")return t=!0,Of}),!!((!r.depth||r.depth<3)&&dm(r)&&(e.options.setext||t))}function aE(r,e,t,i){const n=Math.max(Math.min(6,r.depth||1),1),s=t.createTracker(i);if(gv(r,t)){const u=t.enter("headingSetext"),h=t.enter("phrasing"),d=t.containerPhrasing(r,{...s.current(),before:` +`,after:` +`});return h(),u(),d+` +`+(n===1?"=":"-").repeat(d.length-(Math.max(d.lastIndexOf("\r"),d.lastIndexOf(` +`))+1))}const o="#".repeat(n),a=t.enter("headingAtx"),l=t.enter("phrasing");s.move(o+" ");let c=t.containerPhrasing(r,{before:"# ",after:` +`,...s.current()});return/^[\t ]/.test(c)&&(c="&#x"+c.charCodeAt(0).toString(16).toUpperCase()+";"+c.slice(1)),c=c?o+" "+c:o,t.options.closeAtx&&(c+=" "+o),l(),a(),c}Ov.peek=lE;function Ov(r){return r.value||""}function lE(){return"<"}yv.peek=cE;function yv(r,e,t,i){const n=gm(t),s=n==='"'?"Quote":"Apostrophe",o=t.enter("image");let a=t.enter("label");const l=t.createTracker(i);let c=l.move("![");return c+=l.move(t.safe(r.alt,{before:c,after:"]",...l.current()})),c+=l.move("]("),a(),!r.url&&r.title||/[\0- \u007F]/.test(r.url)?(a=t.enter("destinationLiteral"),c+=l.move("<"),c+=l.move(t.safe(r.url,{before:c,after:">",...l.current()})),c+=l.move(">")):(a=t.enter("destinationRaw"),c+=l.move(t.safe(r.url,{before:c,after:r.title?" ":")",...l.current()}))),a(),r.title&&(a=t.enter(`title${s}`),c+=l.move(" "+n),c+=l.move(t.safe(r.title,{before:c,after:n,...l.current()})),c+=l.move(n),a()),c+=l.move(")"),o(),c}function cE(){return"!"}bv.peek=uE;function bv(r,e,t,i){const n=r.referenceType,s=t.enter("imageReference");let o=t.enter("label");const a=t.createTracker(i);let l=a.move("![");const c=t.safe(r.alt,{before:l,after:"]",...a.current()});l+=a.move(c+"]["),o();const u=t.stack;t.stack=[],o=t.enter("reference");const h=t.safe(t.associationId(r),{before:l,after:"]",...a.current()});return o(),t.stack=u,s(),n==="full"||!c||c!==h?l+=a.move(h+"]"):n==="shortcut"?l=l.slice(0,-1):l+=a.move("]"),l}function uE(){return"!"}function wv(r){if(!r._compiled){const e=(r.atBreak?"[\\r\\n][\\t ]*":"")+(r.before?"(?:"+r.before+")":"");r._compiled=new RegExp((e?"("+e+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(r.character)?"\\":"")+r.character+(r.after?"(?:"+r.after+")":""),"g")}return r._compiled}vv.peek=hE;function vv(r,e,t){let i=r.value||"",n="`",s=-1;for(;new RegExp("(^|[^`])"+n+"([^`]|$)").test(i);)n+="`";for(/[^ \r\n]/.test(i)&&(/^[ \r\n]/.test(i)&&/[ \r\n]$/.test(i)||/^`|`$/.test(i))&&(i=" "+i+" ");++s\u007F]/.test(r.url))}xv.peek=dE;function xv(r,e,t,i){const n=gm(t),s=n==='"'?"Quote":"Apostrophe",o=t.createTracker(i);let a,l;if(kv(r,t)){const u=t.stack;t.stack=[],a=t.enter("autolink");let h=o.move("<");return h+=o.move(t.containerPhrasing(r,{before:h,after:">",...o.current()})),h+=o.move(">"),a(),t.stack=u,h}a=t.enter("link"),l=t.enter("label");let c=o.move("[");return c+=o.move(t.containerPhrasing(r,{before:c,after:"](",...o.current()})),c+=o.move("]("),l(),!r.url&&r.title||/[\0- \u007F]/.test(r.url)?(l=t.enter("destinationLiteral"),c+=o.move("<"),c+=o.move(t.safe(r.url,{before:c,after:">",...o.current()})),c+=o.move(">")):(l=t.enter("destinationRaw"),c+=o.move(t.safe(r.url,{before:c,after:r.title?" ":")",...o.current()}))),l(),r.title&&(l=t.enter(`title${s}`),c+=o.move(" "+n),c+=o.move(t.safe(r.title,{before:c,after:n,...o.current()})),c+=o.move(n),l()),c+=o.move(")"),a(),c}function dE(r,e,t){return kv(r,t)?"<":"["}Sv.peek=fE;function Sv(r,e,t,i){const n=r.referenceType,s=t.enter("linkReference");let o=t.enter("label");const a=t.createTracker(i);let l=a.move("[");const c=t.containerPhrasing(r,{before:l,after:"]",...a.current()});l+=a.move(c+"]["),o();const u=t.stack;t.stack=[],o=t.enter("reference");const h=t.safe(t.associationId(r),{before:l,after:"]",...a.current()});return o(),t.stack=u,s(),n==="full"||!c||c!==h?l+=a.move(h+"]"):n==="shortcut"?l=l.slice(0,-1):l+=a.move("]"),l}function fE(){return"["}function ym(r){const e=r.options.bullet||"*";if(e!=="*"&&e!=="+"&&e!=="-")throw new Error("Cannot serialize items with `"+e+"` for `options.bullet`, expected `*`, `+`, or `-`");return e}function pE(r){const e=ym(r),t=r.options.bulletOther;if(!t)return e==="*"?"-":"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(t===e)throw new Error("Expected `bullet` (`"+e+"`) and `bulletOther` (`"+t+"`) to be different");return t}function Cv(r){const e=r.options.bulletOrdered||".";if(e!=="."&&e!==")")throw new Error("Cannot serialize items with `"+e+"` for `options.bulletOrdered`, expected `.` or `)`");return e}function mE(r){const e=Cv(r),t=r.options.bulletOrderedOther;if(!t)return e==="."?")":".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrderedOther`, expected `*`, `+`, or `-`");if(t===e)throw new Error("Expected `bulletOrdered` (`"+e+"`) and `bulletOrderedOther` (`"+t+"`) to be different");return t}function Qv(r){const e=r.options.rule||"*";if(e!=="*"&&e!=="-"&&e!=="_")throw new Error("Cannot serialize rules with `"+e+"` for `options.rule`, expected `*`, `-`, or `_`");return e}function gE(r,e,t,i){const n=t.enter("list"),s=t.bulletCurrent;let o=r.ordered?Cv(t):ym(t);const a=r.ordered?mE(t):pE(t),l=t.bulletLastUsed;let c=!1;if(e&&(r.ordered?t.options.bulletOrderedOther:t.options.bulletOther)&&l&&o===l&&(c=!0),!r.ordered){const h=r.children?r.children[0]:void 0;if((o==="*"||o==="-")&&h&&(!h.children||!h.children[0])&&t.stack[t.stack.length-1]==="list"&&t.stack[t.stack.length-2]==="listItem"&&t.stack[t.stack.length-3]==="list"&&t.stack[t.stack.length-4]==="listItem"&&t.indexStack[t.indexStack.length-1]===0&&t.indexStack[t.indexStack.length-2]===0&&t.indexStack[t.indexStack.length-3]===0&&(c=!0),Qv(t)===o&&h){let d=-1;for(;++d-1?e.start:1)+(t.options.incrementListMarker===!1?0:e.children.indexOf(r))+s);let o=s.length+1;(n==="tab"||n==="mixed"&&(e&&e.type==="list"&&e.spread||r.spread))&&(o=Math.ceil(o/4)*4);const a=t.createTracker(i);a.move(s+" ".repeat(o-s.length)),a.shift(o);const l=t.enter("listItem"),c=t.indentLines(t.containerFlow(r,a.current()),u);return l(),c;function u(h,d,f){return d?(f?"":" ".repeat(o))+h:(f?s:s+" ".repeat(o-s.length))+h}}function bE(r,e,t,i){const n=t.enter("paragraph"),s=t.enter("phrasing"),o=t.containerPhrasing(r,i);return s(),n(),o}const wE=Om(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","link","linkReference","strong","text"]);function vE(r,e,t,i){return(r.children.some(n=>wE(n))?t.containerPhrasing:t.containerFlow).call(t,r,i)}function kE(r){const e=r.options.strong||"*";if(e!=="*"&&e!=="_")throw new Error("Cannot serialize strong with `"+e+"` for `options.strong`, expected `*`, or `_`");return e}$v.peek=xE;function $v(r,e,t,i){const n=kE(t),s=t.enter("strong"),o=t.createTracker(i);let a=o.move(n+n);return a+=o.move(t.containerPhrasing(r,{before:a,after:n,...o.current()})),a+=o.move(n+n),s(),a}function xE(r,e,t){return t.options.strong||"*"}function SE(r,e,t,i){return t.safe(r.value,i)}function CE(r){const e=r.options.ruleRepetition||3;if(e<3)throw new Error("Cannot serialize rules with repetition `"+e+"` for `options.ruleRepetition`, expected `3` or more");return e}function QE(r,e,t){const i=(Qv(t)+(t.options.ruleSpaces?" ":"")).repeat(CE(t));return t.options.ruleSpaces?i.slice(0,-1):i}const $E={blockquote:zP,break:cy,code:_P,definition:HP,emphasis:mv,hardBreak:cy,heading:aE,html:Ov,image:yv,imageReference:bv,inlineCode:vv,link:xv,linkReference:Sv,list:gE,listItem:yE,paragraph:bE,root:vE,strong:$v,text:SE,thematicBreak:QE},AE=[DE];function DE(r,e,t,i){if(e.type==="code"&&gf(e,i)&&(r.type==="list"||r.type===e.type&&gf(r,i))||r.type==="list"&&r.type===e.type&&!!r.ordered==!!e.ordered&&!(r.ordered?i.options.bulletOrderedOther:i.options.bulletOther))return!1;if("spread"in t&&typeof t.spread=="boolean")return r.type==="paragraph"&&(r.type===e.type||e.type==="definition"||e.type==="heading"&&gv(e,i))?void 0:t.spread?1:0}const xn=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"],TE=[{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"\r",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:` +`,inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"!",after:"\\[",inConstruct:"phrasing",notInConstruct:xn},{character:'"',inConstruct:"titleQuote"},{atBreak:!0,character:"#"},{character:"#",inConstruct:"headingAtx",after:`(?:[\r +]|$)`},{character:"&",after:"[#A-Za-z]",inConstruct:"phrasing"},{character:"'",inConstruct:"titleApostrophe"},{character:"(",inConstruct:"destinationRaw"},{before:"\\]",character:"(",inConstruct:"phrasing",notInConstruct:xn},{atBreak:!0,before:"\\d+",character:")"},{character:")",inConstruct:"destinationRaw"},{atBreak:!0,character:"*",after:`(?:[ \r +*])`},{character:"*",inConstruct:"phrasing",notInConstruct:xn},{atBreak:!0,character:"+",after:`(?:[ \r +])`},{atBreak:!0,character:"-",after:`(?:[ \r +-])`},{atBreak:!0,before:"\\d+",character:".",after:`(?:[ \r +]|$)`},{atBreak:!0,character:"<",after:"[!/?A-Za-z]"},{character:"<",after:"[!/?A-Za-z]",inConstruct:"phrasing",notInConstruct:xn},{character:"<",inConstruct:"destinationLiteral"},{atBreak:!0,character:"="},{atBreak:!0,character:">"},{character:">",inConstruct:"destinationLiteral"},{atBreak:!0,character:"["},{character:"[",inConstruct:"phrasing",notInConstruct:xn},{character:"[",inConstruct:["label","reference"]},{character:"\\",after:"[\\r\\n]",inConstruct:"phrasing"},{character:"]",inConstruct:["label","reference"]},{atBreak:!0,character:"_"},{character:"_",inConstruct:"phrasing",notInConstruct:xn},{atBreak:!0,character:"`"},{character:"`",inConstruct:["codeFencedLangGraveAccent","codeFencedMetaGraveAccent"]},{character:"`",inConstruct:"phrasing",notInConstruct:xn},{atBreak:!0,character:"~"}];function PE(r){return r.label||!r.identifier?r.label||"":hv(r.identifier)}function EE(r,e,t){const i=e.indexStack,n=r.children||[],s=[];let o=-1,a=t.before;i.push(-1);let l=e.createTracker(t);for(;++o0&&(a==="\r"||a===` +`)&&c.type==="html"&&(s[s.length-1]=s[s.length-1].replace(/(\r?\n|\r)$/," "),a=" ",l=e.createTracker(t),l.move(s.join(""))),s.push(l.move(e.handle(c,r,e,{...l.current(),before:a,after:u}))),a=s[s.length-1].slice(-1)}return i.pop(),s.join("")}function ME(r,e,t){const i=e.indexStack,n=r.children||[],s=e.createTracker(t),o=[];let a=-1;for(i.push(-1);++a + +`}return` + +`}const ZE=/\r?\n|\r/g;function NE(r,e){const t=[];let i=0,n=0,s;for(;s=ZE.exec(r);)o(r.slice(i,s.index)),t.push(s[0]),i=s.index+s[0].length,n++;return o(r.slice(i)),t.join("");function o(a){t.push(e(a,n,!a))}}function FE(r,e,t){const i=(t.before||"")+(e||"")+(t.after||""),n=[],s=[],o={};let a=-1;for(;++a=c||u+1{const t=this.data("settings");return qE(e,Object.assign({},t,r,{extensions:this.data("toMarkdownExtensions")||[]}))}})}function hy(r){if(r)throw r}var Sl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function bm(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */var jE=function(r){return r!=null&&r.constructor!=null&&typeof r.constructor.isBuffer=="function"&&r.constructor.isBuffer(r)};const Av=bm(jE);var ac=Object.prototype.hasOwnProperty,Dv=Object.prototype.toString,dy=Object.defineProperty,fy=Object.getOwnPropertyDescriptor,py=function(r){return typeof Array.isArray=="function"?Array.isArray(r):Dv.call(r)==="[object Array]"},my=function(r){if(!r||Dv.call(r)!=="[object Object]")return!1;var e=ac.call(r,"constructor"),t=r.constructor&&r.constructor.prototype&&ac.call(r.constructor.prototype,"isPrototypeOf");if(r.constructor&&!e&&!t)return!1;var i;for(i in r);return typeof i>"u"||ac.call(r,i)},gy=function(r,e){dy&&e.name==="__proto__"?dy(r,e.name,{enumerable:!0,configurable:!0,value:e.newValue,writable:!0}):r[e.name]=e.newValue},Oy=function(r,e){if(e==="__proto__")if(ac.call(r,e)){if(fy)return fy(r,e).value}else return;return r[e]},UE=function r(){var e,t,i,n,s,o,a=arguments[0],l=1,c=arguments.length,u=!1;for(typeof a=="boolean"&&(u=a,a=arguments[1]||{},l=2),(a==null||typeof a!="object"&&typeof a!="function")&&(a={});lo.length;let l;a&&o.push(n);try{l=r.apply(this,o)}catch(c){const u=c;if(a&&t)throw u;return n(u)}a||(l instanceof Promise?l.then(s,n):l instanceof Error?n(l):s(l))}function n(o,...a){t||(t=!0,e(o,...a))}function s(o){n(null,o)}}class or extends Error{constructor(e,t,i){const n=[null,null];let s={start:{line:null,column:null},end:{line:null,column:null}};if(super(),typeof t=="string"&&(i=t,t=void 0),typeof i=="string"){const o=i.indexOf(":");o===-1?n[1]=i:(n[0]=i.slice(0,o),n[1]=i.slice(o+1))}t&&("type"in t||"position"in t?t.position&&(s=t.position):"start"in t||"end"in t?s=t:("line"in t||"column"in t)&&(s.start=t)),this.name=ma(t)||"1:1",this.message=typeof e=="object"?e.message:e,this.stack="",typeof e=="object"&&e.stack&&(this.stack=e.stack),this.reason=this.message,this.fatal,this.line=s.start.line,this.column=s.start.column,this.position=s,this.source=n[0],this.ruleId=n[1],this.file,this.actual,this.expected,this.url,this.note}}or.prototype.file="";or.prototype.name="";or.prototype.reason="";or.prototype.message="";or.prototype.stack="";or.prototype.fatal=null;or.prototype.column=null;or.prototype.line=null;or.prototype.source=null;or.prototype.ruleId=null;or.prototype.position=null;const Nr={basename:HE,dirname:KE,extname:JE,join:eM,sep:"/"};function HE(r,e){if(e!==void 0&&typeof e!="string")throw new TypeError('"ext" argument must be a string');ol(r);let t=0,i=-1,n=r.length,s;if(e===void 0||e.length===0||e.length>r.length){for(;n--;)if(r.charCodeAt(n)===47){if(s){t=n+1;break}}else i<0&&(s=!0,i=n+1);return i<0?"":r.slice(t,i)}if(e===r)return"";let o=-1,a=e.length-1;for(;n--;)if(r.charCodeAt(n)===47){if(s){t=n+1;break}}else o<0&&(s=!0,o=n+1),a>-1&&(r.charCodeAt(n)===e.charCodeAt(a--)?a<0&&(i=n):(a=-1,i=o));return t===i?i=o:i<0&&(i=r.length),r.slice(t,i)}function KE(r){if(ol(r),r.length===0)return".";let e=-1,t=r.length,i;for(;--t;)if(r.charCodeAt(t)===47){if(i){e=t;break}}else i||(i=!0);return e<0?r.charCodeAt(0)===47?"/":".":e===1&&r.charCodeAt(0)===47?"//":r.slice(0,e)}function JE(r){ol(r);let e=r.length,t=-1,i=0,n=-1,s=0,o;for(;e--;){const a=r.charCodeAt(e);if(a===47){if(o){i=e+1;break}continue}t<0&&(o=!0,t=e+1),a===46?n<0?n=e:s!==1&&(s=1):n>-1&&(s=-1)}return n<0||t<0||s===0||s===1&&n===t-1&&n===i+1?"":r.slice(n,t)}function eM(...r){let e=-1,t;for(;++e0&&r.charCodeAt(r.length-1)===47&&(t+="/"),e?"/"+t:t}function rM(r,e){let t="",i=0,n=-1,s=0,o=-1,a,l;for(;++o<=r.length;){if(o2){if(l=t.lastIndexOf("/"),l!==t.length-1){l<0?(t="",i=0):(t=t.slice(0,l),i=t.length-1-t.lastIndexOf("/")),n=o,s=0;continue}}else if(t.length>0){t="",i=0,n=o,s=0;continue}}e&&(t=t.length>0?t+"/..":"..",i=2)}else t.length>0?t+="/"+r.slice(n+1,o):t=r.slice(n+1,o),i=o-n-1;n=o,s=0}else a===46&&s>-1?s++:s=-1}return t}function ol(r){if(typeof r!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(r))}const iM={cwd:nM};function nM(){return"/"}function vf(r){return r!==null&&typeof r=="object"&&r.href&&r.origin}function sM(r){if(typeof r=="string")r=new URL(r);else if(!vf(r)){const e=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+r+"`");throw e.code="ERR_INVALID_ARG_TYPE",e}if(r.protocol!=="file:"){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return oM(r)}function oM(r){if(r.hostname!==""){const i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}const e=r.pathname;let t=-1;for(;++t{if(b||!x||!R)Q(b);else{const P=s.stringify(x,R);P==null||(hM(P)?R.value=P:R.result=P),Q(b,R)}});function Q(b,x){b||!x?v(b):w?w(x):g(null,x)}}}function p(m){let g;s.freeze(),Ih("processSync",s.Parser),Bh("processSync",s.Compiler);const O=Po(m);return s.process(O,w),ky("processSync","process",g),O;function w(v){g=!0,hy(v)}}}function wy(r,e){return typeof r=="function"&&r.prototype&&(cM(r.prototype)||e in r.prototype)}function cM(r){let e;for(e in r)if(Tv.call(r,e))return!0;return!1}function Ih(r,e){if(typeof e!="function")throw new TypeError("Cannot `"+r+"` without `Parser`")}function Bh(r,e){if(typeof e!="function")throw new TypeError("Cannot `"+r+"` without `Compiler`")}function qh(r,e){if(e)throw new Error("Cannot call `"+r+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function vy(r){if(!wf(r)||typeof r.type!="string")throw new TypeError("Expected node, got `"+r+"`")}function ky(r,e,t){if(!t)throw new Error("`"+r+"` finished async. Use `"+e+"` instead")}function Po(r){return uM(r)?r:new aM(r)}function uM(r){return!!(r&&typeof r=="object"&&"message"in r&&"messages"in r)}function hM(r){return typeof r=="string"||Av(r)}let Ev=class{},Mv=class{constructor(){this.elements=[],this.size=()=>this.elements.length,this.top=()=>this.elements.at(-1),this.push=r=>{var e;(e=this.top())==null||e.push(r)},this.open=r=>{this.elements.push(r)},this.close=()=>{const r=this.elements.pop();if(!r)throw Mw();return r}}},dM=class Rv extends Ev{constructor(e,t,i){super(),this.type=e,this.content=t,this.attrs=i}push(e,...t){this.content.push(e,...t)}pop(){return this.content.pop()}static create(e,t,i){return new Rv(e,t,i)}};var Zv=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Mt=(r,e,t)=>(Zv(r,e,"read from private field"),t?t.call(r):e.get(r)),Sn=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Lh=(r,e,t,i)=>(Zv(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),hi,lc,xf,Sf,Cf,cc,uc;const Nv=class extends Mv{constructor(r){super(),Sn(this,hi,ae.none),Sn(this,lc,e=>e.isText),Sn(this,xf,(e,t)=>{if(Mt(this,lc).call(this,e)&&Mt(this,lc).call(this,t)&&ae.sameSet(e.marks,t.marks))return this.schema.text(e.text+t.text,e.marks)}),Sn(this,Sf,e=>{const t=Object.values({...this.schema.nodes,...this.schema.marks}).find(i=>i.spec.parseMarkdown.match(e));if(!t)throw sD(e);return t}),Sn(this,Cf,e=>{const t=Mt(this,Sf).call(this,e);t.spec.parseMarkdown.runner(this,e,t)}),this.injectRoot=(e,t,i)=>(this.openNode(t,i),this.next(e.children),this),this.openNode=(e,t)=>(this.open(dM.create(e,[],t)),this),Sn(this,cc,()=>{Lh(this,hi,ae.none);const e=this.close();return Mt(this,uc).call(this,e.type,e.attrs,e.content)}),this.closeNode=()=>(Mt(this,cc).call(this),this),Sn(this,uc,(e,t,i)=>{const n=e.createAndFill(t,i,Mt(this,hi));if(!n)throw nD(e,t,i);return this.push(n),n}),this.addNode=(e,t,i)=>(Mt(this,uc).call(this,e,t,i),this),this.openMark=(e,t)=>{const i=e.create(t);return Lh(this,hi,i.addToSet(Mt(this,hi))),this},this.closeMark=e=>(Lh(this,hi,e.removeFromSet(Mt(this,hi))),this),this.addText=e=>{const t=this.top();if(!t)throw Mw();const i=t.pop(),n=this.schema.text(e,Mt(this,hi));if(!i)return t.push(n),this;const s=Mt(this,xf).call(this,i,n);return s?(t.push(s),this):(t.push(i,n),this)},this.build=()=>{let e;do e=Mt(this,cc).call(this);while(this.size());return e},this.next=(e=[])=>([e].flat().forEach(t=>Mt(this,Cf).call(this,t)),this),this.toDoc=()=>this.build(),this.run=(e,t)=>{const i=e.runSync(e.parse(t),t);return this.next(i),this},this.schema=r}};let Fv=Nv;hi=new WeakMap;lc=new WeakMap;xf=new WeakMap;Sf=new WeakMap;Cf=new WeakMap;cc=new WeakMap;uc=new WeakMap;Fv.create=(r,e)=>{const t=new Nv(r);return i=>(t.run(e,i),t.toDoc())};const Iv=class extends Ev{constructor(r,e,t,i={}){super(),this.type=r,this.children=e,this.value=t,this.props=i,this.push=(n,...s)=>{this.children||(this.children=[]),this.children.push(n,...s)},this.pop=()=>{var n;return(n=this.children)==null?void 0:n.pop()}}};let Qf=Iv;Qf.create=(r,e,t,i={})=>new Iv(r,e,t,i);var Bv=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},Me=(r,e,t)=>(Bv(r,e,"read from private field"),t?t.call(r):e.get(r)),jt=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},xy=(r,e,t,i)=>(Bv(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),Zi,hc,$f,Af,dc,Df,fc,Tf,Go,pc,Pf,mc;const fM=r=>Object.prototype.hasOwnProperty.call(r,"size"),qv=class extends Mv{constructor(r){super(),jt(this,Zi,ae.none),jt(this,hc,e=>{const t=Object.values({...this.schema.nodes,...this.schema.marks}).find(i=>i.spec.toMarkdown.match(e));if(!t)throw oD(e.type);return t}),jt(this,$f,e=>Me(this,hc).call(this,e).spec.toMarkdown.runner(this,e)),jt(this,Af,(e,t)=>Me(this,hc).call(this,e).spec.toMarkdown.runner(this,e,t)),jt(this,dc,e=>{const{marks:t}=e,i=n=>n.type.spec.priority??50;[...t].sort((n,s)=>i(n)-i(s)).every(n=>!Me(this,Af).call(this,n,e))&&Me(this,$f).call(this,e),t.forEach(n=>Me(this,mc).call(this,n))}),jt(this,Df,(e,t)=>{var i;if(e.type===t||((i=e.children)==null?void 0:i.length)!==1)return e;const n=l=>{var c;if(l.type===t)return l;if(((c=l.children)==null?void 0:c.length)!==1)return null;const[u]=l.children;return u?n(u):null},s=n(e);if(!s)return e;const o=s.children?[...s.children]:void 0,a={...e,children:o};return a.children=o,s.children=[a],s}),jt(this,fc,e=>{const{children:t}=e;return t&&(e.children=t.reduce((i,n,s)=>{if(s===0)return[n];const o=i.at(-1);if(o&&o.isMark&&n.isMark){n=Me(this,Df).call(this,n,o.type);const{children:a,...l}=n,{children:c,...u}=o;if(n.type===o.type&&a&&c&&JSON.stringify(l)===JSON.stringify(u)){const h={...u,children:[...c,...a]};return i.slice(0,-1).concat(Me(this,fc).call(this,h))}}return i.concat(n)},[])),e}),jt(this,Tf,e=>{const t={...e.props,type:e.type};return e.children&&(t.children=e.children),e.value&&(t.value=e.value),t}),this.openNode=(e,t,i)=>(this.open(Qf.create(e,void 0,t,i)),this),jt(this,Go,()=>{const e=this.close();return Me(this,pc).call(this,e.type,e.children,e.value,e.props)}),this.closeNode=()=>(Me(this,Go).call(this),this),jt(this,pc,(e,t,i,n)=>{const s=Qf.create(e,t,i,n),o=Me(this,fc).call(this,Me(this,Tf).call(this,s));return this.push(o),o}),this.addNode=(e,t,i,n)=>(Me(this,pc).call(this,e,t,i,n),this),jt(this,Pf,(e,t,i,n)=>e.isInSet(Me(this,Zi))?this:(xy(this,Zi,e.addToSet(Me(this,Zi))),this.openNode(t,i,{...n,isMark:!0}))),jt(this,mc,e=>{e.isInSet(Me(this,Zi))&&(xy(this,Zi,e.type.removeFromSet(Me(this,Zi))),Me(this,Go).call(this))}),this.withMark=(e,t,i,n)=>(Me(this,Pf).call(this,e,t,i,n),this),this.closeMark=e=>(Me(this,mc).call(this,e),this),this.build=()=>{let e=null;do e=Me(this,Go).call(this);while(this.size());return e},this.next=e=>fM(e)?(e.forEach(t=>{Me(this,dc).call(this,t)}),this):(Me(this,dc).call(this,e),this),this.toString=e=>e.stringify(this.build()),this.run=e=>(this.next(e),this),this.schema=r}};let Lv=qv;Zi=new WeakMap;hc=new WeakMap;$f=new WeakMap;Af=new WeakMap;dc=new WeakMap;Df=new WeakMap;fc=new WeakMap;Tf=new WeakMap;Go=new WeakMap;pc=new WeakMap;Pf=new WeakMap;mc=new WeakMap;Lv.create=(r,e)=>{const t=new qv(r);return i=>(t.run(i),t.toString(e))};const Xv=65535,Yv=Math.pow(2,16);function pM(r,e){return r+e*Yv}function Sy(r){return r&Xv}function mM(r){return(r-(r&Xv))/Yv}const Vv=1,zv=2,gc=4,Wv=8;class Ef{constructor(e,t,i){this.pos=e,this.delInfo=t,this.recover=i}get deleted(){return(this.delInfo&Wv)>0}get deletedBefore(){return(this.delInfo&(Vv|gc))>0}get deletedAfter(){return(this.delInfo&(zv|gc))>0}get deletedAcross(){return(this.delInfo&gc)>0}}class Ht{constructor(e,t=!1){if(this.ranges=e,this.inverted=t,!e.length&&Ht.empty)return Ht.empty}recover(e){let t=0,i=Sy(e);if(!this.inverted)for(let n=0;ne)break;let c=this.ranges[a+s],u=this.ranges[a+o],h=l+c;if(e<=h){let d=c?e==l?-1:e==h?1:t:t,f=l+n+(d<0?0:u);if(i)return f;let p=e==(t<0?l:h)?null:pM(a/3,e-l),m=e==l?zv:e==h?Vv:gc;return(t<0?e!=l:e!=h)&&(m|=Wv),new Ef(f,m,p)}n+=u-c}return i?e+n:new Ef(e+n,0,null)}touches(e,t){let i=0,n=Sy(t),s=this.inverted?2:1,o=this.inverted?1:2;for(let a=0;ae)break;let c=this.ranges[a+s],u=l+c;if(e<=u&&a==n*3)return!0;i+=this.ranges[a+o]-c}return!1}forEach(e){let t=this.inverted?2:1,i=this.inverted?1:2;for(let n=0,s=0;n=0;t--){let n=e.getMirror(t);this.appendMap(e.maps[t].invert(),n!=null&&n>t?i-n-1:void 0)}}invert(){let e=new Is;return e.appendMappingInverted(this),e}map(e,t=1){if(this.mirror)return this._map(e,t,!0);for(let i=this.from;is&&l!o.isAtom||!a.type.allowsMarkType(this.mark.type)?o:o.mark(this.mark.addToSet(o.marks)),n),t.openStart,t.openEnd);return We.fromReplace(e,this.from,this.to,s)}invert(){return new Vr(this.from,this.to,this.mark)}map(e){let t=e.mapResult(this.from,1),i=e.mapResult(this.to,-1);return t.deleted&&i.deleted||t.pos>=i.pos?null:new Oi(t.pos,i.pos,this.mark)}merge(e){return e instanceof Oi&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new Oi(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,t){if(typeof t.from!="number"||typeof t.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new Oi(t.from,t.to,e.markFromJSON(t.mark))}}Et.jsonID("addMark",Oi);class Vr extends Et{constructor(e,t,i){super(),this.from=e,this.to=t,this.mark=i}apply(e){let t=e.slice(this.from,this.to),i=new L(wm(t.content,n=>n.mark(this.mark.removeFromSet(n.marks)),e),t.openStart,t.openEnd);return We.fromReplace(e,this.from,this.to,i)}invert(){return new Oi(this.from,this.to,this.mark)}map(e){let t=e.mapResult(this.from,1),i=e.mapResult(this.to,-1);return t.deleted&&i.deleted||t.pos>=i.pos?null:new Vr(t.pos,i.pos,this.mark)}merge(e){return e instanceof Vr&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new Vr(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,t){if(typeof t.from!="number"||typeof t.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new Vr(t.from,t.to,e.markFromJSON(t.mark))}}Et.jsonID("removeMark",Vr);class zi extends Et{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return We.fail("No node at mark step's position");let i=t.type.create(t.attrs,null,this.mark.addToSet(t.marks));return We.fromReplace(e,this.pos,this.pos+1,new L(Z.from(i),0,t.isLeaf?0:1))}invert(e){let t=e.nodeAt(this.pos);if(t){let i=this.mark.addToSet(t.marks);if(i.length==t.marks.length){for(let n=0;ni.pos?null:new ut(t.pos,i.pos,n,s,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,t){if(typeof t.from!="number"||typeof t.to!="number"||typeof t.gapFrom!="number"||typeof t.gapTo!="number"||typeof t.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new ut(t.from,t.to,t.gapFrom,t.gapTo,L.fromJSON(e,t.slice),t.insert,!!t.structure)}}Et.jsonID("replaceAround",ut);function Mf(r,e,t){let i=r.resolve(e),n=t-e,s=i.depth;for(;n>0&&s>0&&i.indexAfter(s)==i.node(s).childCount;)s--,n--;if(n>0){let o=i.node(s).maybeChild(i.indexAfter(s));for(;n>0;){if(!o||o.isLeaf)return!0;o=o.firstChild,n--}}return!1}function gM(r,e,t,i){let n=[],s=[],o,a;r.doc.nodesBetween(e,t,(l,c,u)=>{if(!l.isInline)return;let h=l.marks;if(!i.isInSet(h)&&u.type.allowsMarkType(i.type)){let d=Math.max(c,e),f=Math.min(c+l.nodeSize,t),p=i.addToSet(h);for(let m=0;mr.step(l)),s.forEach(l=>r.step(l))}function OM(r,e,t,i){let n=[],s=0;r.doc.nodesBetween(e,t,(o,a)=>{if(!o.isInline)return;s++;let l=null;if(i instanceof Ru){let c=o.marks,u;for(;u=i.isInSet(c);)(l||(l=[])).push(u),c=u.removeFromSet(c)}else i?i.isInSet(o.marks)&&(l=[i]):l=o.marks;if(l&&l.length){let c=Math.min(a+o.nodeSize,t);for(let u=0;ur.step(new Vr(o.from,o.to,o.style)))}function yM(r,e,t,i=t.contentMatch){let n=r.doc.nodeAt(e),s=[],o=e+1;for(let a=0;a=0;a--)r.step(s[a])}function bM(r,e,t){return(e==0||r.canReplace(e,r.childCount))&&(t==r.childCount||r.canReplace(0,t))}function Iu(r){let e=r.parent.content.cutByIndex(r.startIndex,r.endIndex);for(let t=r.depth;;--t){let i=r.$from.node(t),n=r.$from.index(t),s=r.$to.indexAfter(t);if(tt;p--)m||i.index(p)>0?(m=!0,u=Z.from(i.node(p).copy(u)),h++):l--;let d=Z.empty,f=0;for(let p=s,m=!1;p>t;p--)m||n.after(p+1)=0;o--){if(i.size){let a=t[o].type.contentMatch.matchFragment(i);if(!a||!a.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}i=Z.from(t[o].type.create(t[o].attrs,i))}let n=e.start,s=e.end;r.step(new ut(n,s,n,s,new L(i,0,0),t.length,!0))}function SM(r,e,t,i,n){if(!i.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let s=r.steps.length;r.doc.nodesBetween(e,t,(o,a)=>{if(o.isTextblock&&!o.hasMarkup(i,n)&&CM(r.doc,r.mapping.slice(s).map(a),i)){r.clearIncompatible(r.mapping.slice(s).map(a,1),i);let l=r.mapping.slice(s),c=l.map(a,1),u=l.map(a+o.nodeSize,1);return r.step(new ut(c,u,c+1,u-1,new L(Z.from(i.create(n,null,o.marks)),0,0),1,!0)),!1}})}function CM(r,e,t){let i=r.resolve(e),n=i.index();return i.parent.canReplaceWith(n,n+1,t)}function QM(r,e,t,i,n){let s=r.doc.nodeAt(e);if(!s)throw new RangeError("No node at given position");t||(t=s.type);let o=t.create(i,null,n||s.marks);if(s.isLeaf)return r.replaceWith(e,e+s.nodeSize,o);if(!t.validContent(s.content))throw new RangeError("Invalid content for node type "+t.name);r.step(new ut(e,e+s.nodeSize,e+1,e+s.nodeSize-1,new L(Z.from(o),0,0),1,!0))}function ga(r,e,t=1,i){let n=r.resolve(e),s=n.depth-t,o=i&&i[i.length-1]||n.parent;if(s<0||n.parent.type.spec.isolating||!n.parent.canReplace(n.index(),n.parent.childCount)||!o.type.validContent(n.parent.content.cutByIndex(n.index(),n.parent.childCount)))return!1;for(let c=n.depth-1,u=t-2;c>s;c--,u--){let h=n.node(c),d=n.index(c);if(h.type.spec.isolating)return!1;let f=h.content.cutByIndex(d,h.childCount),p=i&&i[u+1];p&&(f=f.replaceChild(0,p.type.create(p.attrs)));let m=i&&i[u]||h;if(!h.canReplace(d+1,h.childCount)||!m.type.validContent(f))return!1}let a=n.indexAfter(s),l=i&&i[0];return n.node(s).canReplaceWith(a,a,l?l.type:n.node(s+1).type)}function $M(r,e,t=1,i){let n=r.doc.resolve(e),s=Z.empty,o=Z.empty;for(let a=n.depth,l=n.depth-t,c=t-1;a>l;a--,c--){s=Z.from(n.node(a).copy(s));let u=i&&i[c];o=Z.from(u?u.type.create(u.attrs,o):n.node(a).copy(o))}r.step(new et(e,e,new L(s.append(o),t,t),!0))}function Bu(r,e){let t=r.resolve(e),i=t.index();return AM(t.nodeBefore,t.nodeAfter)&&t.parent.canReplace(i,i+1)}function AM(r,e){return!!(r&&e&&!r.isLeaf&&r.canAppend(e))}function DM(r,e,t){let i=new et(e-t,e+t,L.empty,!0);r.step(i)}function TM(r,e,t){let i=r.resolve(e);if(i.parent.canReplaceWith(i.index(),i.index(),t))return e;if(i.parentOffset==0)for(let n=i.depth-1;n>=0;n--){let s=i.index(n);if(i.node(n).canReplaceWith(s,s,t))return i.before(n+1);if(s>0)return null}if(i.parentOffset==i.parent.content.size)for(let n=i.depth-1;n>=0;n--){let s=i.indexAfter(n);if(i.node(n).canReplaceWith(s,s,t))return i.after(n+1);if(s=0;o--){let a=o==i.depth?0:i.pos<=(i.start(o+1)+i.end(o+1))/2?-1:1,l=i.index(o)+(a>0?1:0),c=i.node(o),u=!1;if(s==1)u=c.canReplace(l,l,n);else{let h=c.contentMatchAt(l).findWrapping(n.firstChild.type);u=h&&c.canReplaceWith(l,l,h[0])}if(u)return a==0?i.pos:a<0?i.before(o+1):i.after(o+1)}return null}function vm(r,e,t=e,i=L.empty){if(e==t&&!i.size)return null;let n=r.resolve(e),s=r.resolve(t);return _v(n,s,i)?new et(e,t,i):new PM(n,s,i).fit()}function _v(r,e,t){return!t.openStart&&!t.openEnd&&r.start()==e.start()&&r.parent.canReplace(r.index(),e.index(),t.content)}class PM{constructor(e,t,i){this.$from=e,this.$to=t,this.unplaced=i,this.frontier=[],this.placed=Z.empty;for(let n=0;n<=e.depth;n++){let s=e.node(n);this.frontier.push({type:s.type,match:s.contentMatchAt(e.indexAfter(n))})}for(let n=e.depth;n>0;n--)this.placed=Z.from(e.node(n).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let c=this.findFittable();c?this.placeNodes(c):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),t=this.placed.size-this.depth-this.$from.depth,i=this.$from,n=this.close(e<0?this.$to:i.doc.resolve(e));if(!n)return null;let s=this.placed,o=i.depth,a=n.depth;for(;o&&a&&s.childCount==1;)s=s.firstChild.content,o--,a--;let l=new L(s,o,a);return e>-1?new ut(i.pos,e,this.$to.pos,this.$to.end(),l,t):l.size||i.pos!=this.$to.pos?new et(i.pos,n.pos,l):null}findFittable(){let e=this.unplaced.openStart;for(let t=this.unplaced.content,i=0,n=this.unplaced.openEnd;i1&&(n=0),s.type.spec.isolating&&n<=i){e=i;break}t=s.content}for(let t=1;t<=2;t++)for(let i=t==1?e:this.unplaced.openStart;i>=0;i--){let n,s=null;i?(s=Yh(this.unplaced.content,i-1).firstChild,n=s.content):n=this.unplaced.content;let o=n.firstChild;for(let a=this.depth;a>=0;a--){let{type:l,match:c}=this.frontier[a],u,h=null;if(t==1&&(o?c.matchType(o.type)||(h=c.fillBefore(Z.from(o),!1)):s&&l.compatibleContent(s.type)))return{sliceDepth:i,frontierDepth:a,parent:s,inject:h};if(t==2&&o&&(u=c.findWrapping(o.type)))return{sliceDepth:i,frontierDepth:a,parent:s,wrap:u};if(s&&c.matchType(s.type))break}}}openMore(){let{content:e,openStart:t,openEnd:i}=this.unplaced,n=Yh(e,t);return!n.childCount||n.firstChild.isLeaf?!1:(this.unplaced=new L(e,t+1,Math.max(i,n.size+t>=e.size-i?t+1:0)),!0)}dropNode(){let{content:e,openStart:t,openEnd:i}=this.unplaced,n=Yh(e,t);if(n.childCount<=1&&t>0){let s=e.size-t<=t+n.size;this.unplaced=new L(Ho(e,t-1,1),t-1,s?t-1:i)}else this.unplaced=new L(Ho(e,t,1),t,i)}placeNodes({sliceDepth:e,frontierDepth:t,parent:i,inject:n,wrap:s}){for(;this.depth>t;)this.closeFrontierNode();if(s)for(let m=0;m1||l==0||m.content.size)&&(h=g,u.push(Gv(m.mark(d.allowedMarks(m.marks)),c==1?l:0,c==a.childCount?f:-1)))}let p=c==a.childCount;p||(f=-1),this.placed=Ko(this.placed,t,Z.from(u)),this.frontier[t].match=h,p&&f<0&&i&&i.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let m=0,g=a;m1&&n==this.$to.end(--i);)++n;return n}findCloseLevel(e){e:for(let t=Math.min(this.depth,e.depth);t>=0;t--){let{match:i,type:n}=this.frontier[t],s=t=0;a--){let{match:l,type:c}=this.frontier[a],u=Vh(e,a,c,l,!0);if(!u||u.childCount)continue e}return{depth:t,fit:o,move:s?e.doc.resolve(e.after(t+1)):e}}}}close(e){let t=this.findCloseLevel(e);if(!t)return null;for(;this.depth>t.depth;)this.closeFrontierNode();t.fit.childCount&&(this.placed=Ko(this.placed,t.depth,t.fit)),e=t.move;for(let i=t.depth+1;i<=e.depth;i++){let n=e.node(i),s=n.type.contentMatch.fillBefore(n.content,!0,e.index(i));this.openFrontierNode(n.type,n.attrs,s)}return e}openFrontierNode(e,t=null,i){let n=this.frontier[this.depth];n.match=n.match.matchType(e),this.placed=Ko(this.placed,this.depth,Z.from(e.create(t,i))),this.frontier.push({type:e,match:e.contentMatch})}closeFrontierNode(){let e=this.frontier.pop().match.fillBefore(Z.empty,!0);e.childCount&&(this.placed=Ko(this.placed,this.frontier.length,e))}}function Ho(r,e,t){return e==0?r.cutByIndex(t,r.childCount):r.replaceChild(0,r.firstChild.copy(Ho(r.firstChild.content,e-1,t)))}function Ko(r,e,t){return e==0?r.append(t):r.replaceChild(r.childCount-1,r.lastChild.copy(Ko(r.lastChild.content,e-1,t)))}function Yh(r,e){for(let t=0;t1&&(i=i.replaceChild(0,Gv(i.firstChild,e-1,i.childCount==1?t-1:0))),e>0&&(i=r.type.contentMatch.fillBefore(i).append(i),t<=0&&(i=i.append(r.type.contentMatch.matchFragment(i).fillBefore(Z.empty,!0)))),r.copy(i)}function Vh(r,e,t,i,n){let s=r.node(e),o=n?r.indexAfter(e):r.index(e);if(o==s.childCount&&!t.compatibleContent(s.type))return null;let a=i.fillBefore(s.content,!0,o);return a&&!EM(t,s.content,o)?a:null}function EM(r,e,t){for(let i=t;i0;d--,f--){let p=n.node(d).type.spec;if(p.defining||p.definingAsContext||p.isolating)break;o.indexOf(d)>-1?a=d:n.before(d)==f&&o.splice(1,0,-d)}let l=o.indexOf(a),c=[],u=i.openStart;for(let d=i.content,f=0;;f++){let p=d.firstChild;if(c.push(p),f==i.openStart)break;d=p.content}for(let d=u-1;d>=0;d--){let f=c[d],p=MM(f.type);if(p&&!f.sameMarkup(n.node(Math.abs(a)-1)))u=d;else if(p||!f.type.isTextblock)break}for(let d=i.openStart;d>=0;d--){let f=(d+u+1)%(i.openStart+1),p=c[f];if(p)for(let m=0;m=0&&(r.replace(e,t,i),!(r.steps.length>h));d--){let f=o[d];f<0||(e=n.before(f),t=s.after(f))}}function Hv(r,e,t,i,n){if(ei){let s=n.contentMatchAt(0),o=s.fillBefore(r).append(r);r=o.append(s.matchFragment(o).fillBefore(Z.empty,!0))}return r}function ZM(r,e,t,i){if(!i.isInline&&e==t&&r.doc.resolve(e).parent.content.size){let n=TM(r.doc,e,i.type);n!=null&&(e=t=n)}r.replaceRange(e,t,new L(Z.from(i),0,0))}function NM(r,e,t){let i=r.doc.resolve(e),n=r.doc.resolve(t),s=Kv(i,n);for(let o=0;o0&&(l||i.node(a-1).canReplace(i.index(a-1),n.indexAfter(a-1))))return r.delete(i.before(a),n.after(a))}for(let o=1;o<=i.depth&&o<=n.depth;o++)if(e-i.start(o)==i.depth-o&&t>i.end(o)&&n.end(o)-t!=n.depth-o)return r.delete(i.before(o),t);r.delete(e,t)}function Kv(r,e){let t=[],i=Math.min(r.depth,e.depth);for(let n=i;n>=0;n--){let s=r.start(n);if(se.pos+(e.depth-n)||r.node(n).type.spec.isolating||e.node(n).type.spec.isolating)break;(s==e.start(n)||n==r.depth&&n==e.depth&&r.parent.inlineContent&&e.parent.inlineContent&&n&&e.start(n-1)==s-1)&&t.push(n)}return t}class Bs extends Et{constructor(e,t,i){super(),this.pos=e,this.attr=t,this.value=i}apply(e){let t=e.nodeAt(this.pos);if(!t)return We.fail("No node at attribute step's position");let i=Object.create(null);for(let s in t.attrs)i[s]=t.attrs[s];i[this.attr]=this.value;let n=t.type.create(i,null,t.marks);return We.fromReplace(e,this.pos,this.pos+1,new L(Z.from(n),0,t.isLeaf?0:1))}getMap(){return Ht.empty}invert(e){return new Bs(this.pos,this.attr,e.nodeAt(this.pos).attrs[this.attr])}map(e){let t=e.mapResult(this.pos,1);return t.deletedAfter?null:new Bs(t.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(e,t){if(typeof t.pos!="number"||typeof t.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new Bs(t.pos,t.attr,t.value)}}Et.jsonID("attr",Bs);let eo=class extends Error{};eo=function r(e){let t=Error.call(this,e);return t.__proto__=r.prototype,t};eo.prototype=Object.create(Error.prototype);eo.prototype.constructor=eo;eo.prototype.name="TransformError";class FM{constructor(e){this.doc=e,this.steps=[],this.docs=[],this.mapping=new Is}get before(){return this.docs.length?this.docs[0]:this.doc}step(e){let t=this.maybeStep(e);if(t.failed)throw new eo(t.failed);return this}maybeStep(e){let t=e.apply(this.doc);return t.failed||this.addStep(e,t.doc),t}get docChanged(){return this.steps.length>0}addStep(e,t){this.docs.push(this.doc),this.steps.push(e),this.mapping.appendMap(e.getMap()),this.doc=t}replace(e,t=e,i=L.empty){let n=vm(this.doc,e,t,i);return n&&this.step(n),this}replaceWith(e,t,i){return this.replace(e,t,new L(Z.from(i),0,0))}delete(e,t){return this.replace(e,t,L.empty)}insert(e,t){return this.replaceWith(e,e,t)}replaceRange(e,t,i){return RM(this,e,t,i),this}replaceRangeWith(e,t,i){return ZM(this,e,t,i),this}deleteRange(e,t){return NM(this,e,t),this}lift(e,t){return wM(this,e,t),this}join(e,t=1){return DM(this,e,t),this}wrap(e,t){return xM(this,e,t),this}setBlockType(e,t=e,i,n=null){return SM(this,e,t,i,n),this}setNodeMarkup(e,t,i=null,n){return QM(this,e,t,i,n),this}setNodeAttribute(e,t,i){return this.step(new Bs(e,t,i)),this}addNodeMark(e,t){return this.step(new zi(e,t)),this}removeNodeMark(e,t){if(!(t instanceof ae)){let i=this.doc.nodeAt(e);if(!i)throw new RangeError("No node at position "+e);if(t=t.isInSet(i.marks),!t)return this}return this.step(new Js(e,t)),this}split(e,t=1,i){return $M(this,e,t,i),this}addMark(e,t,i){return gM(this,e,t,i),this}removeMark(e,t,i){return OM(this,e,t,i),this}clearIncompatible(e,t,i){return yM(this,e,t,i),this}}const zh=Object.create(null);class ie{constructor(e,t,i){this.$anchor=e,this.$head=t,this.ranges=i||[new IM(e.min(t),e.max(t))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let e=this.ranges;for(let t=0;t=0;s--){let o=t<0?Cs(e.node(0),e.node(s),e.before(s+1),e.index(s),t,i):Cs(e.node(0),e.node(s),e.after(s+1),e.index(s)+1,t,i);if(o)return o}return null}static near(e,t=1){return this.findFrom(e,t)||this.findFrom(e,-t)||new Yt(e.node(0))}static atStart(e){return Cs(e,e,0,0,1)||new Yt(e)}static atEnd(e){return Cs(e,e,e.content.size,e.childCount,-1)||new Yt(e)}static fromJSON(e,t){if(!t||!t.type)throw new RangeError("Invalid input for Selection.fromJSON");let i=zh[t.type];if(!i)throw new RangeError(`No selection type ${t.type} defined`);return i.fromJSON(e,t)}static jsonID(e,t){if(e in zh)throw new RangeError("Duplicate use of selection JSON ID "+e);return zh[e]=t,t.prototype.jsonID=e,t}getBookmark(){return oe.between(this.$anchor,this.$head).getBookmark()}}ie.prototype.visible=!0;let IM=class{constructor(r,e){this.$from=r,this.$to=e}},Qy=!1;function $y(r){!Qy&&!r.parent.inlineContent&&(Qy=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+r.parent.type.name+")"))}class oe extends ie{constructor(e,t=e){$y(e),$y(t),super(e,t)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(e,t){let i=e.resolve(t.map(this.head));if(!i.parent.inlineContent)return ie.near(i);let n=e.resolve(t.map(this.anchor));return new oe(n.parent.inlineContent?n:i,i)}replace(e,t=L.empty){if(super.replace(e,t),t==L.empty){let i=this.$from.marksAcross(this.$to);i&&e.ensureMarks(i)}}eq(e){return e instanceof oe&&e.anchor==this.anchor&&e.head==this.head}getBookmark(){return new qu(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(e,t){if(typeof t.anchor!="number"||typeof t.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new oe(e.resolve(t.anchor),e.resolve(t.head))}static create(e,t,i=t){let n=e.resolve(t);return new this(n,i==t?n:e.resolve(i))}static between(e,t,i){let n=e.pos-t.pos;if((!i||n)&&(i=n>=0?1:-1),!t.parent.inlineContent){let s=ie.findFrom(t,i,!0)||ie.findFrom(t,-i,!0);if(s)t=s.$head;else return ie.near(t,i)}return e.parent.inlineContent||(n==0?e=t:(e=(ie.findFrom(e,-i,!0)||ie.findFrom(e,i,!0)).$anchor,e.pos0?0:1);n>0?o=0;o+=n){let a=e.child(o);if(a.isAtom){if(!s&&J.isSelectable(a))return J.create(r,t-(n<0?a.nodeSize:0))}else{let l=Cs(r,a,t+n,n<0?a.childCount:0,n,s);if(l)return l}t+=a.nodeSize*n}return null}function Ay(r,e,t){let i=r.steps.length-1;if(i{o==null&&(o=u)}),r.setSelection(ie.near(r.doc.resolve(o),t))}const Dy=1,Cl=2,Ty=4;let qM=class extends FM{constructor(r){super(r.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=r.selection,this.storedMarks=r.storedMarks}get selection(){return this.curSelectionFor0}setStoredMarks(r){return this.storedMarks=r,this.updated|=Cl,this}ensureMarks(r){return ae.sameSet(this.storedMarks||this.selection.$from.marks(),r)||this.setStoredMarks(r),this}addStoredMark(r){return this.ensureMarks(r.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(r){return this.ensureMarks(r.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&Cl)>0}addStep(r,e){super.addStep(r,e),this.updated=this.updated&~Cl,this.storedMarks=null}setTime(r){return this.time=r,this}replaceSelection(r){return this.selection.replace(this,r),this}replaceSelectionWith(r,e=!0){let t=this.selection;return e&&(r=r.mark(this.storedMarks||(t.empty?t.$from.marks():t.$from.marksAcross(t.$to)||ae.none))),t.replaceWith(this,r),this}deleteSelection(){return this.selection.replace(this),this}insertText(r,e,t){let i=this.doc.type.schema;if(e==null)return r?this.replaceSelectionWith(i.text(r),!0):this.deleteSelection();{if(t==null&&(t=e),t=t??e,!r)return this.deleteRange(e,t);let n=this.storedMarks;if(!n){let s=this.doc.resolve(e);n=t==e?s.marks():s.marksAcross(this.doc.resolve(t))}return this.replaceRangeWith(e,t,i.text(r,n)),this.selection.empty||this.setSelection(ie.near(this.selection.$to)),this}}setMeta(r,e){return this.meta[typeof r=="string"?r:r.key]=e,this}getMeta(r){return this.meta[typeof r=="string"?r:r.key]}get isGeneric(){for(let r in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=Ty,this}get scrolledIntoView(){return(this.updated&Ty)>0}};function Py(r,e){return!e||!r?r:r.bind(e)}class Jo{constructor(e,t,i){this.name=e,this.init=Py(t.init,i),this.apply=Py(t.apply,i)}}const LM=[new Jo("doc",{init(r){return r.doc||r.schema.topNodeType.createAndFill()},apply(r){return r.doc}}),new Jo("selection",{init(r,e){return r.selection||ie.atStart(e.doc)},apply(r){return r.selection}}),new Jo("storedMarks",{init(r){return r.storedMarks||null},apply(r,e,t,i){return i.selection.$cursor?r.storedMarks:null}}),new Jo("scrollToSelection",{init(){return 0},apply(r,e){return r.scrolledIntoView?e+1:e}})];let Wh=class{constructor(r,e){this.schema=r,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=LM.slice(),e&&e.forEach(t=>{if(this.pluginsByKey[t.key])throw new RangeError("Adding different instances of a keyed plugin ("+t.key+")");this.plugins.push(t),this.pluginsByKey[t.key]=t,t.spec.state&&this.fields.push(new Jo(t.key,t.spec.state,t))})}},Jv=class ea{constructor(e){this.config=e}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(e){return this.applyTransaction(e).state}filterTransaction(e,t=-1){for(let i=0;ii.toJSON())),e&&typeof e=="object")for(let i in e){if(i=="doc"||i=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let n=e[i],s=n.spec.state;s&&s.toJSON&&(t[i]=s.toJSON.call(n,this[n.key]))}return t}static fromJSON(e,t,i){if(!t)throw new RangeError("Invalid input for EditorState.fromJSON");if(!e.schema)throw new RangeError("Required config field 'schema' missing");let n=new Wh(e.schema,e.plugins),s=new ea(n);return n.fields.forEach(o=>{if(o.name=="doc")s.doc=br.fromJSON(e.schema,t.doc);else if(o.name=="selection")s.selection=ie.fromJSON(s.doc,t.selection);else if(o.name=="storedMarks")t.storedMarks&&(s.storedMarks=t.storedMarks.map(e.schema.markFromJSON));else{if(i)for(let a in i){let l=i[a],c=l.spec.state;if(l.key==o.name&&c&&c.fromJSON&&Object.prototype.hasOwnProperty.call(t,a)){s[o.name]=c.fromJSON.call(l,e,t[a],s);return}}s[o.name]=o.init(e,s)}}),s}};function ek(r,e,t){for(let i in r){let n=r[i];n instanceof Function?n=n.bind(e):i=="handleDOMEvents"&&(n=ek(n,e,{})),t[i]=n}return t}class St{constructor(e){this.spec=e,this.props={},e.props&&ek(e.props,this,this.props),this.key=e.key?e.key.key:tk("plugin")}getState(e){return e[this.key]}}const jh=Object.create(null);function tk(r){return r in jh?r+"$"+ ++jh[r]:(jh[r]=0,r+"$")}class Wt{constructor(e="key"){this.key=tk(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}}const mt=function(r){for(var e=0;;e++)if(r=r.previousSibling,!r)return e},Pa=function(r){let e=r.assignedSlot||r.parentNode;return e&&e.nodeType==11?e.host:e};let Ey=null;const di=function(r,e,t){let i=Ey||(Ey=document.createRange());return i.setEnd(r,t??r.nodeValue.length),i.setStart(r,e||0),i},rs=function(r,e,t,i){return t&&(My(r,e,t,i,-1)||My(r,e,t,i,1))},XM=/^(img|br|input|textarea|hr)$/i;function My(r,e,t,i,n){for(;;){if(r==t&&e==i)return!0;if(e==(n<0?0:Br(r))){let s=r.parentNode;if(!s||s.nodeType!=1||xm(r)||XM.test(r.nodeName)||r.contentEditable=="false")return!1;e=mt(r)+(n<0?0:1),r=s}else if(r.nodeType==1){if(r=r.childNodes[e+(n<0?-1:0)],r.contentEditable=="false")return!1;e=n<0?Br(r):0}else return!1}}function Br(r){return r.nodeType==3?r.nodeValue.length:r.childNodes.length}function YM(r,e,t){for(let i=e==0,n=e==Br(r);i||n;){if(r==t)return!0;let s=mt(r);if(r=r.parentNode,!r)return!1;i=i&&s==0,n=n&&s==Br(r)}}function xm(r){let e;for(let t=r;t&&!(e=t.pmViewDesc);t=t.parentNode);return e&&e.node&&e.node.isBlock&&(e.dom==r||e.contentDOM==r)}const Lu=function(r){return r.focusNode&&rs(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)};function En(r,e){let t=document.createEvent("Event");return t.initEvent("keydown",!0,!0),t.keyCode=r,t.key=t.code=e,t}function VM(r){let e=r.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function zM(r,e,t){if(r.caretPositionFromPoint)try{let i=r.caretPositionFromPoint(e,t);if(i)return{node:i.offsetNode,offset:i.offset}}catch{}if(r.caretRangeFromPoint){let i=r.caretRangeFromPoint(e,t);if(i)return{node:i.startContainer,offset:i.startOffset}}}const Jr=typeof navigator<"u"?navigator:null,Ry=typeof document<"u"?document:null,On=Jr&&Jr.userAgent||"",Rf=/Edge\/(\d+)/.exec(On),rk=/MSIE \d/.exec(On),Zf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(On),Tt=!!(rk||Zf||Rf),Ji=rk?document.documentMode:Zf?+Zf[1]:Rf?+Rf[1]:0,vr=!Tt&&/gecko\/(\d+)/i.test(On);vr&&+(/Firefox\/(\d+)/.exec(On)||[0,0])[1];const Nf=!Tt&&/Chrome\/(\d+)/.exec(On),ot=!!Nf,WM=Nf?+Nf[1]:0,vt=!Tt&&!!Jr&&/Apple Computer/.test(Jr.vendor),to=vt&&(/Mobile\/\w+/.test(On)||!!Jr&&Jr.maxTouchPoints>2),_t=to||(Jr?/Mac/.test(Jr.platform):!1),jM=Jr?/Win/.test(Jr.platform):!1,fr=/Android \d/.test(On),Xu=!!Ry&&"webkitFontSmoothing"in Ry.documentElement.style,UM=Xu?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function _M(r){return{left:0,right:r.documentElement.clientWidth,top:0,bottom:r.documentElement.clientHeight}}function ui(r,e){return typeof r=="number"?r:r[e]}function GM(r){let e=r.getBoundingClientRect(),t=e.width/r.offsetWidth||1,i=e.height/r.offsetHeight||1;return{left:e.left,right:e.left+r.clientWidth*t,top:e.top,bottom:e.top+r.clientHeight*i}}function Zy(r,e,t){let i=r.someProp("scrollThreshold")||0,n=r.someProp("scrollMargin")||5,s=r.dom.ownerDocument;for(let o=t||r.dom;o;o=Pa(o)){if(o.nodeType!=1)continue;let a=o,l=a==s.body,c=l?_M(s):GM(a),u=0,h=0;if(e.topc.bottom-ui(i,"bottom")&&(h=e.bottom-e.top>c.bottom-c.top?e.top+ui(n,"top")-c.top:e.bottom-c.bottom+ui(n,"bottom")),e.leftc.right-ui(i,"right")&&(u=e.right-c.right+ui(n,"right")),u||h)if(l)s.defaultView.scrollBy(u,h);else{let d=a.scrollLeft,f=a.scrollTop;h&&(a.scrollTop+=h),u&&(a.scrollLeft+=u);let p=a.scrollLeft-d,m=a.scrollTop-f;e={left:e.left-p,top:e.top-m,right:e.right-p,bottom:e.bottom-m}}if(l||/^(fixed|sticky)$/.test(getComputedStyle(o).position))break}}function HM(r){let e=r.dom.getBoundingClientRect(),t=Math.max(0,e.top),i,n;for(let s=(e.left+e.right)/2,o=t+1;o=t-20){i=a,n=l.top;break}}return{refDOM:i,refTop:n,stack:ik(r.dom)}}function ik(r){let e=[],t=r.ownerDocument;for(let i=r;i&&(e.push({dom:i,top:i.scrollTop,left:i.scrollLeft}),r!=t);i=Pa(i));return e}function KM({refDOM:r,refTop:e,stack:t}){let i=r?r.getBoundingClientRect().top:0;nk(t,i==0?0:i-e)}function nk(r,e){for(let t=0;t=a){o=Math.max(p.bottom,o),a=Math.min(p.top,a);let m=p.left>e.left?p.left-e.left:p.right=(p.left+p.right)/2?1:0));continue}}else p.top>e.top&&!l&&p.left<=e.left&&p.right>=e.left&&(l=u,c={left:Math.max(p.left,Math.min(p.right,e.left)),top:p.top});!t&&(e.left>=p.right&&e.top>=p.top||e.left>=p.left&&e.top>=p.bottom)&&(s=h+1)}}return!t&&l&&(t=l,n=c,i=0),t&&t.nodeType==3?e2(t,n):!t||i&&t.nodeType==1?{node:r,offset:s}:sk(t,n)}function e2(r,e){let t=r.nodeValue.length,i=document.createRange();for(let n=0;n=(s.left+s.right)/2?1:0)}}return{node:r,offset:0}}function Sm(r,e){return r.left>=e.left-1&&r.left<=e.right+1&&r.top>=e.top-1&&r.top<=e.bottom+1}function t2(r,e){let t=r.parentNode;return t&&/^li$/i.test(t.nodeName)&&e.left(o.left+o.right)/2?1:-1}return r.docView.posFromDOM(i,n,s)}function i2(r,e,t,i){let n=-1;for(let s=e,o=!1;s!=r.dom;){let a=r.docView.nearestDesc(s,!0);if(!a)return null;if(a.dom.nodeType==1&&(a.node.isBlock&&a.parent&&!o||!a.contentDOM)){let l=a.dom.getBoundingClientRect();if(a.node.isBlock&&a.parent&&!o&&(o=!0,l.left>i.left||l.top>i.top?n=a.posBefore:(l.right-1?n:r.docView.posFromDOM(e,t,-1)}function ok(r,e,t){let i=r.childNodes.length;if(i&&t.tope.top&&n++}i==r.dom&&n==i.childNodes.length-1&&i.lastChild.nodeType==1&&e.top>i.lastChild.getBoundingClientRect().bottom?a=r.state.doc.content.size:(n==0||i.nodeType!=1||i.childNodes[n-1].nodeName!="BR")&&(a=i2(r,i,n,e))}a==null&&(a=r2(r,o,e));let l=r.docView.nearestDesc(o,!0);return{pos:a,inside:l?l.posAtStart-l.border:-1}}function Ny(r){return r.top=0&&n==i.nodeValue.length?(a--,c=1):t<0?a--:l++,Eo(Ni(di(i,a,l),c),c<0)}if(!r.state.doc.resolve(e-(s||0)).parent.inlineContent){if(s==null&&n&&(t<0||n==Br(i))){let a=i.childNodes[n-1];if(a.nodeType==1)return Uh(a.getBoundingClientRect(),!1)}if(s==null&&n=0)}if(s==null&&n&&(t<0||n==Br(i))){let a=i.childNodes[n-1],l=a.nodeType==3?di(a,Br(a)-(o?0:1)):a.nodeType==1&&(a.nodeName!="BR"||!a.nextSibling)?a:null;if(l)return Eo(Ni(l,1),!1)}if(s==null&&n=0)}function Eo(r,e){if(r.width==0)return r;let t=e?r.left:r.right;return{top:r.top,bottom:r.bottom,left:t,right:t}}function Uh(r,e){if(r.height==0)return r;let t=e?r.top:r.bottom;return{top:t,bottom:t,left:r.left,right:r.right}}function lk(r,e,t){let i=r.state,n=r.root.activeElement;i!=e&&r.updateState(e),n!=r.dom&&r.focus();try{return t()}finally{i!=e&&r.updateState(i),n!=r.dom&&n&&n.focus()}}function o2(r,e,t){let i=e.selection,n=t=="up"?i.$from:i.$to;return lk(r,e,()=>{let{node:s}=r.docView.domFromPos(n.pos,t=="up"?-1:1);for(;;){let a=r.docView.nearestDesc(s,!0);if(!a)break;if(a.node.isBlock){s=a.contentDOM||a.dom;break}s=a.dom.parentNode}let o=ak(r,n.pos,1);for(let a=s.firstChild;a;a=a.nextSibling){let l;if(a.nodeType==1)l=a.getClientRects();else if(a.nodeType==3)l=di(a,0,a.nodeValue.length).getClientRects();else continue;for(let c=0;cu.top+1&&(t=="up"?o.top-u.top>(u.bottom-o.top)*2:u.bottom-o.bottom>(o.bottom-u.top)*2))return!1}}return!0})}const a2=/[\u0590-\u08ac]/;function l2(r,e,t){let{$head:i}=e.selection;if(!i.parent.isTextblock)return!1;let n=i.parentOffset,s=!n,o=n==i.parent.content.size,a=r.domSelection();return!a2.test(i.parent.textContent)||!a.modify?t=="left"||t=="backward"?s:o:lk(r,e,()=>{let{focusNode:l,focusOffset:c,anchorNode:u,anchorOffset:h}=r.domSelectionRange(),d=a.caretBidiLevel;a.modify("move",t,"character");let f=i.depth?r.docView.domAfterPos(i.before()):r.dom,{focusNode:p,focusOffset:m}=r.domSelectionRange(),g=p&&!f.contains(p.nodeType==1?p:p.parentNode)||l==p&&c==m;try{a.collapse(u,h),l&&(l!=u||c!=h)&&a.extend&&a.extend(l,c)}catch{}return d!=null&&(a.caretBidiLevel=d),g})}let Fy=null,Iy=null,By=!1;function c2(r,e,t){return Fy==e&&Iy==t?By:(Fy=e,Iy=t,By=t=="up"||t=="down"?o2(r,e,t):l2(r,e,t))}const ir=0,qy=1,Bn=2,ei=3;class al{constructor(e,t,i,n){this.parent=e,this.children=t,this.dom=i,this.contentDOM=n,this.dirty=ir,i.pmViewDesc=this}matchesWidget(e){return!1}matchesMark(e){return!1}matchesNode(e,t,i){return!1}matchesHack(e){return!1}parseRule(){return null}stopEvent(e){return!1}get size(){let e=0;for(let t=0;tmt(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))n=e.compareDocumentPosition(this.contentDOM)&2;else if(this.dom.firstChild){if(t==0)for(let s=e;;s=s.parentNode){if(s==this.dom){n=!1;break}if(s.previousSibling)break}if(n==null&&t==e.childNodes.length)for(let s=e;;s=s.parentNode){if(s==this.dom){n=!0;break}if(s.nextSibling)break}}return n??i>0?this.posAtEnd:this.posAtStart}nearestDesc(e,t=!1){for(let i=!0,n=e;n;n=n.parentNode){let s=this.getDesc(n),o;if(s&&(!t||s.node))if(i&&(o=s.nodeDOM)&&!(o.nodeType==1?o.contains(e.nodeType==1?e:e.parentNode):o==e))i=!1;else return s}}getDesc(e){let t=e.pmViewDesc;for(let i=t;i;i=i.parent)if(i==this)return t}posFromDOM(e,t,i){for(let n=e;n;n=n.parentNode){let s=this.getDesc(n);if(s)return s.localPosFromDOM(e,t,i)}return-1}descAt(e){for(let t=0,i=0;te||o instanceof uk){n=e-s;break}s=a}if(n)return this.children[i].domFromPos(n-this.children[i].border,t);for(let s;i&&!(s=this.children[i-1]).size&&s instanceof ck&&s.side>=0;i--);if(t<=0){let s,o=!0;for(;s=i?this.children[i-1]:null,!(!s||s.dom.parentNode==this.contentDOM);i--,o=!1);return s&&t&&o&&!s.border&&!s.domAtom?s.domFromPos(s.size,t):{node:this.contentDOM,offset:s?mt(s.dom)+1:0}}else{let s,o=!0;for(;s=i=u&&t<=c-l.border&&l.node&&l.contentDOM&&this.contentDOM.contains(l.contentDOM))return l.parseRange(e,t,u);e=o;for(let h=a;h>0;h--){let d=this.children[h-1];if(d.size&&d.dom.parentNode==this.contentDOM&&!d.emptyChildAt(1)){n=mt(d.dom)+1;break}e-=d.size}n==-1&&(n=0)}if(n>-1&&(c>t||a==this.children.length-1)){t=c;for(let u=a+1;uf&&ot){let f=a;a=l,l=f}let d=document.createRange();d.setEnd(l.node,l.offset),d.setStart(a.node,a.offset),c.removeAllRanges(),c.addRange(d)}}ignoreMutation(e){return!this.contentDOM&&e.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(e,t){for(let i=0,n=0;n=i:ei){let a=i+s.border,l=o-s.border;if(e>=a&&t<=l){this.dirty=e==i||t==o?Bn:qy,e==a&&t==l&&(s.contentLost||s.dom.parentNode!=this.contentDOM)?s.dirty=ei:s.markDirty(e-a,t-a);return}else s.dirty=s.dom==s.contentDOM&&s.dom.parentNode==this.contentDOM&&!s.children.length?Bn:ei}i=o}this.dirty=Bn}markParentsDirty(){let e=1;for(let t=this.parent;t;t=t.parent,e++){let i=e==1?Bn:qy;t.dirty{if(!s)return n;if(s.parent)return s.parent.posBeforeChild(s)})),!t.type.spec.raw){if(o.nodeType!=1){let a=document.createElement("span");a.appendChild(o),o=a}o.contentEditable="false",o.classList.add("ProseMirror-widget")}super(e,[],o,null),this.widget=t,this.widget=t,s=this}matchesWidget(e){return this.dirty==ir&&e.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(e){let t=this.widget.spec.stopEvent;return t?t(e):!1}ignoreMutation(e){return e.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get side(){return this.widget.type.side}}class u2 extends al{constructor(e,t,i,n){super(e,[],t,null),this.textDOM=i,this.text=n}get size(){return this.text.length}localPosFromDOM(e,t){return e!=this.textDOM?this.posAtStart+(t?this.size:0):this.posAtStart+t}domFromPos(e){return{node:this.textDOM,offset:e}}ignoreMutation(e){return e.type==="characterData"&&e.target.nodeValue==e.oldValue}}class is extends al{constructor(e,t,i,n){super(e,[],i,n),this.mark=t}static create(e,t,i,n){let s=n.nodeViews[t.type.name],o=s&&s(t,n,i);return(!o||!o.dom)&&(o=Yr.renderSpec(document,t.type.spec.toDOM(t,i))),new is(e,t,o.dom,o.contentDOM||o.dom)}parseRule(){return this.dirty&ei||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(e){return this.dirty!=ei&&this.mark.eq(e)}markDirty(e,t){if(super.markDirty(e,t),this.dirty!=ir){let i=this.parent;for(;!i.node;)i=i.parent;i.dirty0&&(s=Bf(s,0,e,i));for(let a=0;a{if(!l)return o;if(l.parent)return l.parent.posBeforeChild(l)},i,n),u=c&&c.dom,h=c&&c.contentDOM;if(t.isText){if(!u)u=document.createTextNode(t.text);else if(u.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else u||({dom:u,contentDOM:h}=Yr.renderSpec(document,t.type.spec.toDOM(t)));!h&&!t.isText&&u.nodeName!="BR"&&(u.hasAttribute("contenteditable")||(u.contentEditable="false"),t.type.spec.draggable&&(u.draggable=!0));let d=u;return u=fk(u,i,t),c?l=new h2(e,t,i,n,u,h||null,d,c,s,o+1):t.isText?new Yu(e,t,i,n,u,d,s):new en(e,t,i,n,u,h||null,d,s,o+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let e={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre"&&(e.preserveWhitespace="full"),!this.contentDOM)e.getContent=()=>this.node.content;else if(!this.contentLost)e.contentElement=this.contentDOM;else{for(let t=this.children.length-1;t>=0;t--){let i=this.children[t];if(this.dom.contains(i.dom.parentNode)){e.contentElement=i.dom.parentNode;break}}e.contentElement||(e.getContent=()=>Z.empty)}return e}matchesNode(e,t,i){return this.dirty==ir&&e.eq(this.node)&&If(t,this.outerDeco)&&i.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(e,t){let i=this.node.inlineContent,n=t,s=e.composing?this.localCompositionInfo(e,t):null,o=s&&s.pos>-1?s:null,a=s&&s.pos<0,l=new f2(this,o&&o.node,e);g2(this.node,this.innerDeco,(c,u,h)=>{c.spec.marks?l.syncToMarks(c.spec.marks,i,e):c.type.side>=0&&!h&&l.syncToMarks(u==this.node.childCount?ae.none:this.node.child(u).marks,i,e),l.placeWidget(c,e,n)},(c,u,h,d)=>{l.syncToMarks(c.marks,i,e);let f;l.findNodeMatch(c,u,h,d)||a&&e.state.selection.from>n&&e.state.selection.to-1&&l.updateNodeAt(c,u,h,f,e)||l.updateNextNode(c,u,h,e,d,n)||l.addNode(c,u,h,e,n),n+=c.nodeSize}),l.syncToMarks([],i,e),this.node.isTextblock&&l.addTextblockHacks(),l.destroyRest(),(l.changed||this.dirty==Bn)&&(o&&this.protectLocalComposition(e,o),hk(this.contentDOM,this.children,e),to&&O2(this.dom))}localCompositionInfo(e,t){let{from:i,to:n}=e.state.selection;if(!(e.state.selection instanceof oe)||it+this.node.content.size)return null;let s=e.domSelectionRange(),o=y2(s.focusNode,s.focusOffset);if(!o||!this.dom.contains(o.parentNode))return null;if(this.node.inlineContent){let a=o.nodeValue,l=b2(this.node.content,a,i-t,n-t);return l<0?null:{node:o,pos:l,text:a}}else return{node:o,pos:-1,text:""}}protectLocalComposition(e,{node:t,pos:i,text:n}){if(this.getDesc(t))return;let s=t;for(;s.parentNode!=this.contentDOM;s=s.parentNode){for(;s.previousSibling;)s.parentNode.removeChild(s.previousSibling);for(;s.nextSibling;)s.parentNode.removeChild(s.nextSibling);s.pmViewDesc&&(s.pmViewDesc=void 0)}let o=new u2(this,s,t,n);e.input.compositionNodes.push(o),this.children=Bf(this.children,i,i+n.length,e,o)}update(e,t,i,n){return this.dirty==ei||!e.sameMarkup(this.node)?!1:(this.updateInner(e,t,i,n),!0)}updateInner(e,t,i,n){this.updateOuterDeco(t),this.node=e,this.innerDeco=i,this.contentDOM&&this.updateChildren(n,this.posAtStart),this.dirty=ir}updateOuterDeco(e){if(If(e,this.outerDeco))return;let t=this.nodeDOM.nodeType!=1,i=this.dom;this.dom=dk(this.dom,this.nodeDOM,Ff(this.outerDeco,this.node,t),Ff(e,this.node,t)),this.dom!=i&&(i.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=e}selectNode(){this.nodeDOM.nodeType==1&&this.nodeDOM.classList.add("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&(this.dom.draggable=!0)}deselectNode(){this.nodeDOM.nodeType==1&&this.nodeDOM.classList.remove("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&this.dom.removeAttribute("draggable")}get domAtom(){return this.node.isAtom}}function Ly(r,e,t,i,n){fk(i,e,r);let s=new en(void 0,r,e,t,i,i,i,n,0);return s.contentDOM&&s.updateChildren(n,0),s}class Yu extends en{constructor(e,t,i,n,s,o,a){super(e,t,i,n,s,null,o,a,0)}parseRule(){let e=this.nodeDOM.parentNode;for(;e&&e!=this.dom&&!e.pmIsDeco;)e=e.parentNode;return{skip:e||!0}}update(e,t,i,n){return this.dirty==ei||this.dirty!=ir&&!this.inParent()||!e.sameMarkup(this.node)?!1:(this.updateOuterDeco(t),(this.dirty!=ir||e.text!=this.node.text)&&e.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=e.text,n.trackWrites==this.nodeDOM&&(n.trackWrites=null)),this.node=e,this.dirty=ir,!0)}inParent(){let e=this.parent.contentDOM;for(let t=this.nodeDOM;t;t=t.parentNode)if(t==e)return!0;return!1}domFromPos(e){return{node:this.nodeDOM,offset:e}}localPosFromDOM(e,t,i){return e==this.nodeDOM?this.posAtStart+Math.min(t,this.node.text.length):super.localPosFromDOM(e,t,i)}ignoreMutation(e){return e.type!="characterData"&&e.type!="selection"}slice(e,t,i){let n=this.node.cut(e,t),s=document.createTextNode(n.text);return new Yu(this.parent,n,this.outerDeco,this.innerDeco,s,s,i)}markDirty(e,t){super.markDirty(e,t),this.dom!=this.nodeDOM&&(e==0||t==this.nodeDOM.nodeValue.length)&&(this.dirty=ei)}get domAtom(){return!1}}class uk extends al{parseRule(){return{ignore:!0}}matchesHack(e){return this.dirty==ir&&this.dom.nodeName==e}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName=="IMG"}}class h2 extends en{constructor(e,t,i,n,s,o,a,l,c,u){super(e,t,i,n,s,o,a,c,u),this.spec=l}update(e,t,i,n){if(this.dirty==ei)return!1;if(this.spec.update){let s=this.spec.update(e,t,i);return s&&this.updateInner(e,t,i,n),s}else return!this.contentDOM&&!e.isLeaf?!1:super.update(e,t,i,n)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(e,t,i,n){this.spec.setSelection?this.spec.setSelection(e,t,i):super.setSelection(e,t,i,n)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(e){return this.spec.stopEvent?this.spec.stopEvent(e):!1}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}}function hk(r,e,t){let i=r.firstChild,n=!1;for(let s=0;s>1,o=Math.min(s,e.length);for(;n-1)a>this.index&&(this.changed=!0,this.destroyBetween(this.index,a)),this.top=this.top.children[this.index];else{let l=is.create(this.top,e[s],t,i);this.top.children.splice(this.index,0,l),this.top=l,this.changed=!0}this.index=0,s++}}findNodeMatch(e,t,i,n){let s=-1,o;if(n>=this.preMatch.index&&(o=this.preMatch.matches[n-this.preMatch.index]).parent==this.top&&o.matchesNode(e,t,i))s=this.top.children.indexOf(o,this.index);else for(let a=this.index,l=Math.min(this.top.children.length,a+5);a0;){let a;for(;;)if(i){let c=t.children[i-1];if(c instanceof is)t=c,i=c.children.length;else{a=c,i--;break}}else{if(t==e)break e;i=t.parent.children.indexOf(t),t=t.parent}let l=a.node;if(l){if(l!=r.child(n-1))break;--n,s.set(a,n),o.push(a)}}return{index:n,matched:s,matches:o.reverse()}}function m2(r,e){return r.type.side-e.type.side}function g2(r,e,t,i){let n=e.locals(r),s=0;if(n.length==0){for(let c=0;cs;)a.push(n[o++]);let p=s+d.nodeSize;if(d.isText){let g=p;o!g.inline):a.slice();i(d,m,e.forChild(s,d),f),s=p}}function O2(r){if(r.nodeName=="UL"||r.nodeName=="OL"){let e=r.style.cssText;r.style.cssText=e+"; list-style: square !important",window.getComputedStyle(r).listStyle,r.style.cssText=e}}function y2(r,e){for(;;){if(r.nodeType==3)return r;if(r.nodeType==1&&e>0){if(r.childNodes.length>e&&r.childNodes[e].nodeType==3)return r.childNodes[e];r=r.childNodes[e-1],e=Br(r)}else if(r.nodeType==1&&e=t){let c=a=0&&c+e.length+a>=t)return a+c;if(t==i&&l.length>=i+e.length-a&&l.slice(i-a,i-a+e.length)==e)return i}}return-1}function Bf(r,e,t,i,n){let s=[];for(let o=0,a=0;o=t||u<=e?s.push(l):(ct&&s.push(l.slice(t-c,l.size,i)))}return s}function Cm(r,e=null){let t=r.domSelectionRange(),i=r.state.doc;if(!t.focusNode)return null;let n=r.docView.nearestDesc(t.focusNode),s=n&&n.size==0,o=r.docView.posFromDOM(t.focusNode,t.focusOffset,1);if(o<0)return null;let a=i.resolve(o),l,c;if(Lu(t)){for(l=a;n&&!n.node;)n=n.parent;let u=n.node;if(n&&u.isAtom&&J.isSelectable(u)&&n.parent&&!(u.isInline&&YM(t.focusNode,t.focusOffset,n.dom))){let h=n.posBefore;c=new J(o==h?a:i.resolve(h))}}else{let u=r.docView.posFromDOM(t.anchorNode,t.anchorOffset,1);if(u<0)return null;l=i.resolve(u)}if(!c){let u=e=="pointer"||r.state.selection.head{(t.anchorNode!=i||t.anchorOffset!=n)&&(e.removeEventListener("selectionchange",r.input.hideSelectionGuard),setTimeout(()=>{(!pk(r)||r.state.selection.visible)&&r.dom.classList.remove("ProseMirror-hideselection")},20))})}function v2(r){let e=r.domSelection(),t=document.createRange(),i=r.cursorWrapper.dom,n=i.nodeName=="IMG";n?t.setEnd(i.parentNode,mt(i)+1):t.setEnd(i,0),t.collapse(!1),e.removeAllRanges(),e.addRange(t),!n&&!r.state.selection.visible&&Tt&&Ji<=11&&(i.disabled=!0,i.disabled=!1)}function mk(r,e){if(e instanceof J){let t=r.docView.descAt(e.from);t!=r.lastSelectedViewDesc&&(Wy(r),t&&t.selectNode(),r.lastSelectedViewDesc=t)}else Wy(r)}function Wy(r){r.lastSelectedViewDesc&&(r.lastSelectedViewDesc.parent&&r.lastSelectedViewDesc.deselectNode(),r.lastSelectedViewDesc=void 0)}function Qm(r,e,t,i){return r.someProp("createSelectionBetween",n=>n(r,e,t))||oe.between(e,t,i)}function jy(r){return r.editable&&!r.hasFocus()?!1:gk(r)}function gk(r){let e=r.domSelectionRange();if(!e.anchorNode)return!1;try{return r.dom.contains(e.anchorNode.nodeType==3?e.anchorNode.parentNode:e.anchorNode)&&(r.editable||r.dom.contains(e.focusNode.nodeType==3?e.focusNode.parentNode:e.focusNode))}catch{return!1}}function k2(r){let e=r.docView.domFromPos(r.state.selection.anchor,0),t=r.domSelectionRange();return rs(e.node,e.offset,t.anchorNode,t.anchorOffset)}function qf(r,e){let{$anchor:t,$head:i}=r.selection,n=e>0?t.max(i):t.min(i),s=n.parent.inlineContent?n.depth?r.doc.resolve(e>0?n.after():n.before()):null:n;return s&&ie.findFrom(s,e)}function Mn(r,e){return r.dispatch(r.state.tr.setSelection(e).scrollIntoView()),!0}function Uy(r,e,t){let i=r.state.selection;if(i instanceof oe){if(!i.empty||t.indexOf("s")>-1)return!1;if(r.endOfTextblock(e>0?"forward":"backward")){let n=qf(r.state,e);return n&&n instanceof J?Mn(r,n):!1}else if(!(_t&&t.indexOf("m")>-1)){let n=i.$head,s=n.textOffset?null:e<0?n.nodeBefore:n.nodeAfter,o;if(!s||s.isText)return!1;let a=e<0?n.pos-s.nodeSize:n.pos;return s.isAtom||(o=r.docView.descAt(a))&&!o.contentDOM?J.isSelectable(s)?Mn(r,new J(e<0?r.state.doc.resolve(n.pos-s.nodeSize):n)):Xu?Mn(r,new oe(r.state.doc.resolve(e<0?a:a+s.nodeSize))):!1:!1}}else{if(i instanceof J&&i.node.isInline)return Mn(r,new oe(e>0?i.$to:i.$from));{let n=qf(r.state,e);return n?Mn(r,n):!1}}}function eu(r){return r.nodeType==3?r.nodeValue.length:r.childNodes.length}function ya(r,e){if(r.contentEditable=="false")return!0;let t=r.pmViewDesc;return t&&t.size==0&&(e<0||r.nextSibling||r.nodeName!="BR")}function bs(r,e){return e<0?x2(r):S2(r)}function x2(r){let e=r.domSelectionRange(),t=e.focusNode,i=e.focusOffset;if(!t)return;let n,s,o=!1;for(vr&&t.nodeType==1&&i0){if(t.nodeType!=1)break;{let a=t.childNodes[i-1];if(ya(a,-1))n=t,s=--i;else if(a.nodeType==3)t=a,i=t.nodeValue.length;else break}}else{if(Ok(t))break;{let a=t.previousSibling;for(;a&&ya(a,-1);)n=t.parentNode,s=mt(a),a=a.previousSibling;if(a)t=a,i=eu(t);else{if(t=t.parentNode,t==r.dom)break;i=0}}}o?Lf(r,t,i):n&&Lf(r,n,s)}function S2(r){let e=r.domSelectionRange(),t=e.focusNode,i=e.focusOffset;if(!t)return;let n=eu(t),s,o;for(;;)if(i{r.state==n&&bi(r)},50)}function _y(r,e){let t=r.state.doc.resolve(e);if(!(ot||jM)&&t.parent.inlineContent){let i=r.coordsAtPos(e);if(e>t.start()){let n=r.coordsAtPos(e-1),s=(n.top+n.bottom)/2;if(s>i.top&&s1)return n.lefti.top&&s1)return n.left>i.left?"ltr":"rtl"}}return getComputedStyle(r.dom).direction=="rtl"?"rtl":"ltr"}function Gy(r,e,t){let i=r.state.selection;if(i instanceof oe&&!i.empty||t.indexOf("s")>-1||_t&&t.indexOf("m")>-1)return!1;let{$from:n,$to:s}=i;if(!n.parent.inlineContent||r.endOfTextblock(e<0?"up":"down")){let o=qf(r.state,e);if(o&&o instanceof J)return Mn(r,o)}if(!n.parent.inlineContent){let o=e<0?n:s,a=i instanceof Yt?ie.near(o,e):ie.findFrom(o,e);return a?Mn(r,a):!1}return!1}function Hy(r,e){if(!(r.state.selection instanceof oe))return!0;let{$head:t,$anchor:i,empty:n}=r.state.selection;if(!t.sameParent(i))return!0;if(!n)return!1;if(r.endOfTextblock(e>0?"forward":"backward"))return!0;let s=!t.textOffset&&(e<0?t.nodeBefore:t.nodeAfter);if(s&&!s.isText){let o=r.state.tr;return e<0?o.delete(t.pos-s.nodeSize,t.pos):o.delete(t.pos,t.pos+s.nodeSize),r.dispatch(o),!0}return!1}function Ky(r,e,t){r.domObserver.stop(),e.contentEditable=t,r.domObserver.start()}function $2(r){if(!vt||r.state.selection.$head.parentOffset>0)return!1;let{focusNode:e,focusOffset:t}=r.domSelectionRange();if(e&&e.nodeType==1&&t==0&&e.firstChild&&e.firstChild.contentEditable=="false"){let i=e.firstChild;Ky(r,i,"true"),setTimeout(()=>Ky(r,i,"false"),20)}return!1}function A2(r){let e="";return r.ctrlKey&&(e+="c"),r.metaKey&&(e+="m"),r.altKey&&(e+="a"),r.shiftKey&&(e+="s"),e}function D2(r,e){let t=e.keyCode,i=A2(e);if(t==8||_t&&t==72&&i=="c")return Hy(r,-1)||bs(r,-1);if(t==46&&!e.shiftKey||_t&&t==68&&i=="c")return Hy(r,1)||bs(r,1);if(t==13||t==27)return!0;if(t==37||_t&&t==66&&i=="c"){let n=t==37?_y(r,r.state.selection.from)=="ltr"?-1:1:-1;return Uy(r,n,i)||bs(r,n)}else if(t==39||_t&&t==70&&i=="c"){let n=t==39?_y(r,r.state.selection.from)=="ltr"?1:-1:1;return Uy(r,n,i)||bs(r,n)}else{if(t==38||_t&&t==80&&i=="c")return Gy(r,-1,i)||bs(r,-1);if(t==40||_t&&t==78&&i=="c")return $2(r)||Gy(r,1,i)||bs(r,1);if(i==(_t?"m":"c")&&(t==66||t==73||t==89||t==90))return!0}return!1}function yk(r,e){r.someProp("transformCopied",f=>{e=f(e,r)});let t=[],{content:i,openStart:n,openEnd:s}=e;for(;n>1&&s>1&&i.childCount==1&&i.firstChild.childCount==1;){n--,s--;let f=i.firstChild;t.push(f.type.name,f.attrs!=f.type.defaultAttrs?f.attrs:null),i=f.content}let o=r.someProp("clipboardSerializer")||Yr.fromSchema(r.state.schema),a=Sk(),l=a.createElement("div");l.appendChild(o.serializeFragment(i,{document:a}));let c=l.firstChild,u,h=0;for(;c&&c.nodeType==1&&(u=xk[c.nodeName.toLowerCase()]);){for(let f=u.length-1;f>=0;f--){let p=a.createElement(u[f]);for(;l.firstChild;)p.appendChild(l.firstChild);l.appendChild(p),h++}c=l.firstChild}c&&c.nodeType==1&&c.setAttribute("data-pm-slice",`${n} ${s}${h?` -${h}`:""} ${JSON.stringify(t)}`);let d=r.someProp("clipboardTextSerializer",f=>f(e,r))||e.content.textBetween(0,e.content.size,` + +`);return{dom:l,text:d}}function bk(r,e,t,i,n){let s=n.parent.type.spec.code,o,a;if(!t&&!e)return null;let l=e&&(i||s||!t);if(l){if(r.someProp("transformPastedText",d=>{e=d(e,s||i,r)}),s)return e?new L(Z.from(r.state.schema.text(e.replace(/\r\n?/g,` +`))),0,0):L.empty;let h=r.someProp("clipboardTextParser",d=>d(e,n,i,r));if(h)a=h;else{let d=n.marks(),{schema:f}=r.state,p=Yr.fromSchema(f);o=document.createElement("div"),e.split(/(?:\r\n?|\n)+/).forEach(m=>{let g=o.appendChild(document.createElement("p"));m&&g.appendChild(p.serializeNode(f.text(m,d)))})}}else r.someProp("transformPastedHTML",h=>{t=h(t,r)}),o=E2(t),Xu&&M2(o);let c=o&&o.querySelector("[data-pm-slice]"),u=c&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(c.getAttribute("data-pm-slice")||"");if(u&&u[3])for(let h=+u[3];h>0;h--){let d=o.firstChild;for(;d&&d.nodeType!=1;)d=d.nextSibling;if(!d)break;o=d}if(a||(a=(r.someProp("clipboardParser")||r.someProp("domParser")||ts.fromSchema(r.state.schema)).parseSlice(o,{preserveWhitespace:!!(l||u),context:n,ruleFromNode(h){return h.nodeName=="BR"&&!h.nextSibling&&h.parentNode&&!T2.test(h.parentNode.nodeName)?{ignore:!0}:null}})),u)a=R2(Jy(a,+u[1],+u[2]),u[4]);else if(a=L.maxOpen(P2(a.content,n),!0),a.openStart||a.openEnd){let h=0,d=0;for(let f=a.content.firstChild;h{a=h(a,r)}),a}const T2=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function P2(r,e){if(r.childCount<2)return r;for(let t=e.depth;t>=0;t--){let i=e.node(t).contentMatchAt(e.index(t)),n,s=[];if(r.forEach(o=>{if(!s)return;let a=i.findWrapping(o.type),l;if(!a)return s=null;if(l=s.length&&n.length&&vk(a,n,o,s[s.length-1],0))s[s.length-1]=l;else{s.length&&(s[s.length-1]=kk(s[s.length-1],n.length));let c=wk(o,a);s.push(c),i=i.matchType(c.type),n=a}}),s)return Z.from(s)}return r}function wk(r,e,t=0){for(let i=e.length-1;i>=t;i--)r=e[i].create(null,Z.from(r));return r}function vk(r,e,t,i,n){if(n1&&(s=0),n=t&&(a=e<0?o.contentMatchAt(0).fillBefore(a,s<=n).append(a):a.append(o.contentMatchAt(o.childCount).fillBefore(Z.empty,!0))),r.replaceChild(e<0?0:r.childCount-1,o.copy(a))}function Jy(r,e,t){return e]*>)*/.exec(r);e&&(r=r.slice(e[0].length));let t=Sk().createElement("div"),i=/<([a-z][^>\s]+)/i.exec(r),n;if((n=i&&xk[i[1].toLowerCase()])&&(r=n.map(s=>"<"+s+">").join("")+r+n.map(s=>"").reverse().join("")),t.innerHTML=r,n)for(let s=0;s=0;a-=2){let l=t.nodes[i[a]];if(!l||l.hasRequiredAttrs())break;n=Z.from(l.create(i[a+1],n)),s++,o++}return new L(n,s,o)}const kt={},xt={},Z2={touchstart:!0,touchmove:!0};let N2=class{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:""},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastAndroidDelete=0,this.composing=!1,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}};function F2(r){for(let e in kt){let t=kt[e];r.dom.addEventListener(e,r.input.eventHandlers[e]=i=>{B2(r,i)&&!$m(r,i)&&(r.editable||!(i.type in xt))&&t(r,i)},Z2[e]?{passive:!0}:void 0)}vt&&r.dom.addEventListener("input",()=>null),Yf(r)}function Wi(r,e){r.input.lastSelectionOrigin=e,r.input.lastSelectionTime=Date.now()}function I2(r){r.domObserver.stop();for(let e in r.input.eventHandlers)r.dom.removeEventListener(e,r.input.eventHandlers[e]);clearTimeout(r.input.composingTimeout),clearTimeout(r.input.lastIOSEnterFallbackTimeout)}function Yf(r){r.someProp("handleDOMEvents",e=>{for(let t in e)r.input.eventHandlers[t]||r.dom.addEventListener(t,r.input.eventHandlers[t]=i=>$m(r,i))})}function $m(r,e){return r.someProp("handleDOMEvents",t=>{let i=t[e.type];return i?i(r,e)||e.defaultPrevented:!1})}function B2(r,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target;t!=r.dom;t=t.parentNode)if(!t||t.nodeType==11||t.pmViewDesc&&t.pmViewDesc.stopEvent(e))return!1;return!0}function q2(r,e){!$m(r,e)&&kt[e.type]&&(r.editable||!(e.type in xt))&&kt[e.type](r,e)}xt.keydown=(r,e)=>{let t=e;if(r.input.shiftKey=t.keyCode==16||t.shiftKey,!Qk(r,t)&&(r.input.lastKeyCode=t.keyCode,r.input.lastKeyCodeTime=Date.now(),!(fr&&ot&&t.keyCode==13)))if(t.keyCode!=229&&r.domObserver.forceFlush(),to&&t.keyCode==13&&!t.ctrlKey&&!t.altKey&&!t.metaKey){let i=Date.now();r.input.lastIOSEnter=i,r.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{r.input.lastIOSEnter==i&&(r.someProp("handleKeyDown",n=>n(r,En(13,"Enter"))),r.input.lastIOSEnter=0)},200)}else r.someProp("handleKeyDown",i=>i(r,t))||D2(r,t)?t.preventDefault():Wi(r,"key")};xt.keyup=(r,e)=>{e.keyCode==16&&(r.input.shiftKey=!1)};xt.keypress=(r,e)=>{let t=e;if(Qk(r,t)||!t.charCode||t.ctrlKey&&!t.altKey||_t&&t.metaKey)return;if(r.someProp("handleKeyPress",n=>n(r,t))){t.preventDefault();return}let i=r.state.selection;if(!(i instanceof oe)||!i.$from.sameParent(i.$to)){let n=String.fromCharCode(t.charCode);!/[\r\n]/.test(n)&&!r.someProp("handleTextInput",s=>s(r,i.$from.pos,i.$to.pos,n))&&r.dispatch(r.state.tr.insertText(n).scrollIntoView()),t.preventDefault()}};function Vu(r){return{left:r.clientX,top:r.clientY}}function L2(r,e){let t=e.x-r.clientX,i=e.y-r.clientY;return t*t+i*i<100}function Am(r,e,t,i,n){if(i==-1)return!1;let s=r.state.doc.resolve(i);for(let o=s.depth+1;o>0;o--)if(r.someProp(e,a=>o>s.depth?a(r,t,s.nodeAfter,s.before(o),n,!0):a(r,t,s.node(o),s.before(o),n,!1)))return!0;return!1}function qs(r,e,t){r.focused||r.focus();let i=r.state.tr.setSelection(e);t=="pointer"&&i.setMeta("pointer",!0),r.dispatch(i)}function X2(r,e){if(e==-1)return!1;let t=r.state.doc.resolve(e),i=t.nodeAfter;return i&&i.isAtom&&J.isSelectable(i)?(qs(r,new J(t),"pointer"),!0):!1}function Y2(r,e){if(e==-1)return!1;let t=r.state.selection,i,n;t instanceof J&&(i=t.node);let s=r.state.doc.resolve(e);for(let o=s.depth+1;o>0;o--){let a=o>s.depth?s.nodeAfter:s.node(o);if(J.isSelectable(a)){i&&t.$from.depth>0&&o>=t.$from.depth&&s.before(t.$from.depth+1)==t.$from.pos?n=s.before(t.$from.depth):n=s.before(o);break}}return n!=null?(qs(r,J.create(r.state.doc,n),"pointer"),!0):!1}function V2(r,e,t,i,n){return Am(r,"handleClickOn",e,t,i)||r.someProp("handleClick",s=>s(r,e,i))||(n?Y2(r,t):X2(r,t))}function z2(r,e,t,i){return Am(r,"handleDoubleClickOn",e,t,i)||r.someProp("handleDoubleClick",n=>n(r,e,i))}function W2(r,e,t,i){return Am(r,"handleTripleClickOn",e,t,i)||r.someProp("handleTripleClick",n=>n(r,e,i))||j2(r,t,i)}function j2(r,e,t){if(t.button!=0)return!1;let i=r.state.doc;if(e==-1)return i.inlineContent?(qs(r,oe.create(i,0,i.content.size),"pointer"),!0):!1;let n=i.resolve(e);for(let s=n.depth+1;s>0;s--){let o=s>n.depth?n.nodeAfter:n.node(s),a=n.before(s);if(o.inlineContent)qs(r,oe.create(i,a+1,a+1+o.content.size),"pointer");else if(J.isSelectable(o))qs(r,J.create(i,a),"pointer");else continue;return!0}}function Dm(r){return tu(r)}const Ck=_t?"metaKey":"ctrlKey";kt.mousedown=(r,e)=>{let t=e;r.input.shiftKey=t.shiftKey;let i=Dm(r),n=Date.now(),s="singleClick";n-r.input.lastClick.time<500&&L2(t,r.input.lastClick)&&!t[Ck]&&(r.input.lastClick.type=="singleClick"?s="doubleClick":r.input.lastClick.type=="doubleClick"&&(s="tripleClick")),r.input.lastClick={time:n,x:t.clientX,y:t.clientY,type:s};let o=r.posAtCoords(Vu(t));o&&(s=="singleClick"?(r.input.mouseDown&&r.input.mouseDown.done(),r.input.mouseDown=new U2(r,o,t,!!i)):(s=="doubleClick"?z2:W2)(r,o.pos,o.inside,t)?t.preventDefault():Wi(r,"pointer"))};class U2{constructor(e,t,i,n){this.view=e,this.pos=t,this.event=i,this.flushed=n,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=e.state.doc,this.selectNode=!!i[Ck],this.allowDefault=i.shiftKey;let s,o;if(t.inside>-1)s=e.state.doc.nodeAt(t.inside),o=t.inside;else{let u=e.state.doc.resolve(t.pos);s=u.parent,o=u.depth?u.before():0}const a=n?null:i.target,l=a?e.docView.nearestDesc(a,!0):null;this.target=l?l.dom:null;let{selection:c}=e.state;(i.button==0&&s.type.spec.draggable&&s.type.spec.selectable!==!1||c instanceof J&&c.from<=o&&c.to>o)&&(this.mightDrag={node:s,pos:o,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&vr&&!this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")},20),this.view.domObserver.start()),e.root.addEventListener("mouseup",this.up=this.up.bind(this)),e.root.addEventListener("mousemove",this.move=this.move.bind(this)),Wi(e,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>bi(this.view)),this.view.input.mouseDown=null}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let t=this.pos;this.view.state.doc!=this.startDoc&&(t=this.view.posAtCoords(Vu(e))),this.updateAllowDefault(e),this.allowDefault||!t?Wi(this.view,"pointer"):V2(this.view,t.pos,t.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||vt&&this.mightDrag&&!this.mightDrag.node.isAtom||ot&&!this.view.state.selection.visible&&Math.min(Math.abs(t.pos-this.view.state.selection.from),Math.abs(t.pos-this.view.state.selection.to))<=2)?(qs(this.view,ie.near(this.view.state.doc.resolve(t.pos)),"pointer"),e.preventDefault()):Wi(this.view,"pointer")}move(e){this.updateAllowDefault(e),Wi(this.view,"pointer"),e.buttons==0&&this.done()}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}}kt.touchstart=r=>{r.input.lastTouch=Date.now(),Dm(r),Wi(r,"pointer")};kt.touchmove=r=>{r.input.lastTouch=Date.now(),Wi(r,"pointer")};kt.contextmenu=r=>Dm(r);function Qk(r,e){return r.composing?!0:vt&&Math.abs(e.timeStamp-r.input.compositionEndedAt)<500?(r.input.compositionEndedAt=-2e8,!0):!1}const _2=fr?5e3:-1;xt.compositionstart=xt.compositionupdate=r=>{if(!r.composing){r.domObserver.flush();let{state:e}=r,t=e.selection.$from;if(e.selection.empty&&(e.storedMarks||!t.textOffset&&t.parentOffset&&t.nodeBefore.marks.some(i=>i.type.spec.inclusive===!1)))r.markCursor=r.state.storedMarks||t.marks(),tu(r,!0),r.markCursor=null;else if(tu(r),vr&&e.selection.empty&&t.parentOffset&&!t.textOffset&&t.nodeBefore.marks.length){let i=r.domSelectionRange();for(let n=i.focusNode,s=i.focusOffset;n&&n.nodeType==1&&s!=0;){let o=s<0?n.lastChild:n.childNodes[s-1];if(!o)break;if(o.nodeType==3){r.domSelection().collapse(o,o.nodeValue.length);break}else n=o,s=-1}}r.input.composing=!0}$k(r,_2)};xt.compositionend=(r,e)=>{r.composing&&(r.input.composing=!1,r.input.compositionEndedAt=e.timeStamp,r.input.compositionPendingChanges=r.domObserver.pendingRecords().length?r.input.compositionID:0,r.input.compositionPendingChanges&&Promise.resolve().then(()=>r.domObserver.flush()),r.input.compositionID++,$k(r,20))};function $k(r,e){clearTimeout(r.input.composingTimeout),e>-1&&(r.input.composingTimeout=setTimeout(()=>tu(r),e))}function Ak(r){for(r.composing&&(r.input.composing=!1,r.input.compositionEndedAt=G2());r.input.compositionNodes.length>0;)r.input.compositionNodes.pop().markParentsDirty()}function G2(){let r=document.createEvent("Event");return r.initEvent("event",!0,!0),r.timeStamp}function tu(r,e=!1){if(!(fr&&r.domObserver.flushingSoon>=0)){if(r.domObserver.forceFlush(),Ak(r),e||r.docView&&r.docView.dirty){let t=Cm(r);return t&&!t.eq(r.state.selection)?r.dispatch(r.state.tr.setSelection(t)):r.updateState(r.state),!0}return!1}}function H2(r,e){if(!r.dom.parentNode)return;let t=r.dom.parentNode.appendChild(document.createElement("div"));t.appendChild(e),t.style.cssText="position: fixed; left: -10000px; top: 10px";let i=getSelection(),n=document.createRange();n.selectNodeContents(e),r.dom.blur(),i.removeAllRanges(),i.addRange(n),setTimeout(()=>{t.parentNode&&t.parentNode.removeChild(t),r.focus()},50)}const ro=Tt&&Ji<15||to&&UM<604;kt.copy=xt.cut=(r,e)=>{let t=e,i=r.state.selection,n=t.type=="cut";if(i.empty)return;let s=ro?null:t.clipboardData,o=i.content(),{dom:a,text:l}=yk(r,o);s?(t.preventDefault(),s.clearData(),s.setData("text/html",a.innerHTML),s.setData("text/plain",l)):H2(r,a),n&&r.dispatch(r.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function K2(r){return r.openStart==0&&r.openEnd==0&&r.content.childCount==1?r.content.firstChild:null}function J2(r,e){if(!r.dom.parentNode)return;let t=r.input.shiftKey||r.state.selection.$from.parent.type.spec.code,i=r.dom.parentNode.appendChild(document.createElement(t?"textarea":"div"));t||(i.contentEditable="true"),i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus();let n=r.input.shiftKey&&r.input.lastKeyCode!=45;setTimeout(()=>{r.focus(),i.parentNode&&i.parentNode.removeChild(i),t?Ea(r,i.value,null,n,e):Ea(r,i.textContent,i.innerHTML,n,e)},50)}function Ea(r,e,t,i,n){let s=bk(r,e,t,i,r.state.selection.$from);if(r.someProp("handlePaste",l=>l(r,n,s||L.empty)))return!0;if(!s)return!1;let o=K2(s),a=o?r.state.tr.replaceSelectionWith(o,i):r.state.tr.replaceSelection(s);return r.dispatch(a.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}xt.paste=(r,e)=>{let t=e;if(r.composing&&!fr)return;let i=ro?null:t.clipboardData,n=r.input.shiftKey&&r.input.lastKeyCode!=45;i&&Ea(r,i.getData("text/plain"),i.getData("text/html"),n,t)?t.preventDefault():J2(r,t)};class eR{constructor(e,t){this.slice=e,this.move=t}}const Dk=_t?"altKey":"ctrlKey";kt.dragstart=(r,e)=>{let t=e,i=r.input.mouseDown;if(i&&i.done(),!t.dataTransfer)return;let n=r.state.selection,s=n.empty?null:r.posAtCoords(Vu(t));if(!(s&&s.pos>=n.from&&s.pos<=(n instanceof J?n.to-1:n.to))){if(i&&i.mightDrag)r.dispatch(r.state.tr.setSelection(J.create(r.state.doc,i.mightDrag.pos)));else if(t.target&&t.target.nodeType==1){let c=r.docView.nearestDesc(t.target,!0);c&&c.node.type.spec.draggable&&c!=r.docView&&r.dispatch(r.state.tr.setSelection(J.create(r.state.doc,c.posBefore)))}}let o=r.state.selection.content(),{dom:a,text:l}=yk(r,o);t.dataTransfer.clearData(),t.dataTransfer.setData(ro?"Text":"text/html",a.innerHTML),t.dataTransfer.effectAllowed="copyMove",ro||t.dataTransfer.setData("text/plain",l),r.dragging=new eR(o,!t[Dk])};kt.dragend=r=>{let e=r.dragging;window.setTimeout(()=>{r.dragging==e&&(r.dragging=null)},50)};xt.dragover=xt.dragenter=(r,e)=>e.preventDefault();xt.drop=(r,e)=>{let t=e,i=r.dragging;if(r.dragging=null,!t.dataTransfer)return;let n=r.posAtCoords(Vu(t));if(!n)return;let s=r.state.doc.resolve(n.pos),o=i&&i.slice;o?r.someProp("transformPasted",p=>{o=p(o,r)}):o=bk(r,t.dataTransfer.getData(ro?"Text":"text/plain"),ro?null:t.dataTransfer.getData("text/html"),!1,s);let a=!!(i&&!t[Dk]);if(r.someProp("handleDrop",p=>p(r,t,o||L.empty,a))){t.preventDefault();return}if(!o)return;t.preventDefault();let l=o?Uv(r.state.doc,s.pos,o):s.pos;l==null&&(l=s.pos);let c=r.state.tr;a&&c.deleteSelection();let u=c.mapping.map(l),h=o.openStart==0&&o.openEnd==0&&o.content.childCount==1,d=c.doc;if(h?c.replaceRangeWith(u,u,o.content.firstChild):c.replaceRange(u,u,o),c.doc.eq(d))return;let f=c.doc.resolve(u);if(h&&J.isSelectable(o.content.firstChild)&&f.nodeAfter&&f.nodeAfter.sameMarkup(o.content.firstChild))c.setSelection(new J(f));else{let p=c.mapping.map(l);c.mapping.maps[c.mapping.maps.length-1].forEach((m,g,O,w)=>p=w),c.setSelection(Qm(r,f,c.doc.resolve(p)))}r.focus(),r.dispatch(c.setMeta("uiEvent","drop"))};kt.focus=r=>{r.input.lastFocus=Date.now(),r.focused||(r.domObserver.stop(),r.dom.classList.add("ProseMirror-focused"),r.domObserver.start(),r.focused=!0,setTimeout(()=>{r.docView&&r.hasFocus()&&!r.domObserver.currentSelection.eq(r.domSelectionRange())&&bi(r)},20))};kt.blur=(r,e)=>{let t=e;r.focused&&(r.domObserver.stop(),r.dom.classList.remove("ProseMirror-focused"),r.domObserver.start(),t.relatedTarget&&r.dom.contains(t.relatedTarget)&&r.domObserver.currentSelection.clear(),r.focused=!1)};kt.beforeinput=(r,e)=>{if(ot&&fr&&e.inputType=="deleteContentBackward"){r.domObserver.flushSoon();let{domChangeCount:t}=r.input;setTimeout(()=>{if(r.input.domChangeCount!=t||(r.dom.blur(),r.focus(),r.someProp("handleKeyDown",n=>n(r,En(8,"Backspace")))))return;let{$cursor:i}=r.state.selection;i&&i.pos>0&&r.dispatch(r.state.tr.delete(i.pos-1,i.pos).scrollIntoView())},50)}};for(let r in xt)kt[r]=xt[r];function Ma(r,e){if(r==e)return!0;for(let t in r)if(r[t]!==e[t])return!1;for(let t in e)if(!(t in r))return!1;return!0}let t0=class Tk{constructor(e,t){this.toDOM=e,this.spec=t||jn,this.side=this.spec.side||0}map(e,t,i,n){let{pos:s,deleted:o}=e.mapResult(t.from+n,this.side<0?-1:1);return o?null:new ti(s-i,s-i,this)}valid(){return!0}eq(e){return this==e||e instanceof Tk&&(this.spec.key&&this.spec.key==e.spec.key||this.toDOM==e.toDOM&&Ma(this.spec,e.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}};class tn{constructor(e,t){this.attrs=e,this.spec=t||jn}map(e,t,i,n){let s=e.map(t.from+n,this.spec.inclusiveStart?-1:1)-i,o=e.map(t.to+n,this.spec.inclusiveEnd?1:-1)-i;return s>=o?null:new ti(s,o,this)}valid(e,t){return t.from=e&&(!s||s(a.spec))&&i.push(a.copy(a.from+n,a.to+n))}for(let o=0;oe){let a=this.children[o]+1;this.children[o+2].findInner(e-a,t-a,i,n+a,s)}}map(e,t,i){return this==nt||e.maps.length==0?this:this.mapInner(e,t,0,0,i||jn)}mapInner(e,t,i,n,s){let o;for(let a=0;a{let c=l+i,u;if(u=Mk(t,a,c)){for(n||(n=this.children.slice());sa&&h.to=e){this.children[a]==e&&(i=this.children[a+2]);break}let s=e+1,o=s+t.content.size;for(let a=0;as&&l.type instanceof tn){let c=Math.max(s,l.from)-s,u=Math.min(o,l.to)-s;cn.map(e,t,jn));return Xi.from(i)}forChild(e,t){if(t.isLeaf)return Be.empty;let i=[];for(let n=0;nt instanceof Be)?e:e.reduce((t,i)=>t.concat(i instanceof Be?i:i.members),[]))}}}function rR(r,e,t,i,n,s,o){let a=r.slice();for(let c=0,u=s;c{let g=m-p-(f-d);for(let O=0;Ow+u-h)continue;let v=a[O]+u-h;f>=v?a[O+1]=d<=v?-2:-1:p>=n&&g&&(a[O]+=g,a[O+1]+=g)}h+=g}),u=t.maps[c].map(u,-1)}let l=!1;for(let c=0;c=i.content.size){l=!0;continue}let d=t.map(r[c+1]+s,-1),f=d-n,{index:p,offset:m}=i.content.findIndex(h),g=i.maybeChild(p);if(g&&m==h&&m+g.nodeSize==f){let O=a[c+2].mapInner(t,g,u+1,r[c]+s+1,o);O!=nt?(a[c]=h,a[c+1]=f,a[c+2]=O):(a[c+1]=-2,l=!0)}else l=!0}if(l){let c=iR(a,r,e,t,n,s,o),u=ru(c,i,0,o);e=u.local;for(let h=0;ht&&o.to{let c=Mk(r,a,l+t);if(c){s=!0;let u=ru(c,a,t+l+1,i);u!=nt&&n.push(l,l+a.nodeSize,u)}});let o=Ek(s?Rk(r):r,-t).sort(Un);for(let a=0;a0;)e++;r.splice(e,0,t)}function Gh(r){let e=[];return r.someProp("decorations",t=>{let i=t(r.state);i&&i!=nt&&e.push(i)}),r.cursorWrapper&&e.push(Be.create(r.state.doc,[r.cursorWrapper.deco])),Xi.from(e)}const nR={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},sR=Tt&&Ji<=11;class oR{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}}let aR=class{constructor(r,e){this.view=r,this.handleDOMChange=e,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new oR,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.observer=window.MutationObserver&&new window.MutationObserver(t=>{for(let i=0;ii.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),sR&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,nR)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let r=this.observer.takeRecords();if(r.length){for(let e=0;ethis.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(jy(this.view)){if(this.suppressingSelectionUpdates)return bi(this.view);if(Tt&&Ji<=11&&!this.view.state.selection.empty){let r=this.view.domSelectionRange();if(r.focusNode&&rs(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(r){if(!r.focusNode)return!0;let e=new Set,t;for(let n=r.focusNode;n;n=Pa(n))e.add(n);for(let n=r.anchorNode;n;n=Pa(n))if(e.has(n)){t=n;break}let i=t&&this.view.docView.nearestDesc(t);if(i&&i.ignoreMutation({type:"selection",target:t.nodeType==3?t.parentNode:t}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let r of this.observer.takeRecords())this.queue.push(r);return this.queue}flush(){let{view:r}=this;if(!r.docView||this.flushingSoon>-1)return;let e=this.pendingRecords();e.length&&(this.queue=[]);let t=r.domSelectionRange(),i=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(t)&&jy(r)&&!this.ignoreSelectionChange(t),n=-1,s=-1,o=!1,a=[];if(r.editable)for(let c=0;c1){let c=a.filter(u=>u.nodeName=="BR");if(c.length==2){let u=c[0],h=c[1];u.parentNode&&u.parentNode.parentNode==h.parentNode?h.remove():u.remove()}}let l=null;n<0&&i&&r.input.lastFocus>Date.now()-200&&Math.max(r.input.lastTouch,r.input.lastClick.time)-1||i)&&(n>-1&&(r.docView.markDirty(n,s),lR(r)),this.handleDOMChange(n,s,o,a),r.docView&&r.docView.dirty?r.updateState(r.state):this.currentSelection.eq(t)||bi(r),this.currentSelection.set(t))}registerMutation(r,e){if(e.indexOf(r.target)>-1)return null;let t=this.view.docView.nearestDesc(r.target);if(r.type=="attributes"&&(t==this.view.docView||r.attributeName=="contenteditable"||r.attributeName=="style"&&!r.oldValue&&!r.target.getAttribute("style"))||!t||t.ignoreMutation(r))return null;if(r.type=="childList"){for(let c=0;cn;g--){let O=i.childNodes[g-1],w=O.pmViewDesc;if(O.nodeName=="BR"&&!w){s=g;break}if(!w||w.size)break}let h=r.state.doc,d=r.someProp("domParser")||ts.fromSchema(r.state.schema),f=h.resolve(o),p=null,m=d.parse(i,{topNode:f.parent,topMatch:f.parent.contentMatchAt(f.index()),topOpen:!0,from:n,to:s,preserveWhitespace:f.parent.type.whitespace=="pre"?"full":!0,findPositions:c,ruleFromNode:hR,context:f});if(c&&c[0].pos!=null){let g=c[0].pos,O=c[1]&&c[1].pos;O==null&&(O=g),p={anchor:g+o,head:O+o}}return{doc:m,sel:p,from:o,to:a}}function hR(r){let e=r.pmViewDesc;if(e)return e.parseRule();if(r.nodeName=="BR"&&r.parentNode){if(vt&&/^(ul|ol)$/i.test(r.parentNode.nodeName)){let t=document.createElement("div");return t.appendChild(document.createElement("li")),{skip:t}}else if(r.parentNode.lastChild==r||vt&&/^(tr|table)$/i.test(r.parentNode.nodeName))return{ignore:!0}}else if(r.nodeName=="IMG"&&r.getAttribute("mark-placeholder"))return{ignore:!0};return null}const dR=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function fR(r,e,t,i,n){let s=r.input.compositionPendingChanges||(r.composing?r.input.compositionID:0);if(r.input.compositionPendingChanges=0,e<0){let P=r.input.lastSelectionTime>Date.now()-50?r.input.lastSelectionOrigin:null,B=Cm(r,P);if(B&&!r.state.selection.eq(B)){if(ot&&fr&&r.input.lastKeyCode===13&&Date.now()-100A(r,En(13,"Enter"))))return;let E=r.state.tr.setSelection(B);P=="pointer"?E.setMeta("pointer",!0):P=="key"&&E.scrollIntoView(),s&&E.setMeta("composition",s),r.dispatch(E)}return}let o=r.state.doc.resolve(e),a=o.sharedDepth(t);e=o.before(a+1),t=r.state.doc.resolve(t).after(a+1);let l=r.state.selection,c=uR(r,e,t),u=r.state.doc,h=u.slice(c.from,c.to),d,f;r.input.lastKeyCode===8&&Date.now()-100Date.now()-225||fr)&&n.some(P=>P.nodeType==1&&!dR.test(P.nodeName))&&(!p||p.endA>=p.endB)&&r.someProp("handleKeyDown",P=>P(r,En(13,"Enter")))){r.input.lastIOSEnter=0;return}if(!p)if(i&&l instanceof oe&&!l.empty&&l.$head.sameParent(l.$anchor)&&!r.composing&&!(c.sel&&c.sel.anchor!=c.sel.head))p={start:l.from,endA:l.to,endB:l.to};else{if(c.sel){let P=s0(r,r.state.doc,c.sel);if(P&&!P.eq(r.state.selection)){let B=r.state.tr.setSelection(P);s&&B.setMeta("composition",s),r.dispatch(B)}}return}if(ot&&r.cursorWrapper&&c.sel&&c.sel.anchor==r.cursorWrapper.deco.from&&c.sel.head==c.sel.anchor){let P=p.endB-p.start;c.sel={anchor:c.sel.anchor+P,head:c.sel.anchor+P}}r.input.domChangeCount++,r.state.selection.fromr.state.selection.from&&p.start<=r.state.selection.from+2&&r.state.selection.from>=c.from?p.start=r.state.selection.from:p.endA=r.state.selection.to-2&&r.state.selection.to<=c.to&&(p.endB+=r.state.selection.to-p.endA,p.endA=r.state.selection.to)),Tt&&Ji<=11&&p.endB==p.start+1&&p.endA==p.start&&p.start>c.from&&c.doc.textBetween(p.start-c.from-1,p.start-c.from+1)=="  "&&(p.start--,p.endA--,p.endB--);let m=c.doc.resolveNoCache(p.start-c.from),g=c.doc.resolveNoCache(p.endB-c.from),O=u.resolve(p.start),w=m.sameParent(g)&&m.parent.inlineContent&&O.end()>=p.endA,v;if((to&&r.input.lastIOSEnter>Date.now()-225&&(!w||n.some(P=>P.nodeName=="DIV"||P.nodeName=="P"))||!w&&m.posP(r,En(13,"Enter")))){r.input.lastIOSEnter=0;return}if(r.state.selection.anchor>p.start&&mR(u,p.start,p.endA,m,g)&&r.someProp("handleKeyDown",P=>P(r,En(8,"Backspace")))){fr&&ot&&r.domObserver.suppressSelectionUpdates();return}ot&&fr&&p.endB==p.start&&(r.input.lastAndroidDelete=Date.now()),fr&&!w&&m.start()!=g.start()&&g.parentOffset==0&&m.depth==g.depth&&c.sel&&c.sel.anchor==c.sel.head&&c.sel.head==p.endA&&(p.endB-=2,g=c.doc.resolveNoCache(p.endB-c.from),setTimeout(()=>{r.someProp("handleKeyDown",function(P){return P(r,En(13,"Enter"))})},20));let C=p.start,Q=p.endA,b,x,R;if(w){if(m.pos==g.pos)Tt&&Ji<=11&&m.parentOffset==0&&(r.domObserver.suppressSelectionUpdates(),setTimeout(()=>bi(r),20)),b=r.state.tr.delete(C,Q),x=u.resolve(p.start).marksAcross(u.resolve(p.endA));else if(p.endA==p.endB&&(R=pR(m.parent.content.cut(m.parentOffset,g.parentOffset),O.parent.content.cut(O.parentOffset,p.endA-O.start()))))b=r.state.tr,R.type=="add"?b.addMark(C,Q,R.mark):b.removeMark(C,Q,R.mark);else if(m.parent.child(m.index()).isText&&m.index()==g.index()-(g.textOffset?0:1)){let P=m.parent.textBetween(m.parentOffset,g.parentOffset);if(r.someProp("handleTextInput",B=>B(r,C,Q,P)))return;b=r.state.tr.insertText(P,C,Q)}}if(b||(b=r.state.tr.replace(C,Q,c.doc.slice(p.start-c.from,p.endB-c.from))),c.sel){let P=s0(r,b.doc,c.sel);P&&!(ot&&fr&&r.composing&&P.empty&&(p.start!=p.endB||r.input.lastAndroidDeletee.content.size?null:Qm(r,e.resolve(t.anchor),e.resolve(t.head))}function pR(r,e){let t=r.firstChild.marks,i=e.firstChild.marks,n=t,s=i,o,a,l;for(let u=0;uu.mark(a.addToSet(u.marks));else if(n.length==0&&s.length==1)a=s[0],o="remove",l=u=>u.mark(a.removeFromSet(u.marks));else return null;let c=[];for(let u=0;ut||Hh(o,!0,!1)0&&(e||r.indexAfter(i)==r.node(i).childCount);)i--,n++,e=!1;if(t){let s=r.node(i).maybeChild(r.indexAfter(i));for(;s&&!s.isLeaf;)s=s.firstChild,n++}return n}function gR(r,e,t,i,n){let s=r.findDiffStart(e,t);if(s==null)return null;let{a:o,b:a}=r.findDiffEnd(e,t+r.size,t+e.size);if(n=="end"){let l=Math.max(0,s-Math.min(o,a));i-=o+l-s}if(o=o?s-i:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-i:0;s-=l,o=s+(o-a),a=s}return{start:s,endA:o,endB:a}}let OR=class{constructor(r,e){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new N2,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=e,this.state=e.state,this.directPlugins=e.plugins||[],this.directPlugins.forEach(u0),this.dispatch=this.dispatch.bind(this),this.dom=r&&r.mount||document.createElement("div"),r&&(r.appendChild?r.appendChild(this.dom):typeof r=="function"?r(this.dom):r.mount&&(this.mounted=!0)),this.editable=l0(this),a0(this),this.nodeViews=c0(this),this.docView=Ly(this.state.doc,o0(this),Gh(this),this.dom,this),this.domObserver=new aR(this,(t,i,n,s)=>fR(this,t,i,n,s)),this.domObserver.start(),F2(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let r=this._props;this._props={};for(let e in r)this._props[e]=r[e];this._props.state=this.state}return this._props}update(r){r.handleDOMEvents!=this._props.handleDOMEvents&&Yf(this);let e=this._props;this._props=r,r.plugins&&(r.plugins.forEach(u0),this.directPlugins=r.plugins),this.updateStateInner(r.state,e)}setProps(r){let e={};for(let t in this._props)e[t]=this._props[t];e.state=this.state;for(let t in r)e[t]=r[t];this.update(e)}updateState(r){this.updateStateInner(r,this._props)}updateStateInner(r,e){let t=this.state,i=!1,n=!1;r.storedMarks&&this.composing&&(Ak(this),n=!0),this.state=r;let s=t.plugins!=r.plugins||this._props.plugins!=e.plugins;if(s||this._props.plugins!=e.plugins||this._props.nodeViews!=e.nodeViews){let h=c0(this);bR(h,this.nodeViews)&&(this.nodeViews=h,i=!0)}(s||e.handleDOMEvents!=this._props.handleDOMEvents)&&Yf(this),this.editable=l0(this),a0(this);let o=Gh(this),a=o0(this),l=t.plugins!=r.plugins&&!t.doc.eq(r.doc)?"reset":r.scrollToSelection>t.scrollToSelection?"to selection":"preserve",c=i||!this.docView.matchesNode(r.doc,a,o);(c||!r.selection.eq(t.selection))&&(n=!0);let u=l=="preserve"&&n&&this.dom.style.overflowAnchor==null&&HM(this);if(n){this.domObserver.stop();let h=c&&(Tt||ot)&&!this.composing&&!t.selection.empty&&!r.selection.empty&&yR(t.selection,r.selection);if(c){let d=ot?this.trackWrites=this.domSelectionRange().focusNode:null;(i||!this.docView.update(r.doc,a,o,this))&&(this.docView.updateOuterDeco([]),this.docView.destroy(),this.docView=Ly(r.doc,a,o,this.dom,this)),d&&!this.trackWrites&&(h=!0)}h||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&k2(this))?bi(this,h):(mk(this,r.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(t),l=="reset"?this.dom.scrollTop=0:l=="to selection"?this.scrollToSelection():u&&KM(u)}scrollToSelection(){let r=this.domSelectionRange().focusNode;if(!this.someProp("handleScrollToSelection",e=>e(this)))if(this.state.selection instanceof J){let e=this.docView.domAfterPos(this.state.selection.from);e.nodeType==1&&Zy(this,e.getBoundingClientRect(),r)}else Zy(this,this.coordsAtPos(this.state.selection.head,1),r)}destroyPluginViews(){let r;for(;r=this.pluginViews.pop();)r.destroy&&r.destroy()}updatePluginViews(r){if(!r||r.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let e=0;ee.ownerDocument.getSelection()),this._root=e}return r||document}posAtCoords(r){return n2(this,r)}coordsAtPos(r,e=1){return ak(this,r,e)}domAtPos(r,e=0){return this.docView.domFromPos(r,e)}nodeDOM(r){let e=this.docView.descAt(r);return e?e.nodeDOM:null}posAtDOM(r,e,t=-1){let i=this.docView.posFromDOM(r,e,t);if(i==null)throw new RangeError("DOM position not inside the editor");return i}endOfTextblock(r,e){return c2(this,e||this.state,r)}pasteHTML(r,e){return Ea(this,"",r,!1,e||new ClipboardEvent("paste"))}pasteText(r,e){return Ea(this,r,null,!0,e||new ClipboardEvent("paste"))}destroy(){this.docView&&(I2(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],Gh(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null)}get isDestroyed(){return this.docView==null}dispatchEvent(r){return q2(this,r)}dispatch(r){let e=this._props.dispatchTransaction;e?e.call(this,r):this.updateState(this.state.apply(r))}domSelectionRange(){return vt&&this.root.nodeType===11&&VM(this.dom.ownerDocument)==this.dom?cR(this):this.domSelection()}domSelection(){return this.root.getSelection()}};function o0(r){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(r.editable),r.someProp("attributes",t=>{if(typeof t=="function"&&(t=t(r.state)),t)for(let i in t)i=="class"?e.class+=" "+t[i]:i=="style"?e.style=(e.style?e.style+";":"")+t[i]:!e[i]&&i!="contenteditable"&&i!="nodeName"&&(e[i]=String(t[i]))}),e.translate||(e.translate="no"),[ti.node(0,r.state.doc.content.size,e)]}function a0(r){if(r.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),r.cursorWrapper={dom:e,deco:ti.widget(r.state.selection.head,e,{raw:!0,marks:r.markCursor})}}else r.cursorWrapper=null}function l0(r){return!r.someProp("editable",e=>e(r.state)===!1)}function yR(r,e){let t=Math.min(r.$anchor.sharedDepth(r.head),e.$anchor.sharedDepth(e.head));return r.$anchor.start(t)!=e.$anchor.start(t)}function c0(r){let e=Object.create(null);function t(i){for(let n in i)Object.prototype.hasOwnProperty.call(e,n)||(e[n]=i[n])}return r.someProp("nodeViews",t),r.someProp("markViews",t),e}function bR(r,e){let t=0,i=0;for(let n in r){if(r[n]!=e[n])return!0;t++}for(let n in e)i++;return t!=i}function u0(r){if(r.spec.state||r.spec.filterTransaction||r.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}class ln{constructor(e,t){this.match=e,this.match=e,this.handler=typeof t=="string"?wR(t):t}}function wR(r){return function(e,t,i,n){let s=r;if(t[1]){let o=t[0].lastIndexOf(t[1]);s+=t[0].slice(o+t[1].length),i+=o;let a=i-n;a>0&&(s=t[0].slice(o-a,o)+s,i=n)}return e.tr.insertText(s,i,n)}}function Pm(r,e,t=null,i){return new ln(r,(n,s,o,a)=>{let l=t instanceof Function?t(s):t,c=n.tr.delete(o,a),u=c.doc.resolve(o),h=u.blockRange(),d=h&&jv(h,e,l);if(!d)return null;c.wrap(h,d);let f=c.doc.resolve(o-1).nodeBefore;return f&&f.type==e&&Bu(c.doc,o-1)&&(!i||i(s,f))&&c.join(o-1),c})}function Zk(r,e,t=null){return new ln(r,(i,n,s,o)=>{let a=i.doc.resolve(s),l=t instanceof Function?t(n):t;return a.node(-1).canReplaceWith(a.index(-1),a.indexAfter(-1),e)?i.tr.delete(s,o).setBlockType(s,s,e,l):null})}const cn=typeof navigator<"u"?navigator:null,h0=typeof document<"u"?document:null,fs=cn&&cn.userAgent||"",Vf=/Edge\/(\d+)/.exec(fs),Nk=/MSIE \d/.exec(fs),zf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(fs),Em=!!(Nk||zf||Vf);Nk?document.documentMode:zf?+zf[1]:Vf&&+Vf[1];const vR=!Em&&/gecko\/(\d+)/i.test(fs);vR&&+(/Firefox\/(\d+)/.exec(fs)||[0,0])[1];const d0=!Em&&/Chrome\/(\d+)/.exec(fs);d0&&+d0[1];const kR=!Em&&!!cn&&/Apple Computer/.test(cn.vendor),xR=kR&&(/Mobile\/\w+/.test(fs)||!!cn&&cn.maxTouchPoints>2);xR||cn&&/Mac/.test(cn.platform);const SR=!!h0&&"webkitFontSmoothing"in h0.documentElement.style;SR&&+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1];function Kh(r,e,t,i,n,s){if(r.composing)return!1;const o=r.state,a=o.doc.resolve(e);if(a.parent.type.spec.code)return!1;const l=a.parent.textBetween(Math.max(0,a.parentOffset-500),a.parentOffset,void 0,"")+i;for(let c=0;c{const e=new St({key:CR,isInputRules:!0,state:{init(){return null},apply(t,i){return t.getMeta(this)||(t.selectionSet||t.docChanged?null:i)}},props:{handleTextInput(t,i,n,s){return Kh(t,i,n,s,r,e)},handleDOMEvents:{compositionend:t=>(setTimeout(()=>{const{$cursor:i}=t.state.selection;i&&Kh(t,i.pos,i.pos,"",r,e)}),!1)},handleKeyDown(t,i){if(i.key!=="Enter")return!1;const{$cursor:n}=t.state.selection;return n?Kh(t,n.pos,n.pos,` +`,r,e):!1}}});return e},$R=(r,e)=>Array.isArray(r)&&r.includes(e.type)||e.type===r,AR=(r,e)=>{const t=e.nodes[r];if(!t)throw aD("node",r);return t},DR=(r,e)=>{if(!(r instanceof J))return;const{node:t,$from:i}=r;if($R(e,t))return{node:t,pos:i.pos,start:i.start(i.depth),depth:i.depth}},Fk=(r,e)=>r.selection.empty?!1:(e&&e(r.tr.deleteSelection().scrollIntoView()),!0);function TR(r,e){let{$cursor:t}=r.selection;return!t||(e?!e.endOfTextblock("backward",r):t.parentOffset>0)?null:t}const PR=(r,e,t)=>{let i=TR(r,t);if(!i)return!1;let n=Ik(i);if(!n){let o=i.blockRange(),a=o&&Iu(o);return a==null?!1:(e&&e(r.tr.lift(o,a).scrollIntoView()),!0)}let s=n.nodeBefore;if(!s.type.spec.isolating&&qk(r,n,e))return!0;if(i.parent.content.size==0&&(io(s,"end")||J.isSelectable(s))){let o=vm(r.doc,i.before(),i.after(),L.empty);if(o&&o.slice.size{let{$head:i,empty:n}=r.selection,s=i;if(!n)return!1;if(i.parent.isTextblock){if(t?!t.endOfTextblock("backward",r):i.parentOffset>0)return!1;s=Ik(i)}let o=s&&s.nodeBefore;return!o||!J.isSelectable(o)?!1:(e&&e(r.tr.setSelection(J.create(r.doc,s.pos-o.nodeSize)).scrollIntoView()),!0)};function Ik(r){if(!r.parent.type.spec.isolating)for(let e=r.depth-1;e>=0;e--){if(r.index(e)>0)return r.doc.resolve(r.before(e+1));if(r.node(e).type.spec.isolating)break}return null}function MR(r,e){let{$cursor:t}=r.selection;return!t||(e?!e.endOfTextblock("forward",r):t.parentOffset{let i=MR(r,t);if(!i)return!1;let n=Bk(i);if(!n)return!1;let s=n.nodeAfter;if(qk(r,n,e))return!0;if(i.parent.content.size==0&&(io(s,"start")||J.isSelectable(s))){let o=vm(r.doc,i.before(),i.after(),L.empty);if(o&&o.slice.size{let{$head:i,empty:n}=r.selection,s=i;if(!n)return!1;if(i.parent.isTextblock){if(t?!t.endOfTextblock("forward",r):i.parentOffset=0;e--){let t=r.node(e);if(r.index(e)+1{let{$head:t,$anchor:i}=r.selection;return!t.parent.type.spec.code||!t.sameParent(i)?!1:(e&&e(r.tr.insertText(` +`).scrollIntoView()),!0)};function Mm(r){for(let e=0;e{let{$head:t,$anchor:i}=r.selection;if(!t.parent.type.spec.code||!t.sameParent(i))return!1;let n=t.node(-1),s=t.indexAfter(-1),o=Mm(n.contentMatchAt(s));if(!o||!n.canReplaceWith(s,s,o))return!1;if(e){let a=t.after(),l=r.tr.replaceWith(a,a,o.createAndFill());l.setSelection(ie.near(l.doc.resolve(a),1)),e(l.scrollIntoView())}return!0},IR=(r,e)=>{let t=r.selection,{$from:i,$to:n}=t;if(t instanceof Yt||i.parent.inlineContent||n.parent.inlineContent)return!1;let s=Mm(n.parent.contentMatchAt(n.indexAfter()));if(!s||!s.isTextblock)return!1;if(e){let o=(!i.parentOffset&&n.index(){let{$cursor:t}=r.selection;if(!t||t.parent.content.size)return!1;if(t.depth>1&&t.after()!=t.end(-1)){let s=t.before();if(ga(r.doc,s))return e&&e(r.tr.split(s).scrollIntoView()),!0}let i=t.blockRange(),n=i&&Iu(i);return n==null?!1:(e&&e(r.tr.lift(i,n).scrollIntoView()),!0)};function qR(r){return(e,t)=>{let{$from:i,$to:n}=e.selection;if(e.selection instanceof J&&e.selection.node.isBlock)return!i.parentOffset||!ga(e.doc,i.pos)?!1:(t&&t(e.tr.split(i.pos).scrollIntoView()),!0);if(!i.parent.isBlock)return!1;if(t){let s=n.parentOffset==n.parent.content.size,o=e.tr;(e.selection instanceof oe||e.selection instanceof Yt)&&o.deleteSelection();let a=i.depth==0?null:Mm(i.node(-1).contentMatchAt(i.indexAfter(-1))),l=r&&r(n.parent,s),c=l?[l]:s&&a?[{type:a}]:void 0,u=ga(o.doc,o.mapping.map(i.pos),1,c);if(!c&&!u&&ga(o.doc,o.mapping.map(i.pos),1,a?[{type:a}]:void 0)&&(a&&(c=[{type:a}]),u=!0),u&&(o.split(o.mapping.map(i.pos),1,c),!s&&!i.parentOffset&&i.parent.type!=a)){let h=o.mapping.map(i.before()),d=o.doc.resolve(h);a&&i.node(-1).canReplaceWith(d.index(),d.index()+1,a)&&o.setNodeMarkup(o.mapping.map(i.before()),a)}t(o.scrollIntoView())}return!0}}const LR=qR(),XR=(r,e)=>(e&&e(r.tr.setSelection(new Yt(r.doc))),!0);function YR(r,e,t){let i=e.nodeBefore,n=e.nodeAfter,s=e.index();return!i||!n||!i.type.compatibleContent(n.type)?!1:!i.content.size&&e.parent.canReplace(s-1,s)?(t&&t(r.tr.delete(e.pos-i.nodeSize,e.pos).scrollIntoView()),!0):!e.parent.canReplace(s,s+1)||!(n.isTextblock||Bu(r.doc,e.pos))?!1:(t&&t(r.tr.clearIncompatible(e.pos,i.type,i.contentMatchAt(i.childCount)).join(e.pos).scrollIntoView()),!0)}function qk(r,e,t){let i=e.nodeBefore,n=e.nodeAfter,s,o;if(i.type.spec.isolating||n.type.spec.isolating)return!1;if(YR(r,e,t))return!0;let a=e.parent.canReplace(e.index(),e.index()+1);if(a&&(s=(o=i.contentMatchAt(i.childCount)).findWrapping(n.type))&&o.matchType(s[0]||n.type).validEnd){if(t){let h=e.pos+n.nodeSize,d=Z.empty;for(let m=s.length-1;m>=0;m--)d=Z.from(s[m].create(null,d));d=Z.from(i.copy(d));let f=r.tr.step(new ut(e.pos-1,h,e.pos,h,new L(d,1,0),s.length,!0)),p=h+2*s.length;Bu(f.doc,p)&&f.join(p),t(f.scrollIntoView())}return!0}let l=ie.findFrom(e,1),c=l&&l.$from.blockRange(l.$to),u=c&&Iu(c);if(u!=null&&u>=e.depth)return t&&t(r.tr.lift(c,u).scrollIntoView()),!0;if(a&&io(n,"start",!0)&&io(i,"end")){let h=i,d=[];for(;d.push(h),!h.isTextblock;)h=h.lastChild;let f=n,p=1;for(;!f.isTextblock;f=f.firstChild)p++;if(h.canReplace(h.childCount,h.childCount,f.content)){if(t){let m=Z.empty;for(let O=d.length-1;O>=0;O--)m=Z.from(d[O].copy(m));let g=r.tr.step(new ut(e.pos-d.length,e.pos+n.nodeSize,e.pos+p,e.pos+n.nodeSize-p,new L(m,d.length,0),0,!0));t(g.scrollIntoView())}return!0}}return!1}function Lk(r){return function(e,t){let i=e.selection,n=r<0?i.$from:i.$to,s=n.depth;for(;n.node(s).isInline;){if(!s)return!1;s--}return n.node(s).isTextblock?(t&&t(e.tr.setSelection(oe.create(e.doc,r<0?n.start(s):n.end(s)))),!0):!1}}const VR=Lk(-1),zR=Lk(1);function Rm(r,e=null){return function(t,i){let{$from:n,$to:s}=t.selection,o=n.blockRange(s),a=o&&jv(o,r,e);return a?(i&&i(t.tr.wrap(o,a).scrollIntoView()),!0):!1}}function Ra(r,e=null){return function(t,i){let n=!1;for(let s=0;s{if(n)return!1;if(!(!l.isTextblock||l.hasMarkup(r,e)))if(l.type==r)n=!0;else{let u=t.doc.resolve(c),h=u.index();n=u.parent.canReplaceWith(h,h+1,r)}})}if(!n)return!1;if(i){let s=t.tr;for(let o=0;o{if(o)return!1;o=a.inlineContent&&a.type.allowsMarkType(t)}),o)return!0}return!1}function Zm(r,e=null){return function(t,i){let{empty:n,$cursor:s,ranges:o}=t.selection;if(n&&!s||!WR(t.doc,o,r))return!1;if(i)if(s)r.isInSet(t.storedMarks||s.marks())?i(t.tr.removeStoredMark(r)):i(t.tr.addStoredMark(r.create(e)));else{let a=!1,l=t.tr;for(let c=0;!a&&c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},_R=typeof navigator<"u"&&/Mac/.test(navigator.platform),GR=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var tt=0;tt<10;tt++)vi[48+tt]=vi[96+tt]=String(tt);for(var tt=1;tt<=24;tt++)vi[tt+111]="F"+tt;for(var tt=65;tt<=90;tt++)vi[tt]=String.fromCharCode(tt+32),Za[tt]=String.fromCharCode(tt);for(var ed in vi)Za.hasOwnProperty(ed)||(Za[ed]=vi[ed]);function Yk(r){var e=_R&&r.metaKey&&r.shiftKey&&!r.ctrlKey&&!r.altKey||GR&&r.shiftKey&&r.key&&r.key.length==1||r.key=="Unidentified",t=!e&&r.key||(r.shiftKey?Za:vi)[r.keyCode]||r.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}const HR=typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):!1;function KR(r){let e=r.split(/-(?!$)/),t=e[e.length-1];t=="Space"&&(t=" ");let i,n,s,o;for(let a=0;a127)&&(s=vi[i.keyCode])&&s!=n){let a=e[td(s,i)];if(a&&a(t.state,t.dispatch,t))return!0}}return!1}}var Wk=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},_=(r,e,t)=>(Wk(r,e,"read from private field"),t?t.call(r):e.get(r)),He=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},Pe=(r,e,t,i)=>(Wk(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);const yn=(r,e)=>(r.meta={package:"@milkdown/core",group:"System",...e},r),jk={strong:(r,e,t,i)=>{const n=r.marker||t.options.strong||"*",s=t.enter("strong"),o=t.createTracker(i);let a=o.move(n+n);return a+=o.move(t.containerPhrasing(r,{before:a,after:n,...o.current()})),a+=o.move(n+n),s(),a},emphasis:(r,e,t,i)=>{const n=r.marker||t.options.emphasis||"*",s=t.enter("emphasis"),o=t.createTracker(i);let a=o.move(n);return a+=o.move(t.containerPhrasing(r,{before:a,after:n,...o.current()})),a+=o.move(n),s(),a}},Oc=mn("ConfigReady"),eZ=r=>{const e=t=>(t.record(Oc),async()=>(await r(t),t.done(Oc),()=>{t.clearTimer(Oc)}));return yn(e,{displayName:"Config"}),e},_n=mn("InitReady"),rd=he([],"initTimer"),p0=he({},"editor"),Na=he([],"inputRules"),kr=he([],"prosePlugins"),Fa=he([],"remarkPlugins"),Ia=he([],"nodeView"),Ba=he([],"markView"),Gn=he(kf().use(mf).use(bf),"remark"),ba=he({handlers:jk},"remarkStringifyOptions"),tZ=r=>{const e=t=>(t.inject(p0,r).inject(kr,[]).inject(Fa,[]).inject(Na,[]).inject(Ia,[]).inject(Ba,[]).inject(ba,{handlers:jk}).inject(Gn,kf().use(mf).use(bf)).inject(rd,[Oc]).record(_n),async()=>{await t.waitTimers(rd);const i=t.get(ba);return t.set(Gn,kf().use(mf).use(bf,i)),t.done(_n),()=>{t.remove(p0).remove(kr).remove(Fa).remove(Na).remove(Ia).remove(Ba).remove(ba).remove(Gn).remove(rd).clearTimer(_n)}});return yn(e,{displayName:"Init"}),e},wr=mn("SchemaReady"),id=he([],"schemaTimer"),_r=he({},"schema"),Ls=he([],"nodes"),Xs=he([],"marks"),m0=r=>{var e;return{...r,parseDOM:(e=r.parseDOM)==null?void 0:e.map(t=>({priority:r.priority,...t}))}},Uk=r=>(r.inject(_r,{}).inject(Ls,[]).inject(Xs,[]).inject(id,[_n]).record(wr),async()=>{await r.waitTimers(id);const e=r.get(Gn),t=r.get(Fa).reduce((o,a)=>o.use(a.plugin,a.options),e);r.set(Gn,t);const i=Object.fromEntries(r.get(Ls).map(([o,a])=>[o,m0(a)])),n=Object.fromEntries(r.get(Xs).map(([o,a])=>[o,m0(a)])),s=new MD({nodes:i,marks:n});return r.set(_r,s),r.done(wr),()=>{r.remove(_r).remove(Ls).remove(Xs).remove(id).clearTimer(wr)}});yn(Uk,{displayName:"Schema"});const yc=mn("ParserReady"),_k=()=>{throw hm()},Hn=he(_k,"parser"),nd=he([],"parserTimer"),Gk=r=>(r.inject(Hn,_k).inject(nd,[wr]).record(yc),async()=>{await r.waitTimers(nd);const e=r.get(Gn),t=r.get(_r);return r.set(Hn,Fv.create(t,e)),r.done(yc),()=>{r.remove(Hn).remove(nd).clearTimer(yc)}});yn(Gk,{displayName:"Parser"});const wa=mn("SerializerReady"),sd=he([],"serializerTimer"),Hk=()=>{throw hm()},Ys=he(Hk,"serializer"),Kk=r=>(r.inject(Ys,Hk).inject(sd,[wr]).record(wa),async()=>{await r.waitTimers(sd);const e=r.get(Gn),t=r.get(_r);return r.set(Ys,Lv.create(t,e)),r.done(wa),()=>{r.remove(Ys).remove(sd).clearTimer(wa)}});yn(Kk,{displayName:"Serializer"});const bc=he("","defaultValue"),ra=he({},"editorState"),wc=he(r=>r,"stateOptions"),od=he([],"editorStateTimer"),vc=mn("EditorStateReady"),rZ=(r,e,t)=>{if(typeof r=="string")return e(r);if(r.type==="html")return ts.fromSchema(t).parse(r.dom);if(r.type==="json")return br.fromJSON(t,r.value);throw tD(r)},iZ=new Wt("MILKDOWN_STATE_TRACKER"),Jk=r=>(r.inject(bc,"").inject(ra,{}).inject(wc,e=>e).inject(od,[yc,wa,ka]).record(vc),async()=>{await r.waitTimers(od);const e=r.get(_r),t=r.get(Hn),i=r.get(Na),n=r.get(wc),s=r.get(kr),o=r.get(bc),a=rZ(o,t,e),l=[...s,new St({key:iZ,state:{init:()=>{},apply:(h,d,f,p)=>{r.set(ra,p)}}}),QR({rules:i}),Vk(UR)];r.set(kr,l);const c=n({schema:e,doc:a,plugins:l}),u=Jv.create(c);return r.set(ra,u),r.done(vc),()=>{r.remove(bc).remove(ra).remove(wc).remove(od).clearTimer(vc)}});yn(Jk,{displayName:"EditorState"});const kc=mn("EditorViewReady"),rn=he({},"editorView"),ad=he([],"editorViewTimer"),va=he({},"editorViewOptions"),xc=he(null,"root"),Wf=he(null,"rootDOM"),jf=he({},"rootAttrs"),nZ=(r,e)=>{const t=document.createElement("div");t.className="milkdown",r.appendChild(t),e.set(Wf,t);const i=e.get(jf);return Object.entries(i).forEach(([n,s])=>t.setAttribute(n,s)),t},sZ=r=>{r.classList.add("editor"),r.setAttribute("role","textbox")},oZ=new Wt("MILKDOWN_VIEW_CLEAR"),ex=r=>(r.inject(xc,document.body).inject(rn,{}).inject(va,{}).inject(Wf,null).inject(jf,{}).inject(ad,[vc]).record(kc),async()=>{await r.wait(_n);const e=r.get(xc)||document.body,t=typeof e=="string"?document.querySelector(e):e;r.update(kr,l=>[new St({key:oZ,view:c=>{const u=t?nZ(t,r):void 0;return(()=>{if(u&&t){const h=c.dom;t.replaceChild(u,h),u.appendChild(h)}})(),{destroy:()=>{u!=null&&u.parentNode&&(u==null||u.parentNode.replaceChild(c.dom,u)),u==null||u.remove()}}}}),...l]),await r.waitTimers(ad);const i=r.get(ra),n=r.get(va),s=Object.fromEntries(r.get(Ia)),o=Object.fromEntries(r.get(Ba)),a=new OR(t,{state:i,nodeViews:s,markViews:o,...n});return sZ(a.dom),r.set(rn,a),r.done(kc),()=>{a==null||a.destroy(),r.remove(xc).remove(rn).remove(va).remove(Wf).remove(jf).remove(ad).clearTimer(kc)}});yn(ex,{displayName:"EditorView"});var $s,Tn;let tx=class{constructor(){He(this,$s,void 0),He(this,Tn,void 0),Pe(this,$s,new Zw),Pe(this,Tn,null),this.setCtx=r=>{Pe(this,Tn,r)}}get ctx(){return _(this,Tn)}create(r,e){const t=r.create(_(this,$s).sliceMap);return t.set(e),t}get(r){return _(this,$s).get(r).get()}remove(r){return _(this,$s).remove(r)}call(r,e){if(_(this,Tn)==null)throw lD();const t=this.get(r)(e),i=_(this,Tn).get(rn);return t(i.state,i.dispatch,i)}};$s=new WeakMap,Tn=new WeakMap;const aZ=(r="cmdKey")=>he(()=>()=>!1,r),pe=he(new tx,"commands"),ld=he([wr],"commandsTimer"),ka=mn("CommandsReady"),rx=r=>{const e=new tx;return e.setCtx(r),r.inject(pe,e).inject(ld,[wr]).record(ka),async()=>(await r.waitTimers(ld),r.done(ka),()=>{r.remove(pe).remove(ld).clearTimer(ka)})};yn(rx,{displayName:"Commands"});var As,Ut,Fi,ia,Sc,Cc,Ft,Ii,Ds,Qc,Ts,na,$c,Pn,sa;const ix=class{constructor(){He(this,As,void 0),He(this,Ut,void 0),He(this,Fi,void 0),He(this,ia,void 0),He(this,Sc,void 0),He(this,Cc,void 0),He(this,Ft,void 0),He(this,Ii,void 0),He(this,Ds,void 0),He(this,Qc,void 0),He(this,Ts,void 0),He(this,na,void 0),He(this,$c,void 0),He(this,Pn,void 0),He(this,sa,void 0),Pe(this,As,!1),Pe(this,Ut,"Idle"),Pe(this,Fi,[]),Pe(this,ia,()=>{}),Pe(this,Sc,new Zw),Pe(this,Cc,new mD),Pe(this,Ft,new Map),Pe(this,Ii,new Map),Pe(this,Ds,new pD(_(this,Sc),_(this,Cc))),Pe(this,Qc,()=>{const r=eZ(async t=>{await Promise.all(_(this,Fi).map(i=>i(t)))}),e=[Uk,Gk,Kk,rx,Jk,ex,tZ(this),r];_(this,Ts).call(this,e,_(this,Ii))}),Pe(this,Ts,(r,e)=>{r.forEach(t=>{const i=_(this,Ds).produce(_(this,As)?t.meta:void 0),n=t(i);e.set(t,{ctx:i,handler:n,cleanup:void 0})})}),Pe(this,na,(r,e=!1)=>Promise.all([r].flat().map(t=>{const i=_(this,Ft).get(t),n=i==null?void 0:i.cleanup;return e?_(this,Ft).delete(t):_(this,Ft).set(t,{ctx:void 0,handler:void 0,cleanup:void 0}),typeof n=="function"?n():n}))),Pe(this,$c,async()=>{await Promise.all([..._(this,Ii).entries()].map(([r,{cleanup:e}])=>typeof e=="function"?e():e)),_(this,Ii).clear()}),Pe(this,Pn,r=>{Pe(this,Ut,r),_(this,ia).call(this,r)}),Pe(this,sa,r=>[...r.entries()].map(async([e,t])=>{const{ctx:i,handler:n}=t;if(!n)return;const s=await n();r.set(e,{ctx:i,handler:n,cleanup:s})})),this.enableInspector=(r=!0)=>(Pe(this,As,r),this),this.onStatusChange=r=>(Pe(this,ia,r),this),this.config=r=>(_(this,Fi).push(r),this),this.removeConfig=r=>(Pe(this,Fi,_(this,Fi).filter(e=>e!==r)),this),this.use=r=>{const e=[r].flat();return e.flat().forEach(t=>{_(this,Ft).set(t,{ctx:void 0,handler:void 0,cleanup:void 0})}),_(this,Ut)==="Created"&&_(this,Ts).call(this,e,_(this,Ft)),this},this.remove=async r=>_(this,Ut)==="OnCreate"?(console.warn("[Milkdown]: You are trying to remove plugins when the editor is creating, this is not recommended, please check your code."),new Promise(e=>{setTimeout(()=>{e(this.remove(r))},50)})):(await _(this,na).call(this,[r].flat(),!0),this),this.create=async()=>_(this,Ut)==="OnCreate"?this:(_(this,Ut)==="Created"&&await this.destroy(),_(this,Pn).call(this,"OnCreate"),_(this,Qc).call(this),_(this,Ts).call(this,[..._(this,Ft).keys()],_(this,Ft)),await Promise.all([_(this,sa).call(this,_(this,Ii)),_(this,sa).call(this,_(this,Ft))].flat()),_(this,Pn).call(this,"Created"),this),this.destroy=async(r=!1)=>_(this,Ut)==="Destroyed"||_(this,Ut)==="OnDestroy"?this:_(this,Ut)==="OnCreate"?new Promise(e=>{setTimeout(()=>{e(this.destroy(r))},50)}):(r&&Pe(this,Fi,[]),_(this,Pn).call(this,"OnDestroy"),await _(this,na).call(this,[..._(this,Ft).keys()],r),await _(this,$c).call(this),_(this,Pn).call(this,"Destroyed"),this),this.action=r=>r(_(this,Ds)),this.inspect=()=>_(this,As)?[..._(this,Ii).values(),..._(this,Ft).values()].map(({ctx:r})=>{var e;return(e=r==null?void 0:r.inspector)==null?void 0:e.read()}).filter(r=>!!r):(console.warn("[Milkdown]: You are trying to collect inspection when inspector is disabled, please enable inspector by `editor.enableInspector()` first."),[])}static make(){return new ix}get ctx(){return _(this,Ds)}get status(){return _(this,Ut)}};let lZ=ix;As=new WeakMap,Ut=new WeakMap,Fi=new WeakMap,ia=new WeakMap,Sc=new WeakMap,Cc=new WeakMap,Ft=new WeakMap,Ii=new WeakMap,Ds=new WeakMap,Qc=new WeakMap,Ts=new WeakMap,na=new WeakMap,$c=new WeakMap,Pn=new WeakMap,sa=new WeakMap;let cZ=r=>crypto.getRandomValues(new Uint8Array(r)),uZ=(r,e,t)=>{let i=(2<{let o="";for(;;){let a=t(n),l=n;for(;l--;)if(o+=r[a[l]&i]||"",o.length===s)return o}}},hZ=(r,e=21)=>uZ(r,e,cZ),Fm=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");hZ("abcedfghicklmn",10);const ke=(r,e)=>{const t=aZ(r),i=n=>async()=>{i.key=t,await n.wait(ka);const s=e(n);return n.get(pe).create(t,s),i.run=o=>n.get(pe).call(r,o),()=>{n.get(pe).remove(t)}};return i},xr=r=>{const e=t=>async()=>{await t.wait(wr);const i=r(t);return t.update(Na,n=>[...n,i]),e.inputRule=i,()=>{t.update(Na,n=>n.filter(s=>s!==i))}};return e},dZ=(r,e)=>{const t=i=>async()=>{const n=e(i);return i.update(Xs,s=>[...s.filter(o=>o[0]!==r),[r,n]]),t.id=r,t.schema=n,()=>{i.update(Xs,s=>s.filter(([o])=>o!==r))}};return t.type=i=>{const n=i.get(_r).marks[r];if(!n)throw uD(r);return n},t},Im=(r,e)=>{const t=i=>async()=>{const n=e(i);return i.update(Ls,s=>[...s.filter(o=>o[0]!==r),[r,n]]),t.id=r,t.schema=n,()=>{i.update(Ls,s=>s.filter(([o])=>o!==r))}};return t.type=i=>{const n=i.get(_r).nodes[r];if(!n)throw cD(r);return n},t},ni=r=>{let e;const t=i=>async()=>(await i.wait(wr),e=r(i),i.update(kr,n=>[...n,e]),()=>{i.update(kr,n=>n.filter(s=>s!==e))});return t.plugin=()=>e,t.key=()=>e.spec.key,t},fZ=r=>{const e=t=>async()=>{await t.wait(wr);const i=r(t),n=Vk(i);return t.update(kr,s=>[...s,n]),e.keymap=i,()=>{t.update(kr,s=>s.filter(o=>o!==n))}};return e},pZ=(r,e)=>{const t=i=>async()=>{await i.wait(wr);const n=e(i);return r.type(i)instanceof Hc?i.update(Ia,s=>[...s,[r.id,n]]):i.update(Ba,s=>[...s,[r.id,n]]),t.view=n,t.type=r,()=>{r.type(i)instanceof Hc?i.update(Ia,s=>s.filter(o=>o[0]!==r.id)):i.update(Ba,s=>s.filter(o=>o[0]!==r.id))}};return t},$r=(r,e)=>{const t=he(r,e),i=n=>(n.inject(t),()=>()=>{n.remove(t)});return i.key=t,i},dt=(r,e)=>{const t=$r(e,r),i=Im(r,s=>s.get(t.key)(s)),n=[t,i];return n.id=i.id,n.node=i,n.type=s=>i.type(s),n.schema=i.schema,n.ctx=t,n.key=t.key,n.extendSchema=s=>o=>()=>{const a=o.get(t.key),l=s(a)(o);o.update(Ls,c=>[...c.filter(u=>u[0]!==r),[r,l]]),n.schema=l},n},zu=(r,e)=>{const t=$r(e,r),i=dZ(r,s=>s.get(t.key)(s)),n=[t,i];return n.id=i.id,n.mark=i,n.type=i.type,n.schema=i.schema,n.ctx=t,n.key=t.key,n.extendSchema=s=>o=>()=>{const a=o.get(t.key),l=s(a)(o);o.update(Xs,c=>[...c.filter(u=>u[0]!==r),[r,l]]),n.schema=l},n},ar=(r,e)=>{const t=Object.fromEntries(Object.entries(e).map(([o,{shortcuts:a}])=>[o,a])),i=$r(t,`${r}Keymap`),n=fZ(o=>{const a=o.get(i.key),l=Object.entries(e).flatMap(([c,{command:u}])=>[a[c]].flat().map(h=>[h,u(o)]));return Object.fromEntries(l)}),s=[i,n];return s.ctx=i,s.shortcuts=n,s.key=i.key,s.keymap=n.keymap,s},ft=(r,e=()=>({}))=>$r(e,`${r}Attr`),Wu=(r,e=()=>({}))=>$r(e,`${r}Attr`),Ci=(r,e,t)=>{const i=$r(t??{},r),n=o=>async()=>{await o.wait(_n);const a={plugin:e(o),options:o.get(i.key)};return o.update(Fa,l=>[...l,a]),()=>{o.update(Fa,l=>l.filter(c=>c!==a))}},s=[i,n];return s.id=r,s.plugin=n,s.options=i,s};function mZ(r,e){return t=>t.get(pe).call(r,e)}const gZ=(r,e=!1)=>t=>{const i=t.get(rn),n=t.get(Hn)(r);if(!n)return;if(!e){const{state:c}=i;return i.dispatch(c.tr.replace(0,c.doc.content.size,new L(n.content,0,0)))}const s=t.get(_r),o=t.get(wc),a=t.get(kr),l=Jv.create({schema:s,doc:n,plugins:a,...o});i.updateState(l)},OZ=(...r)=>{const e=r.length;let t=e;for(;t--;)if(typeof r[t]!="function")throw new TypeError("Expected a function");return(...i)=>{let n=0,s=e?r[n](...i):i[0];for(;++n{if(!r)return!1;if(Array.isArray(r))return r.length>1?!1:Uf(r[0]);const e=r.content;return e?Uf(e):r.type==="text"},yZ=r=>{if(r.content.childCount===1){const e=r.content.firstChild;if((e==null?void 0:e.type.name)==="text"&&e.marks.length===0)return e;if((e==null?void 0:e.type.name)==="paragraph"&&e.childCount===1){const t=e.firstChild;if((t==null?void 0:t.type.name)==="text"&&t.marks.length===0)return t}}return!1},nx=ni(r=>{const e=r.get(_r);r.update(va,i=>({...i,editable:i.editable??(()=>!0)}));const t=new Wt("MILKDOWN_CLIPBOARD");return new St({key:t,props:{handlePaste:(i,n)=>{var s,o;const a=r.get(Hn),l=(o=(s=i.props).editable)==null?void 0:o.call(s,i.state),{clipboardData:c}=n;if(!l||!c||i.state.selection.$from.node().type.spec.code)return!1;const u=c.getData("text/plain"),h=c.getData("vscode-editor-data");if(h){const O=JSON.parse(h),w=O==null?void 0:O.mode;if(u&&w){const{tr:v}=i.state,C=AR("code_block",e);return v.replaceSelectionWith(C.create({language:w})).setSelection(oe.near(v.doc.resolve(Math.max(0,v.selection.from-2)))).insertText(u.replace(/\r\n?/g,` +`)),i.dispatch(v),!0}}const d=c.getData("text/html");if(d.length===0&&u.length===0)return!1;const f=ts.fromSchema(e);let p;if(d.length===0){const O=a(u);if(!O||typeof O=="string")return!1;p=Yr.fromSchema(e).serializeFragment(O.content)}else{const O=document.createElement("template");O.innerHTML=d,p=O.content.cloneNode(!0),O.remove()}const m=f.parseSlice(p),g=yZ(m);return g?(i.dispatch(i.state.tr.replaceSelectionWith(g,!0)),!0):(i.dispatch(i.state.tr.replaceSelection(m)),!0)},clipboardTextSerializer:i=>{const n=r.get(Ys);if(Uf(i.content.toJSON()))return i.content.textBetween(0,i.content.size,` + +`);const s=e.topNodeType.createAndFill(void 0,i.content);return s?n(s):""}}})});nx.meta={displayName:"Prose",package:"@milkdown/plugin-clipboard"};function bZ(r={}){return new St({view(e){return new wZ(e,r)}})}class wZ{constructor(e,t){var i;this.editorView=e,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=(i=t.width)!==null&&i!==void 0?i:1,this.color=t.color===!1?void 0:t.color||"black",this.class=t.class,this.handlers=["dragover","dragend","drop","dragleave"].map(n=>{let s=o=>{this[n](o)};return e.dom.addEventListener(n,s),{name:n,handler:s}})}destroy(){this.handlers.forEach(({name:e,handler:t})=>this.editorView.dom.removeEventListener(e,t))}update(e,t){this.cursorPos!=null&&t.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),t=!e.parent.inlineContent,i;if(t){let a=e.nodeBefore,l=e.nodeAfter;if(a||l){let c=this.editorView.nodeDOM(this.cursorPos-(a?a.nodeSize:0));if(c){let u=c.getBoundingClientRect(),h=a?u.bottom:u.top;a&&l&&(h=(h+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2),i={left:u.left,right:u.right,top:h-this.width/2,bottom:h+this.width/2}}}}if(!i){let a=this.editorView.coordsAtPos(this.cursorPos);i={left:a.left-this.width/2,right:a.left+this.width/2,top:a.top,bottom:a.bottom}}let n=this.editorView.dom.offsetParent;this.element||(this.element=n.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",t),this.element.classList.toggle("prosemirror-dropcursor-inline",!t);let s,o;if(!n||n==document.body&&getComputedStyle(n).position=="static")s=-pageXOffset,o=-pageYOffset;else{let a=n.getBoundingClientRect();s=a.left-n.scrollLeft,o=a.top-n.scrollTop}this.element.style.left=i.left-s+"px",this.element.style.top=i.top-o+"px",this.element.style.width=i.right-i.left+"px",this.element.style.height=i.bottom-i.top+"px"}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}dragover(e){if(!this.editorView.editable)return;let t=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),i=t&&t.inside>=0&&this.editorView.state.doc.nodeAt(t.inside),n=i&&i.type.spec.disableDropCursor,s=typeof n=="function"?n(this.editorView,t,e):n;if(t&&!s){let o=t.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let a=Uv(this.editorView.state.doc,o,this.editorView.dragging.slice);a!=null&&(o=a)}this.setCursor(o),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){(e.target==this.editorView.dom||!this.editorView.dom.contains(e.relatedTarget))&&this.setCursor(null)}}class Ze extends ie{constructor(e){super(e,e)}map(e,t){let i=e.resolve(t.map(this.head));return Ze.valid(i)?new Ze(i):ie.near(i)}content(){return L.empty}eq(e){return e instanceof Ze&&e.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(e,t){if(typeof t.pos!="number")throw new RangeError("Invalid input for GapCursor.fromJSON");return new Ze(e.resolve(t.pos))}getBookmark(){return new Bm(this.anchor)}static valid(e){let t=e.parent;if(t.isTextblock||!vZ(e)||!kZ(e))return!1;let i=t.type.spec.allowGapCursor;if(i!=null)return i;let n=t.contentMatchAt(e.index()).defaultType;return n&&n.isTextblock}static findGapCursorFrom(e,t,i=!1){e:for(;;){if(!i&&Ze.valid(e))return e;let n=e.pos,s=null;for(let o=e.depth;;o--){let a=e.node(o);if(t>0?e.indexAfter(o)0){s=a.child(t>0?e.indexAfter(o):e.index(o)-1);break}else if(o==0)return null;n+=t;let l=e.doc.resolve(n);if(Ze.valid(l))return l}for(;;){let o=t>0?s.firstChild:s.lastChild;if(!o){if(s.isAtom&&!s.isText&&!J.isSelectable(s)){e=e.doc.resolve(n+s.nodeSize*t),i=!1;continue e}break}s=o,n+=t;let a=e.doc.resolve(n);if(Ze.valid(a))return a}return null}}}Ze.prototype.visible=!1;Ze.findFrom=Ze.findGapCursorFrom;ie.jsonID("gapcursor",Ze);class Bm{constructor(e){this.pos=e}map(e){return new Bm(e.map(this.pos))}resolve(e){let t=e.resolve(this.pos);return Ze.valid(t)?new Ze(t):ie.near(t)}}function vZ(r){for(let e=r.depth;e>=0;e--){let t=r.index(e),i=r.node(e);if(t==0){if(i.type.spec.isolating)return!0;continue}for(let n=i.child(t-1);;n=n.lastChild){if(n.childCount==0&&!n.inlineContent||n.isAtom||n.type.spec.isolating)return!0;if(n.inlineContent)return!1}}return!0}function kZ(r){for(let e=r.depth;e>=0;e--){let t=r.indexAfter(e),i=r.node(e);if(t==i.childCount){if(i.type.spec.isolating)return!0;continue}for(let n=i.child(t);;n=n.firstChild){if(n.childCount==0&&!n.inlineContent||n.isAtom||n.type.spec.isolating)return!0;if(n.inlineContent)return!1}}return!0}function xZ(){return new St({props:{decorations:$Z,createSelectionBetween(r,e,t){return e.pos==t.pos&&Ze.valid(t)?new Ze(t):null},handleClick:CZ,handleKeyDown:SZ,handleDOMEvents:{beforeinput:QZ}}})}const SZ=zk({ArrowLeft:Ql("horiz",-1),ArrowRight:Ql("horiz",1),ArrowUp:Ql("vert",-1),ArrowDown:Ql("vert",1)});function Ql(r,e){const t=r=="vert"?e>0?"down":"up":e>0?"right":"left";return function(i,n,s){let o=i.selection,a=e>0?o.$to:o.$from,l=o.empty;if(o instanceof oe){if(!s.endOfTextblock(t)||a.depth==0)return!1;l=!1,a=i.doc.resolve(e>0?a.after():a.before())}let c=Ze.findGapCursorFrom(a,e,l);return c?(n&&n(i.tr.setSelection(new Ze(c))),!0):!1}}function CZ(r,e,t){if(!r||!r.editable)return!1;let i=r.state.doc.resolve(e);if(!Ze.valid(i))return!1;let n=r.posAtCoords({left:t.clientX,top:t.clientY});return n&&n.inside>-1&&J.isSelectable(r.state.doc.nodeAt(n.inside))?!1:(r.dispatch(r.state.tr.setSelection(new Ze(i))),!0)}function QZ(r,e){if(e.inputType!="insertCompositionText"||!(r.state.selection instanceof Ze))return!1;let{$from:t}=r.state.selection,i=t.parent.contentMatchAt(t.index()).findWrapping(r.state.schema.nodes.text);if(!i)return!1;let n=Z.empty;for(let o=i.length-1;o>=0;o--)n=Z.from(i[o].createAndFill(null,n));let s=r.state.tr.replace(t.pos,t.pos,new L(n,0,0));return s.setSelection(oe.near(s.doc.resolve(t.pos+1))),r.dispatch(s),!1}function $Z(r){if(!(r.selection instanceof Ze))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",Be.create(r.doc,[ti.widget(r.selection.head,e,{key:"gapcursor"})])}const qm=(r,e)=>(Object.assign(r,{meta:{package:"@milkdown/plugin-cursor",...e}}),r),Lm=$r({},"dropCursorConfig");qm(Lm,{displayName:"Ctx"});const sx=ni(r=>bZ(r.get(Lm.key)));qm(sx,{displayName:"Prose"});const ox=ni(()=>xZ());qm(ox,{displayName:"Prose"});const AZ=[Lm,sx,ox];var iu=200,Ge=function(){};Ge.prototype.append=function(r){return r.length?(r=Ge.from(r),!this.length&&r||r.length=e?Ge.empty:this.sliceInner(Math.max(0,r),Math.min(this.length,e))};Ge.prototype.get=function(r){if(!(r<0||r>=this.length))return this.getInner(r)};Ge.prototype.forEach=function(r,e,t){e===void 0&&(e=0),t===void 0&&(t=this.length),e<=t?this.forEachInner(r,e,t,0):this.forEachInvertedInner(r,e,t,0)};Ge.prototype.map=function(r,e,t){e===void 0&&(e=0),t===void 0&&(t=this.length);var i=[];return this.forEach(function(n,s){return i.push(r(n,s))},e,t),i};Ge.from=function(r){return r instanceof Ge?r:r&&r.length?new ax(r):Ge.empty};var ax=function(r){function e(i){r.call(this),this.values=i}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(i,n){return i==0&&n==this.length?this:new e(this.values.slice(i,n))},e.prototype.getInner=function(i){return this.values[i]},e.prototype.forEachInner=function(i,n,s,o){for(var a=n;a=s;a--)if(i(this.values[a],o+a)===!1)return!1},e.prototype.leafAppend=function(i){if(this.length+i.length<=iu)return new e(this.values.concat(i.flatten()))},e.prototype.leafPrepend=function(i){if(this.length+i.length<=iu)return new e(i.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(e.prototype,t),e}(Ge);Ge.empty=new ax([]);var DZ=function(r){function e(t,i){r.call(this),this.left=t,this.right=i,this.length=t.length+i.length,this.depth=Math.max(t.depth,i.depth)+1}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(t){return to&&this.right.forEachInner(t,Math.max(i-o,0),Math.min(this.length,n)-o,s+o)===!1)return!1},e.prototype.forEachInvertedInner=function(t,i,n,s){var o=this.left.length;if(i>o&&this.right.forEachInvertedInner(t,i-o,Math.max(n,o)-o,s+o)===!1||n=n?this.right.slice(t-n,i-n):this.left.slice(t,n).append(this.right.slice(0,i-n))},e.prototype.leafAppend=function(t){var i=this.right.leafAppend(t);if(i)return new e(this.left,i)},e.prototype.leafPrepend=function(t){var i=this.left.leafPrepend(t);if(i)return new e(i,this.right)},e.prototype.appendInner=function(t){return this.left.depth>=Math.max(this.right.depth,t.depth)+1?new e(this.left,new e(this.right,t)):new e(this,t)},e}(Ge);const TZ=500;class gr{constructor(e,t){this.items=e,this.eventCount=t}popEvent(e,t){if(this.eventCount==0)return null;let i=this.items.length;for(;;i--)if(this.items.get(i-1).selection){--i;break}let n,s;t&&(n=this.remapping(i,this.items.length),s=n.maps.length);let o=e.tr,a,l,c=[],u=[];return this.items.forEach((h,d)=>{if(!h.step){n||(n=this.remapping(i,d+1),s=n.maps.length),s--,u.push(h);return}if(n){u.push(new Fr(h.map));let f=h.step.map(n.slice(s)),p;f&&o.maybeStep(f).doc&&(p=o.mapping.maps[o.mapping.maps.length-1],c.push(new Fr(p,void 0,void 0,c.length+u.length))),s--,p&&n.appendMap(p,s)}else o.maybeStep(h.step);if(h.selection)return a=n?h.selection.map(n.slice(s)):h.selection,l=new gr(this.items.slice(0,i).append(u.reverse().concat(c)),this.eventCount-1),!1},this.items.length,0),{remaining:l,transform:o,selection:a}}addTransform(e,t,i,n){let s=[],o=this.eventCount,a=this.items,l=!n&&a.length?a.get(a.length-1):null;for(let u=0;uEZ&&(a=PZ(a,c),o-=c),new gr(a.append(s),o)}remapping(e,t){let i=new Is;return this.items.forEach((n,s)=>{let o=n.mirrorOffset!=null&&s-n.mirrorOffset>=e?i.maps.length-n.mirrorOffset:void 0;i.appendMap(n.map,o)},e,t),i}addMaps(e){return this.eventCount==0?this:new gr(this.items.append(e.map(t=>new Fr(t))),this.eventCount)}rebased(e,t){if(!this.eventCount)return this;let i=[],n=Math.max(0,this.items.length-t),s=e.mapping,o=e.steps.length,a=this.eventCount;this.items.forEach(d=>{d.selection&&a--},n);let l=t;this.items.forEach(d=>{let f=s.getMirror(--l);if(f==null)return;o=Math.min(o,f);let p=s.maps[f];if(d.step){let m=e.steps[f].invert(e.docs[f]),g=d.selection&&d.selection.map(s.slice(l+1,f));g&&a++,i.push(new Fr(p,m,g))}else i.push(new Fr(p))},n);let c=[];for(let d=t;dTZ&&(h=h.compress(this.items.length-i.length)),h}emptyItemCount(){let e=0;return this.items.forEach(t=>{t.step||e++}),e}compress(e=this.items.length){let t=this.remapping(0,e),i=t.maps.length,n=[],s=0;return this.items.forEach((o,a)=>{if(a>=e)n.push(o),o.selection&&s++;else if(o.step){let l=o.step.map(t.slice(i)),c=l&&l.getMap();if(i--,c&&t.appendMap(c,i),l){let u=o.selection&&o.selection.map(t.slice(i));u&&s++;let h=new Fr(c.invert(),l,u),d,f=n.length-1;(d=n.length&&n[f].merge(h))?n[f]=d:n.push(h)}}else o.map&&i--},this.items.length,0),new gr(Ge.from(n.reverse()),s)}}gr.empty=new gr(Ge.empty,0);function PZ(r,e){let t;return r.forEach((i,n)=>{if(i.selection&&e--==0)return t=n,!1}),r.slice(t)}class Fr{constructor(e,t,i,n){this.map=e,this.step=t,this.selection=i,this.mirrorOffset=n}merge(e){if(this.step&&e.step&&!e.selection){let t=e.step.merge(this.step);if(t)return new Fr(t.getMap().invert(),t,this.selection)}}}let Bi=class{constructor(r,e,t,i,n){this.done=r,this.undone=e,this.prevRanges=t,this.prevTime=i,this.prevComposition=n}};const EZ=20;function MZ(r,e,t,i){let n=t.getMeta(nn),s;if(n)return n.historyState;t.getMeta(ZZ)&&(r=new Bi(r.done,r.undone,null,0,-1));let o=t.getMeta("appendedTransaction");if(t.steps.length==0)return r;if(o&&o.getMeta(nn))return o.getMeta(nn).redo?new Bi(r.done.addTransform(t,void 0,i,Ac(e)),r.undone,g0(t.mapping.maps[t.steps.length-1]),r.prevTime,r.prevComposition):new Bi(r.done,r.undone.addTransform(t,void 0,i,Ac(e)),null,r.prevTime,r.prevComposition);if(t.getMeta("addToHistory")!==!1&&!(o&&o.getMeta("addToHistory")===!1)){let a=t.getMeta("composition"),l=r.prevTime==0||!o&&r.prevComposition!=a&&(r.prevTime<(t.time||0)-i.newGroupDelay||!RZ(t,r.prevRanges)),c=o?cd(r.prevRanges,t.mapping):g0(t.mapping.maps[t.steps.length-1]);return new Bi(r.done.addTransform(t,l?e.selection.getBookmark():void 0,i,Ac(e)),gr.empty,c,t.time,a??r.prevComposition)}else return(s=t.getMeta("rebased"))?new Bi(r.done.rebased(t,s),r.undone.rebased(t,s),cd(r.prevRanges,t.mapping),r.prevTime,r.prevComposition):new Bi(r.done.addMaps(t.mapping.maps),r.undone.addMaps(t.mapping.maps),cd(r.prevRanges,t.mapping),r.prevTime,r.prevComposition)}function RZ(r,e){if(!e)return!1;if(!r.docChanged)return!0;let t=!1;return r.mapping.maps[0].forEach((i,n)=>{for(let s=0;s=e[s]&&(t=!0)}),t}function g0(r){let e=[];return r.forEach((t,i,n,s)=>e.push(n,s)),e}function cd(r,e){if(!r)return null;let t=[];for(let i=0;i{let t=nn.getState(r);return!t||t.done.eventCount==0?!1:(e&&lx(t,r,e,!1),!0)},ux=(r,e)=>{let t=nn.getState(r);return!t||t.undone.eventCount==0?!1:(e&&lx(t,r,e,!0),!0)},Oo=(r,e)=>(Object.assign(r,{meta:{package:"@milkdown/plugin-history",...e}}),r),ju=ke("Undo",()=>()=>cx);Oo(ju,{displayName:"Command"});const hx=ke("Undo",()=>()=>ux);Oo(ju,{displayName:"Command"});const Xm=$r({},"historyProviderConfig");Oo(Xm,{displayName:"Ctx"});const dx=ni(r=>NZ(r.get(Xm.key)));Oo(dx,{displayName:"Ctx"});const Ym=ar("historyKeymap",{Undo:{shortcuts:"Mod-z",command:r=>{const e=r.get(pe);return()=>e.call(ju.key)}},Redo:{shortcuts:["Mod-y","Shift-Mod-z"],command:r=>{const e=r.get(pe);return()=>e.call(hx.key)}}});Oo(Ym.ctx,{displayName:"KeymapCtx"});Oo(Ym.shortcuts,{displayName:"Keymap"});const FZ=[Xm,dx,Ym,ju,hx].flat(),IZ=()=>{const{dom:r,loading:e,editor:t,editorFactory:i}=go(Uu,{});return Dw(()=>{if(!r.value)return;const n=i.value(r.value);n&&(e.value=!0,n.create().then(s=>{t.value=s}).finally(()=>{e.value=!1}).catch(console.error))}),Ew(()=>{var n;(n=t.value)==null||n.destroy()}),r},Uu=Symbol("editorInfoCtxKey"),BZ=Vt({name:"Milkdown",setup:()=>{const r=IZ();return()=>wt("div",{"data-milkdown-root":!0,ref:r},null)}}),qZ=Vt({name:"MilkdownProvider",setup:(r,{slots:e})=>{const t=Jt(null),i=Jt(void 0),n=Jt(void 0),s=Jt(!0);return Ki(Uu,{loading:s,dom:t,editor:n,editorFactory:i}),()=>{var o;return wt(cm,null,[(o=e.default)==null?void 0:o.call(e)])}}}),LZ=r=>{const{editorFactory:e,loading:t,editor:i}=go(Uu);return e.value=r,{loading:t,get:()=>i.value}},XZ=()=>{const r=go(Uu);return[r.loading,()=>r.editor.value]};var YZ=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)},fx=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},_f=(r,e,t)=>(YZ(r,e,"access private method"),t),Dc,Gf;let VZ=class{constructor({node:r,view:e,getPos:t,decorations:i,innerDecorations:n,options:s}){fx(this,Dc),this.selected=!1,this.selectNode=()=>{var o,a;this.selected=!0,(a=(o=this.options).selectNode)==null||a.call(o)},this.deselectNode=()=>{var o,a;this.selected=!1,(a=(o=this.options).deselectNode)==null||a.call(o)},this.shouldUpdate=o=>!(o.type!==this.node.type||o.sameMarkup(this.node)&&o.content.eq(this.node.content)),this.update=(o,a,l)=>{var c,u;const h=this.options.update;let d;return h&&(d=h(o,a,l)),typeof d!="boolean"&&(d=this.shouldUpdate(o)),this.node=o,this.decorations=a,this.innerDecorations=l,d&&((u=(c=this.options).onUpdate)==null||u.call(c)),d},this.shouldIgnoreMutation=o=>!this.dom||!this.contentDOM||this.node.isLeaf||this.node.isAtom?!0:o.type==="selection"?!1:this.contentDOM===o.target&&o.type==="attributes"?!0:!this.contentDOM.contains(o.target),this.ignoreMutation=o=>{if(!this.dom||!this.contentDOM)return!0;let a;const l=this.options.ignoreMutation;return l&&(a=l(o)),typeof a!="boolean"&&(a=this.shouldIgnoreMutation(o)),a},this.destroy=()=>{var o,a,l;(a=(o=this.options).destroy)==null||a.call(o),this.dom.remove(),(l=this.contentDOM)==null||l.remove()},this.setAttrs=o=>{const{dispatch:a,state:l}=this.view,c=this.getPos();if(typeof c=="number")return a(l.tr.setNodeMarkup(c,void 0,{...this.node.attrs,...o}))},this.node=r,this.view=e,this.getPos=t,this.decorations=i,this.innerDecorations=n,this.options=s,this.dom=this.createDOM(s.as),this.contentDOM=r.isLeaf?null:this.createContentDOM(s.contentAs),this.dom.setAttribute("data-node-view-root","true"),this.contentDOM&&(this.contentDOM.setAttribute("data-node-view-content","true"),this.contentDOM.style.whiteSpace="inherit"),this.setSelection=s.setSelection,this.stopEvent=s.stopEvent}createDOM(r){return _f(this,Dc,Gf).call(this,r)}createContentDOM(r){return _f(this,Dc,Gf).call(this,r)}get component(){return this.options.component}};Dc=new WeakSet,Gf=function(r){const{node:e}=this;return r==null?document.createElement(e.isInline?"span":"div"):r instanceof HTMLElement?r:r instanceof Function?r(e):document.createElement(r)};let zZ=class{constructor(r){this.view=r.view,this.options=r.options}get component(){return this.options.component}get root(){var r,e;let t=(e=(r=this.options).root)==null?void 0:e.call(r,this.view.dom);return t||(t=this.view.dom.parentElement??document.body),t}update(r,e){var t,i;this.view=r,this.prevState=e,(i=(t=this.options).update)==null||i.call(t,r,e)}destroy(){var r,e;(e=(r=this.options).destroy)==null||e.call(r)}};var Hf,px;let WZ=class{constructor({pos:r,spec:e,options:t}){fx(this,Hf),this.pos=r,this.options=t,this.spec=e,this.dom=_f(this,Hf,px).call(this,t.as),this.dom.setAttribute("data-widget-view-root","true")}bind(r,e){this.view=r,this.getPos=e}get component(){return this.options.component}};Hf=new WeakSet,px=function(r){return r instanceof HTMLElement?r:document.createElement(r)};var jZ=Object.defineProperty,UZ=(r,e,t)=>e in r?jZ(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,er=(r,e,t)=>(UZ(r,typeof e!="symbol"?e+"":e,t),t);const mx=Symbol("[ProsemirrorAdapter]nodeViewContext"),Vm=()=>go(mx),gx=Symbol("[ProsemirrorAdapter]useNodeViewFactory"),_Z=()=>go(gx);let GZ=class extends VZ{constructor(){super(...arguments),er(this,"key",Fm()),er(this,"context",{contentRef:r=>{r&&r instanceof HTMLElement&&this.contentDOM&&r.firstChild!==this.contentDOM&&r.appendChild(this.contentDOM)},view:this.view,getPos:this.getPos,setAttrs:this.setAttrs,node:gi(this.node),selected:gi(this.selected),decorations:gi(this.decorations),innerDecorations:gi(this.innerDecorations)}),er(this,"updateContext",()=>{Object.entries({node:this.node,selected:this.selected,decorations:this.decorations,innerDecorations:this.innerDecorations}).forEach(([r,e])=>{const t=this.context[r];t.value!==e&&(t.value=e)})}),er(this,"render",()=>{const r=this.component;return Mu(Vt({name:"ProsemirrorNodeView",setup:()=>(Ki(mx,this.context),()=>wt(um,{key:this.key,to:this.dom},{default:()=>[wt(r,null,null)]}))}))})}};const HZ=(r,e)=>t=>(i,n,s,o,a)=>{const l=new GZ({node:i,view:n,getPos:s,decorations:o,innerDecorations:a,options:{...t,onUpdate(){var c;(c=t.onUpdate)==null||c.call(t),l.updateContext()},selectNode(){var c;(c=t.selectNode)==null||c.call(t),l.updateContext()},deselectNode(){var c;(c=t.deselectNode)==null||c.call(t),l.updateContext()},destroy(){var c;(c=t.destroy)==null||c.call(t),e(l)}}});return r(l),l},KZ=Symbol("[ProsemirrorAdapter]nodeViewContext"),JZ=Symbol("[ProsemirrorAdapter]usePluginViewFactory");let eN=class extends zZ{constructor(){super(...arguments),er(this,"key",Fm()),er(this,"context",{view:gi(this.view),prevState:gi(this.prevState)}),er(this,"updateContext",()=>{Object.entries({view:this.view,prevState:this.prevState}).forEach(([r,e])=>{const t=this.context[r];if(r==="view"){const i=Object.assign(Object.create(Object.getPrototypeOf(e)),e);t.value=i;return}t.value=e})}),er(this,"render",()=>{const r=this.component;return Mu(Vt({name:"ProsemirrorNodeView",setup:()=>(Ki(KZ,this.context),()=>wt(um,{key:this.key,to:this.root},{default:()=>[wt(r,null,null)]}))}))})}};const tN=(r,e)=>t=>i=>{const n=new eN({view:i,options:{...t,update:(s,o)=>{var a;(a=t.update)==null||a.call(t,s,o),n.updateContext()},destroy:()=>{var s;(s=t.destroy)==null||s.call(t),e(n)}}});return r(n),n},rN=()=>{const r=Jt({}),e=GA(),t=Mu({});return _A(()=>{t.updater=()=>{e==null||e.update()}}),Ew(()=>{t.updater=void 0}),{portals:r,renderVueRenderer:i=>{var n;r.value[i.key]=i.render(),(n=t.updater)==null||n.call(t)},removeVueRenderer:i=>{delete r.value[i.key]}}},iN=Symbol("[ProsemirrorAdapter]widgetViewContext"),nN=Symbol("[ProsemirrorAdapter]useWidgetViewFactory");class sN extends WZ{constructor(){super(...arguments),er(this,"key",Fm()),er(this,"context",{view:this.view,getPos:this.getPos,spec:this.spec}),er(this,"updateContext",()=>{Object.assign(this.context,{view:this.view,getPos:this.getPos,spec:this.spec})}),er(this,"render",()=>{const e=this.component;return Mu(Vt({name:"ProsemirrorWidgetView",setup:()=>(Ki(iN,this.context),()=>wt(um,{key:this.key,to:this.dom},{default:()=>[wt(e,null,null)]}))}))})}}const oN=(r,e)=>t=>(i,n={})=>{const s=new sN({pos:i,options:t}),o={...n,destroy:a=>{var l;(l=n.destroy)==null||l.call(n,a),e(s)}};return s.spec=o,ti.widget(i,(a,l)=>(s.bind(a,l),s.updateContext(),r(s),s.dom),o)},aN=Vt({name:"ProsemirrorAdapterProvider",setup:(r,{slots:e})=>{const{portals:t,renderVueRenderer:i,removeVueRenderer:n}=rN(),s=HZ(i,n),o=tN(i,n),a=oN(i,n);return Ki(gx,s),Ki(JZ,o),Ki(nN,a),()=>{var l;return wt(cm,null,[(l=e.default)==null?void 0:l.call(e),Object.values(t.value).map(c=>Tw(c))])}}});class ue{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=no(this,e,t);let n=[];return this.decompose(0,e,n,2),i.length&&i.decompose(0,i.length,n,3),this.decompose(t,this.length,n,1),qr.from(n,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=no(this,e,t);let i=[];return this.decompose(e,t,i,0),qr.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),n=new xa(this),s=new xa(e);for(let o=t,a=t;;){if(n.next(o),s.next(o),o=0,n.lineBreak!=s.lineBreak||n.done!=s.done||n.value!=s.value)return!1;if(a+=n.value.length,n.done||a>=i)return!0}}iter(e=1){return new xa(this,e)}iterRange(e,t=this.length){return new Ox(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let n=this.line(e).from;i=this.iterRange(n,Math.max(n,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new yx(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?ue.empty:e.length<=32?new Ie(e):qr.from(Ie.split(e,[]))}}class Ie extends ue{constructor(e,t=lN(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,n){for(let s=0;;s++){let o=this.text[s],a=n+o.length;if((t?i:a)>=e)return new cN(n,a,i,o);n=a+1,i++}}decompose(e,t,i,n){let s=e<=0&&t>=this.length?this:new Ie(y0(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(n&1){let o=i.pop(),a=Tc(s.text,o.text.slice(),0,s.length);if(a.length<=32)i.push(new Ie(a,o.length+s.length));else{let l=a.length>>1;i.push(new Ie(a.slice(0,l)),new Ie(a.slice(l)))}}else i.push(s)}replace(e,t,i){if(!(i instanceof Ie))return super.replace(e,t,i);[e,t]=no(this,e,t);let n=Tc(this.text,Tc(i.text,y0(this.text,0,e)),t),s=this.length+i.length-(t-e);return n.length<=32?new Ie(n,s):qr.from(Ie.split(n,[]),s)}sliceString(e,t=this.length,i=` +`){[e,t]=no(this,e,t);let n="";for(let s=0,o=0;s<=t&&oe&&o&&(n+=i),es&&(n+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return n}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],n=-1;for(let s of e)i.push(s),n+=s.length+1,i.length==32&&(t.push(new Ie(i,n)),i=[],n=-1);return n>-1&&t.push(new Ie(i,n)),t}}class qr extends ue{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,n){for(let s=0;;s++){let o=this.children[s],a=n+o.length,l=i+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,i,n);n=a+1,i=l+1}}decompose(e,t,i,n){for(let s=0,o=0;o<=t&&s=o){let c=n&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?i.push(a):a.decompose(e-o,t-o,i,c)}o=l+1}}replace(e,t,i){if([e,t]=no(this,e,t),i.lines=s&&t<=a){let l=o.replace(e-s,t-s,i),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let u=this.children.slice();return u[n]=l,new qr(u,this.length-(t-e)+i.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=` +`){[e,t]=no(this,e,t);let n="";for(let s=0,o=0;se&&s&&(n+=i),eo&&(n+=a.sliceString(e-o,t-o,i)),o=l+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof qr))return 0;let i=0,[n,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=t,s+=t){if(n==o||s==a)return i;let l=this.children[n],c=e.children[s];if(l!=c)return i+l.scanIdentical(c,t);i+=l.length+1}}static from(e,t=e.reduce((i,n)=>i+n.length+1,-1)){let i=0;for(let f of e)i+=f.lines;if(i<32){let f=[];for(let p of e)p.flatten(f);return new Ie(f,t)}let n=Math.max(32,i>>5),s=n<<1,o=n>>1,a=[],l=0,c=-1,u=[];function h(f){let p;if(f.lines>s&&f instanceof qr)for(let m of f.children)h(m);else f.lines>o&&(l>o||!l)?(d(),a.push(f)):f instanceof Ie&&l&&(p=u[u.length-1])instanceof Ie&&f.lines+p.lines<=32?(l+=f.lines,c+=f.length+1,u[u.length-1]=new Ie(p.text.concat(f.text),p.length+1+f.length)):(l+f.lines>n&&d(),l+=f.lines,c+=f.length+1,u.push(f))}function d(){l!=0&&(a.push(u.length==1?u[0]:qr.from(u,c)),c=-1,l=u.length=0)}for(let f of e)h(f);return d(),a.length==1?a[0]:new qr(a,t)}}ue.empty=new Ie([""],0);function lN(r){let e=-1;for(let t of r)e+=t.length+1;return e}function Tc(r,e,t=0,i=1e9){for(let n=0,s=0,o=!0;s=t&&(l>i&&(a=a.slice(0,i-n)),n0?1:(e instanceof Ie?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,n=this.nodes[i],s=this.offsets[i],o=s>>1,a=n instanceof Ie?n.text.length:n.children.length;if(o==(t>0?a:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(n instanceof Ie){let l=n.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=n.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ie?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Ox{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new xa(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*t,this.value=n.length<=i?n:t<0?n.slice(n.length-i):n.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class yx{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:n}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(ue.prototype[Symbol.iterator]=function(){return this.iter()},xa.prototype[Symbol.iterator]=Ox.prototype[Symbol.iterator]=yx.prototype[Symbol.iterator]=function(){return this});let cN=class{constructor(r,e,t,i){this.from=r,this.to=e,this.number=t,this.text=i}get length(){return this.to-this.from}};function no(r,e,t){return e=Math.max(0,Math.min(r.length,e)),[e,Math.max(e,Math.min(r.length,t))]}let Vs="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(r=>r?parseInt(r,36):1);for(let r=1;rr)return Vs[e-1]<=r;return!1}function b0(r){return r>=127462&&r<=127487}const w0=8205;function ct(r,e,t=!0,i=!0){return(t?bx:hN)(r,e,i)}function bx(r,e,t){if(e==r.length)return e;e&&wx(r.charCodeAt(e))&&vx(r.charCodeAt(e-1))&&e--;let i=rt(r,e);for(e+=Kt(i);e=0&&b0(rt(r,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function hN(r,e,t){for(;e>0;){let i=bx(r,e-2,t);if(i=56320&&r<57344}function vx(r){return r>=55296&&r<56320}function rt(r,e){let t=r.charCodeAt(e);if(!vx(t)||e+1==r.length)return t;let i=r.charCodeAt(e+1);return wx(i)?(t-55296<<10)+(i-56320)+65536:t}function zm(r){return r<=65535?String.fromCharCode(r):(r-=65536,String.fromCharCode((r>>10)+55296,(r&1023)+56320))}function Kt(r){return r<65536?1:2}const Kf=/\r\n?|\n/;var it=function(r){return r[r.Simple=0]="Simple",r[r.TrackDel=1]="TrackDel",r[r.TrackBefore=2]="TrackBefore",r[r.TrackAfter=3]="TrackAfter",r}(it||(it={}));class Gr{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-n);s+=a}else{if(i!=it.Simple&&c>=e&&(i==it.TrackDel&&ne||i==it.TrackBefore&&ne))return null;if(c>e||c==e&&t<0&&!a)return e==n||t<0?s:s+l;s+=l}n=c}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return s}touchesRange(e,t=e){for(let i=0,n=0;i=0&&n<=t&&a>=e)return nt?"cover":!0;n=a}return!1}toString(){let e="";for(let t=0;t=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Gr(e)}static create(e){return new Gr(e)}}class ze extends Gr{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Jf(this,(t,i,n,s,o)=>e=e.replace(n,n+(i-t),o),!1),e}mapDesc(e,t=!1){return ep(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let n=0,s=0;n=0){t[n]=a,t[n+1]=o;let l=n>>1;for(;i.length0&&ji(i,t,s.text),s.forward(u),a+=u}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,i){let n=[],s=[],o=0,a=null;function l(u=!1){if(!u&&!n.length)return;od||h<0||d>t)throw new RangeError(`Invalid change range ${h} to ${d} (in doc of length ${t})`);let p=f?typeof f=="string"?ue.of(f.split(i||Kf)):f:ue.empty,m=p.length;if(h==d&&m==0)return;ho&&st(n,h-o,-1),st(n,d-h,m),ji(s,n,p),o=d}}return c(e),l(!a),a}static empty(e){return new ze(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let n=0;na&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;i.length=0&&t<=0&&t==r[n+1]?r[n]+=e:e==0&&r[n]==0?r[n+1]+=t:i?(r[n]+=e,r[n+1]+=t):r.push(e,t)}function ji(r,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i>1])),!(t||o==r.sections.length||r.sections[o+1]<0);)a=r.sections[o++],l=r.sections[o++];e(n,c,s,u,h),n=c,s=u}}}function ep(r,e,t,i=!1){let n=[],s=i?[]:null,o=new qa(r),a=new qa(e);for(let l=-1;;)if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);st(n,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,u=o.len;for(;u;)if(a.ins==-1){let h=Math.min(u,a.len);c+=h,u-=h,a.forward(h)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||i.length>c),s.forward2(l),o.forward(l)}}}}class qa{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?ue.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?ue.empty:t[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Ln{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let i,n;return this.empty?i=n=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),i==this.from&&n==this.to?this:new Ln(i,n,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return D.range(e,t);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return D.range(this.anchor,i)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return D.range(e.anchor,e.head)}static create(e,t,i){return new Ln(e,t,i)}}class D{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:D.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;ie.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new D(e.ranges.map(t=>Ln.fromJSON(t)),e.main)}static single(e,t=e){return new D([D.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,n=0;ne?8:0)|s)}static normalized(e,t=0){let i=e[t];e.sort((n,s)=>n.from-s.from),t=e.indexOf(i);for(let n=1;ns.head?D.range(l,a):D.range(a,l))}}return new D(e,t)}}function xx(r,e){for(let t of r.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Wm=0;class Y{constructor(e,t,i,n,s){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=n,this.id=Wm++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new Y(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:jm),!!e.static,e.enables)}of(e){return new Pc([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Pc(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Pc(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}}function jm(r,e){return r==e||r.length==e.length&&r.every((t,i)=>t===e[i])}class Pc{constructor(e,t,i,n){this.dependencies=e,this.facet=t,this.type=i,this.value=n,this.id=Wm++}dynamicSlot(e){var t;let i=this.value,n=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,u=[];for(let h of this.dependencies)h=="doc"?l=!0:h=="selection"?c=!0:((t=e[h.id])!==null&&t!==void 0?t:1)&1||u.push(e[h.id]);return{create(h){return h.values[o]=i(h),1},update(h,d){if(l&&d.docChanged||c&&(d.docChanged||d.selection)||tp(h,u)){let f=i(h);if(a?!v0(f,h.values[o],n):!n(f,h.values[o]))return h.values[o]=f,1}return 0},reconfigure:(h,d)=>{let f,p=d.config.address[s];if(p!=null){let m=su(d,p);if(this.dependencies.every(g=>g instanceof Y?d.facet(g)===h.facet(g):g instanceof Ye?d.field(g,!1)==h.field(g,!1):!0)||(a?v0(f=i(h),m,n):n(f=i(h),m)))return h.values[o]=m,0}else f=i(h);return h.values[o]=f,1}}}}function v0(r,e,t){if(r.length!=e.length)return!1;for(let i=0;ir[l.id]),n=t.map(l=>l.type),s=i.filter(l=>!(l&1)),o=r[e.id]>>1;function a(l){let c=[];for(let u=0;ui===n),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(k0).find(i=>i.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,n)=>{let s=i.values[t],o=this.updateF(s,n);return this.compareF(s,o)?0:(i.values[t]=o,1)},reconfigure:(i,n)=>n.config.address[this.id]!=null?(i.values[t]=n.field(this),0):(i.values[t]=this.create(i),1)}}init(e){return[this,k0.of({field:this,create:e})]}get extension(){return this}}const Rn={lowest:4,low:3,default:2,high:1,highest:0};function Mo(r){return e=>new Sx(e,r)}const bn={highest:Mo(Rn.highest),high:Mo(Rn.high),default:Mo(Rn.default),low:Mo(Rn.low),lowest:Mo(Rn.lowest)};class Sx{constructor(e,t){this.inner=e,this.prec=t}}class ll{of(e){return new rp(this,e)}reconfigure(e){return ll.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class rp{constructor(e,t){this.compartment=e,this.inner=t}}class nu{constructor(e,t,i,n,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=n,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,i){let n=[],s=Object.create(null),o=new Map;for(let d of fN(e,t,o))d instanceof Ye?n.push(d):(s[d.facet.id]||(s[d.facet.id]=[])).push(d);let a=Object.create(null),l=[],c=[];for(let d of n)a[d.id]=c.length<<1,c.push(f=>d.slot(f));let u=i==null?void 0:i.config.facets;for(let d in s){let f=s[d],p=f[0].facet,m=u&&u[d]||[];if(f.every(g=>g.type==0))if(a[p.id]=l.length<<1|1,jm(m,f))l.push(i.facet(p));else{let g=p.combine(f.map(O=>O.value));l.push(i&&p.compare(g,i.facet(p))?i.facet(p):g)}else{for(let g of f)g.type==0?(a[g.id]=l.length<<1|1,l.push(g.value)):(a[g.id]=c.length<<1,c.push(O=>g.dynamicSlot(O)));a[p.id]=c.length<<1,c.push(g=>dN(g,p,f))}}let h=c.map(d=>d(a));return new nu(e,o,h,a,l,s)}}function fN(r,e,t){let i=[[],[],[],[],[]],n=new Map;function s(o,a){let l=n.get(o);if(l!=null){if(l<=a)return;let c=i[l].indexOf(o);c>-1&&i[l].splice(c,1),o instanceof rp&&t.delete(o.compartment)}if(n.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof rp){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof Sx)s(o.inner,o.prec);else if(o instanceof Ye)i[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof Pc)i[a].push(o),o.facet.extensions&&s(o.facet.extensions,Rn.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(r,Rn.default),i.reduce((o,a)=>o.concat(a))}function Sa(r,e){if(e&1)return 2;let t=e>>1,i=r.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;r.status[t]=4;let n=r.computeSlot(r,r.config.dynamicSlots[t]);return r.status[t]=2|n}function su(r,e){return e&1?r.config.staticValues[e>>1]:r.values[e>>1]}const Cx=Y.define(),ip=Y.define({combine:r=>r.some(e=>e),static:!0}),Qx=Y.define({combine:r=>r.length?r[0]:void 0,static:!0}),$x=Y.define(),Ax=Y.define(),Dx=Y.define(),Tx=Y.define({combine:r=>r.length?r[0]:!1});class Qi{constructor(e,t){this.type=e,this.value=t}static define(){return new pN}}class pN{of(e){return new Qi(this,e)}}class mN{constructor(e){this.map=e}of(e){return new ee(this,e)}}class ee{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new ee(this.type,t)}is(e){return this.type==e}static define(e={}){return new mN(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let n of e){let s=n.map(t);s&&i.push(s)}return i}}ee.reconfigure=ee.define();ee.appendConfig=ee.define();class je{constructor(e,t,i,n,s,o){this.startState=e,this.changes=t,this.selection=i,this.effects=n,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,i&&xx(i,t.newLength),s.some(a=>a.type==je.time)||(this.annotations=s.concat(je.time.of(Date.now())))}static create(e,t,i,n,s,o){return new je(e,t,i,n,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(je.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}je.time=Qi.define();je.userEvent=Qi.define();je.addToHistory=Qi.define();je.remote=Qi.define();function gN(r,e){let t=[];for(let i=0,n=0;;){let s,o;if(i=r[i]))s=r[i++],o=r[i++];else if(n=0;n--){let s=i[n](r);s instanceof je?r=s:Array.isArray(s)&&s.length==1&&s[0]instanceof je?r=s[0]:r=Ex(e,zs(s),!1)}return r}function yN(r){let e=r.startState,t=e.facet(Dx),i=r;for(let n=t.length-1;n>=0;n--){let s=t[n](r);s&&Object.keys(s).length&&(i=Px(i,np(e,s,r.changes.newLength),!0))}return i==r?r:je.create(e,r.changes,r.selection,i.effects,i.annotations,i.scrollIntoView)}const bN=[];function zs(r){return r==null?bN:Array.isArray(r)?r:[r]}var Te=function(r){return r[r.Word=0]="Word",r[r.Space=1]="Space",r[r.Other=2]="Other",r}(Te||(Te={}));const wN=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let sp;try{sp=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function vN(r){if(sp)return sp.test(r);for(let e=0;e"€"&&(t.toUpperCase()!=t.toLowerCase()||wN.test(t)))return!0}return!1}function kN(r){return e=>{if(!/\S/.test(e))return Te.Space;if(vN(e))return Te.Word;for(let t=0;t-1)return Te.Word;return Te.Other}}class re{constructor(e,t,i,n,s,o){this.config=e,this.doc=t,this.selection=i,this.values=n,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;an.set(c,l)),t=null),n.set(a.value.compartment,a.value.extension)):a.is(ee.reconfigure)?(t=null,i=a.value):a.is(ee.appendConfig)&&(t=null,i=zs(i).concat(a.value));let s;t?s=e.startState.values.slice():(t=nu.resolve(i,n,this),s=new re(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(a,l)=>l.reconfigure(a,this),null).values);let o=e.startState.facet(ip)?e.newSelection:e.newSelection.asSingle();new re(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:D.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),n=this.changes(i.changes),s=[i.range],o=zs(i.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return re.create({doc:e.doc,selection:D.fromJSON(e.selection),extensions:t.extensions?n.concat([t.extensions]):n})}static create(e={}){let t=nu.resolve(e.extensions||[],new Map),i=e.doc instanceof ue?e.doc:ue.of((e.doc||"").split(t.staticFacet(re.lineSeparator)||Kf)),n=e.selection?e.selection instanceof D?e.selection:D.single(e.selection.anchor,e.selection.head):D.single(0);return xx(n,i.length),t.staticFacet(ip)||(n=n.asSingle()),new re(t,i,n,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(re.tabSize)}get lineBreak(){return this.facet(re.lineSeparator)||` +`}get readOnly(){return this.facet(Tx)}phrase(e,...t){for(let i of this.facet(re.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,n)=>{if(n=="$")return"$";let s=+(n||1);return!s||s>t.length?i:t[s-1]})),e}languageDataAt(e,t,i=-1){let n=[];for(let s of this.facet(Cx))for(let o of s(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&n.push(o[e]);return n}charCategorizer(e){return kN(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:i,length:n}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-i,a=e-i;for(;o>0;){let l=ct(t,o,!1);if(s(t.slice(l,o))!=Te.Word)break;o=l}for(;ar.length?r[0]:4});re.lineSeparator=Qx;re.readOnly=Tx;re.phrases=Y.define({compare(r,e){let t=Object.keys(r),i=Object.keys(e);return t.length==i.length&&t.every(n=>r[n]==e[n])}});re.languageData=Cx;re.changeFilter=$x;re.transactionFilter=Ax;re.transactionExtender=Dx;ll.reconfigure=ee.define();function Ar(r,e,t={}){let i={};for(let n of r)for(let s of Object.keys(n)){let o=n[s],a=i[s];if(a===void 0)i[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))i[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let n in e)i[n]===void 0&&(i[n]=e[n]);return i}class ns{eq(e){return this==e}range(e,t=e){return op.create(e,t,this)}}ns.prototype.startSide=ns.prototype.endSide=0;ns.prototype.point=!1;ns.prototype.mapMode=it.TrackDel;let op=class Mx{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new Mx(e,t,i)}};function ap(r,e){return r.from-e.from||r.value.startSide-e.value.startSide}class Um{constructor(e,t,i,n){this.from=e,this.to=t,this.value=i,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,n=0){let s=i?this.to:this.from;for(let o=n,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(i?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,i,n){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,s);sf||d==f&&c.startSide>0&&c.endSide<=0)continue;(f-d||c.endSide-c.startSide)<0||(o<0&&(o=d),c.point&&(a=Math.max(a,f-d)),i.push(c),n.push(d-o),s.push(f-o))}return{mapped:i.length?new Um(n,s,i,a):null,pos:o}}}class se{constructor(e,t,i,n){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=n}static create(e,t,i,n){return new se(e,t,i,n)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:n=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(ap)),this.isEmpty)return t.length?se.of(t):this;let a=new Rx(this,null,-1).goto(0),l=0,c=[],u=new un;for(;a.value||l=0){let h=t[l++];u.addInner(h.from,h.to,h.value)||c.push(h)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return La.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return La.from(e).goto(t)}static compare(e,t,i,n,s=-1){let o=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),a=t.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),l=x0(o,a,i),c=new Ro(o,l,s),u=new Ro(a,l,s);i.iterGaps((h,d,f)=>S0(c,h,u,d,f,n)),i.empty&&i.length==0&&S0(c,0,u,0,0,n)}static eq(e,t,i=0,n){n==null&&(n=999999999);let s=e.filter(u=>!u.isEmpty&&t.indexOf(u)<0),o=t.filter(u=>!u.isEmpty&&e.indexOf(u)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=x0(s,o),l=new Ro(s,a,0).goto(i),c=new Ro(o,a,0).goto(i);for(;;){if(l.to!=c.to||!lp(l.active,c.active)||l.point&&(!c.point||!l.point.eq(c.point)))return!1;if(l.to>n)return!0;l.next(),c.next()}}static spans(e,t,i,n,s=-1){let o=new Ro(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,i);if(o.point){let u=o.activeForPoint(o.to),h=o.pointFroma&&(n.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>i)return l+(o.point&&o.to>i?1:0);a=o.to,o.next()}}static of(e,t=!1){let i=new un;for(let n of e instanceof op?[e]:t?xN(e):e)i.add(n.from,n.to,n.value);return i.finish()}static join(e){if(!e.length)return se.empty;let t=e[e.length-1];for(let i=e.length-2;i>=0;i--)for(let n=e[i];n!=se.empty;n=n.nextLayer)t=new se(n.chunkPos,n.chunk,t,Math.max(n.maxPoint,t.maxPoint));return t}}se.empty=new se([],[],null,-1);function xN(r){if(r.length>1)for(let e=r[0],t=1;t0)return r.slice().sort(ap);e=i}return r}se.empty.nextLayer=se.empty;class un{finishChunk(e){this.chunks.push(new Um(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new un)).add(e,t,i)}addInner(e,t,i){let n=e-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return n<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(se.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=se.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function x0(r,e,t){let i=new Map;for(let s of r)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&n.push(new Rx(o,t,i,s));return n.length==1?n[0]:new La(n)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let i=this.heap.length>>1;i>=0;i--)hd(this.heap,i);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let i=this.heap.length>>1;i>=0;i--)hd(this.heap,i);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),hd(this.heap,0)}}}function hd(r,e){for(let t=r[e];;){let i=(e<<1)+1;if(i>=r.length)break;let n=r[i];if(i+1=0&&(n=r[i+1],i++),t.compare(n)<0)break;r[i]=t,r[e]=n,e=i}}class Ro{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=La.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){$l(this.active,e),$l(this.activeTo,e),$l(this.activeRank,e),this.minActive=C0(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:n,rank:s}=this.cursor;for(;t0;)t++;Al(this.active,t,i),Al(this.activeTo,t,n),Al(this.activeRank,t,s),e&&Al(e,t,this.cursor.from),this.minActive=C0(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>e){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),i&&$l(i,n)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(i),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&i[n]=0&&!(this.activeRank[i]e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function S0(r,e,t,i,n,s){r.goto(e),t.goto(i);let o=i+n,a=i,l=i-e;for(;;){let c=r.to+l-t.to||r.endSide-t.endSide,u=c<0?r.to+l:t.to,h=Math.min(u,o);if(r.point||t.point?r.point&&t.point&&(r.point==t.point||r.point.eq(t.point))&&lp(r.activeForPoint(r.to),t.activeForPoint(t.to))||s.comparePoint(a,h,r.point,t.point):h>a&&!lp(r.active,t.active)&&s.compareRange(a,h,r.active,t.active),u>o)break;a=u,c<=0&&r.next(),c>=0&&t.next()}}function lp(r,e){if(r.length!=e.length)return!1;for(let t=0;t=e;i--)r[i+1]=r[i];r[e]=t}function C0(r,e){let t=-1,i=1e9;for(let n=0;n=e)return n;if(n==r.length)break;s+=r.charCodeAt(n)==9?t-s%t:1,n=ct(r,n)}return i===!0?-1:r.length}const up="ͼ",Q0=typeof Symbol>"u"?"__"+up:Symbol.for(up),hp=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),$0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class hn{constructor(e,t){this.rules=[];let{finish:i}=t||{};function n(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let u=[],h=/^@(\w+)\b/.exec(o[0]),d=h&&h[1]=="keyframes";if(h&&a==null)return l.push(o[0]+";");for(let f in a){let p=a[f];if(/&/.test(f))s(f.split(/,\s*/).map(m=>o.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,l);else if(p&&typeof p=="object"){if(!h)throw new RangeError("The value of a property ("+f+") should be a primitive value.");s(n(f),p,u,d)}else p!=null&&u.push(f.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(u.length||d)&&l.push((i&&!h&&!c?o.map(i):o).join(", ")+" {"+u.join(" ")+"}")}for(let o in e)s(n(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=$0[Q0]||1;return $0[Q0]=e+1,up+e.toString(36)}static mount(e,t,i){let n=e[hp],s=i&&i.nonce;n?s&&n.setNonce(s):n=new SN(e,s),n.mount(Array.isArray(t)?t:[t])}}let A0=new Map;class SN{constructor(e,t){let i=e.ownerDocument||e,n=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let s=A0.get(i);if(s)return e.adoptedStyleSheets=[s.sheet,...e.adoptedStyleSheets],e[hp]=s;this.sheet=new n.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],A0.set(i,this)}else{this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);let s=e.head||e;s.insertBefore(this.styleTag,s.firstChild)}this.modules=[],e[hp]=this}mount(e){let t=this.sheet,i=0,n=0;for(let s=0;s-1&&(this.modules.splice(a,1),n--,a=-1),a==-1){if(this.modules.splice(n++,0,o),t)for(let l=0;l.995&&t<1.005||!isFinite(t)||Math.abs(e.width-r.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-r.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function $N(r,e,t,i,n,s,o,a){let l=r.ownerDocument,c=l.defaultView||window;for(let u=r,h=!1;u&&!h;)if(u.nodeType==1){let d,f=u==l.body,p=1,m=1;if(f)d=QN(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(h=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let w=u.getBoundingClientRect();({scaleX:p,scaleY:m}=Zx(u,w)),d={left:w.left,right:w.left+u.clientWidth*p,top:w.top,bottom:w.top+u.clientHeight*m}}let g=0,O=0;if(n=="nearest")e.top0&&e.bottom>d.bottom+O&&(O=e.bottom-d.bottom+O+o)):e.bottom>d.bottom&&(O=e.bottom-d.bottom+o,t<0&&e.top-O0&&e.right>d.right+g&&(g=e.right-d.right+g+s)):e.right>d.right&&(g=e.right-d.right+s,t<0&&e.leftt.clientHeight||t.scrollWidth>t.clientWidth)return t;t=t.assignedSlot||t.parentNode}else if(t.nodeType==11)t=t.host;else break;return null}class DN{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?ki(t):0),i,Math.min(e.focusOffset,i?ki(i):0))}set(e,t,i,n){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=n}}let ws=null;function Nx(r){if(r.setActive)return r.setActive();if(ws)return r.focus(ws);let e=[];for(let t=r;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(r.focus(ws==null?{get preventScroll(){return ws={preventScroll:!0},!0}}:void 0),!ws){ws=!1;for(let t=0;tMath.max(1,r.scrollHeight-r.clientHeight-4)}class at{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new at(e.parentNode,Xa(e),t)}static after(e,t){return new at(e.parentNode,Xa(e)+1,t)}}const _m=[];class $e{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let i of this.children){if(i==e)return t;t+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(this.flags&2){let i=this.dom,n=null,s;for(let o of this.children){if(o.flags&7){if(!o.dom&&(s=n?n.nextSibling:i.firstChild)){let a=$e.get(s);(!a||!a.parent&&a.canReuseDOM(o))&&o.reuseDOM(s)}o.sync(e,t),o.flags&=-8}if(s=n?n.nextSibling:i.firstChild,t&&!t.written&&t.node==i&&s!=o.dom&&(t.written=!0),o.dom.parentNode==i)for(;s&&s!=o.dom;)s=P0(s);else i.insertBefore(o.dom,s);n=o.dom}for(s=n?n.nextSibling:i.firstChild,s&&t&&t.node==i&&(t.written=!0);s;)s=P0(s)}else if(this.flags&1)for(let i of this.children)i.flags&7&&(i.sync(e,t),i.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let i;if(e==this.dom)i=this.dom.childNodes[t];else{let n=ki(e)==0?0:t==0?-1:1;for(;;){let s=e.parentNode;if(s==this.dom)break;n==0&&s.firstChild!=s.lastChild&&(e==s.firstChild?n=-1:n=1),e=s}n<0?i=e:i=e.nextSibling}if(i==this.dom.firstChild)return 0;for(;i&&!$e.get(i);)i=i.nextSibling;if(!i)return this.length;for(let n=0,s=0;;n++){let o=this.children[n];if(o.dom==i)return s;s+=o.length+o.breakAfter}}domBoundsAround(e,t,i=0){let n=-1,s=-1,o=-1,a=-1;for(let l=0,c=i,u=i;lt)return h.domBoundsAround(e,t,c);if(d>=e&&n==-1&&(n=l,s=c),c>t&&h.dom.parentNode==this.dom){o=l,a=u;break}u=d,c=d+h.breakAfter}return{from:s,to:a<0?i+this.length:a,startDOM:(n?this.children[n-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o=0?this.children[o].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,i=_m){this.markDirty();for(let n=e;nthis.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}function qx(r,e,t,i,n,s,o,a,l){let{children:c}=r,u=c.length?c[e]:null,h=s.length?s[s.length-1]:null,d=h?h.breakAfter:o;if(!(e==i&&u&&!o&&!d&&s.length<2&&u.merge(t,n,s.length?h:null,t==0,a,l))){if(i0&&(!o&&s.length&&u.merge(t,u.length,s[0],!1,a,0)?u.breakAfter=s.shift().breakAfter:(t2);var V={mac:R0||/Mac/.test(qt.platform),windows:/Win/.test(qt.platform),linux:/Linux|X11/.test(qt.platform),ie:Gu,ie_version:Xx?fp.documentMode||6:mp?+mp[1]:pp?+pp[1]:0,gecko:E0,gecko_version:E0?+(/Firefox\/(\d+)/.exec(qt.userAgent)||[0,0])[1]:0,chrome:!!dd,chrome_version:dd?+dd[1]:0,ios:R0,android:/Android\b/.test(qt.userAgent),webkit:M0,safari:Yx,webkit_version:M0?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:fp.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};const EN=256;class xi extends $e{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,i){return this.flags&8||i&&(!(i instanceof xi)||this.length-(t-e)+i.length>EN||i.flags&8)?!1:(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new xi(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new at(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return MN(this.dom,e,t)}}class Si extends $e{constructor(e,t=[],i=0){super(),this.mark=e,this.children=t,this.length=i;for(let n of t)n.setParent(this)}setAttrs(e){if(Fx(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,i,n,s,o){return i&&(!(i instanceof Si&&i.mark.eq(this.mark))||e&&s<=0||te&&t.push(i=e&&(n=s),i=l,s++}let o=this.length-e;return this.length=e,n>-1&&(this.children.length=n,this.markDirty()),new Si(this.mark,t,o)}domAtPos(e){return Vx(this,e)}coordsAt(e,t){return Wx(this,e,t)}}function MN(r,e,t){let i=r.nodeValue.length;e>i&&(e=i);let n=e,s=e,o=0;e==0&&t<0||e==i&&t>=0?V.chrome||V.gecko||(e?(n--,o=1):s=0)?0:a.length-1];return V.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(a,c=>c.width)||l),o?_u(l,o<0):l||null}class Ui extends $e{static create(e,t,i){return new Ui(e,t,i)}constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i,this.prevWidget=null}split(e){let t=Ui.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,i,n,s,o){return i&&(!(i instanceof Ui)||!this.widget.compare(i.widget)||e>0&&s<=0||t0)?at.before(this.dom):at.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;let n=this.dom.getClientRects(),s=null;if(!n.length)return null;let o=this.side?this.side<0:e>0;for(let a=o?n.length-1:0;s=n[a],!(e>0?a==0:a==n.length-1||s.top0?at.before(this.dom):at.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return ue.empty}get isHidden(){return!0}}xi.prototype.children=Ui.prototype.children=oo.prototype.children=_m;function Vx(r,e){let t=r.dom,{children:i}=r,n=0;for(let s=0;ns&&e0;s--){let o=i[s-1];if(o.dom.parentNode==t)return o.domAtPos(o.length)}for(let s=n;s0&&e instanceof Si&&n.length&&(i=n[n.length-1])instanceof Si&&i.mark.eq(e.mark)?zx(i,e.children[0],t-1):(n.push(e),e.setParent(r)),r.length+=e.length}function Wx(r,e,t){let i=null,n=-1,s=null,o=-1;function a(c,u){for(let h=0,d=0;h=u&&(f.children.length?a(f,u-d):(!s||s.isHidden&&t>0)&&(p>u||d==p&&f.getSide()>0)?(s=f,o=u-d):(d-1?1:0)!=n.length-(t&&n.indexOf(t)>-1?1:0))return!1;for(let s of i)if(s!=t&&(n.indexOf(s)==-1||r[s]!==e[s]))return!1;return!0}function Op(r,e,t){let i=!1;if(e)for(let n in e)t&&n in t||(i=!0,n=="style"?r.style.cssText="":r.removeAttribute(n));if(t)for(let n in t)e&&e[n]==t[n]||(i=!0,n=="style"?r.style.cssText=t[n]:r.setAttribute(n,t[n]));return i}function ZN(r){let e=Object.create(null);for(let t=0;t0&&this.children[i-1].length==0;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){Gm(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){zx(this,e,t)}addLineDeco(e){let t=e.spec.attributes,i=e.spec.class;t&&(this.attrs=gp(t,this.attrs||{})),i&&(this.attrs=gp({class:i},this.attrs||{}))}domAtPos(e){return Vx(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var i;this.dom?this.flags&4&&(Fx(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(Op(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let n=this.dom.lastChild;for(;n&&$e.get(n)instanceof Si;)n=n.lastChild;if(!n||!this.length||n.nodeName!="BR"&&((i=$e.get(n))===null||i===void 0?void 0:i.isEditable)==!1&&(!V.ios||!this.children.some(s=>s instanceof xi))){let s=document.createElement("BR");s.cmIgnore=!0,this.dom.appendChild(s)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let i of this.children){if(!(i instanceof xi)||/[^ -~]/.test(i.text))return null;let n=so(i.dom);if(n.length!=1)return null;e+=n[0].width,t=n[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let i=Wx(this,e,t);if(!this.children.length&&i&&this.parent){let{heightOracle:n}=this.parent.view.viewState,s=i.bottom-i.top;if(Math.abs(s-n.lineHeight)<2&&n.textHeight=t){if(s instanceof Ve)return s;if(o>t)break}n=o+s.breakAfter}return null}}class sn extends $e{constructor(e,t,i){super(),this.widget=e,this.length=t,this.deco=i,this.breakAfter=0,this.prevWidget=null}merge(e,t,i,n,s,o){return i&&(!(i instanceof sn)||!this.widget.compare(i.widget)||e>0&&s<=0||t0}}class si{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var yt=function(r){return r[r.Text=0]="Text",r[r.WidgetBefore=1]="WidgetBefore",r[r.WidgetAfter=2]="WidgetAfter",r[r.WidgetRange=3]="WidgetRange",r}(yt||(yt={}));class U extends ns{constructor(e,t,i,n){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=n}get heightRelevant(){return!1}static mark(e){return new cl(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return t+=i&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new dn(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,n;if(e.isBlockGap)i=-5e8,n=4e8;else{let{start:s,end:o}=jx(e,t);i=(s?t?-3e8:-1:5e8)-1,n=(o?t?2e8:1:-6e8)+1}return new dn(e,i,n,t,e.widget||null,!0)}static line(e){return new ul(e)}static set(e,t=!1){return se.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}U.none=se.empty;class cl extends U{constructor(e){let{start:t,end:i}=jx(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,i;return this==e||e instanceof cl&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((i=e.attrs)===null||i===void 0?void 0:i.class))&&Gm(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}cl.prototype.point=!1;class ul extends U{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof ul&&this.spec.class==e.spec.class&&Gm(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}ul.prototype.mapMode=it.TrackBefore;ul.prototype.point=!0;class dn extends U{constructor(e,t,i,n,s,o){super(t,i,s,e),this.block=n,this.isReplace=o,this.mapMode=n?t<=0?it.TrackBefore:it.TrackAfter:it.TrackDel}get type(){return this.startSide!=this.endSide?yt.WidgetRange:this.startSide<=0?yt.WidgetBefore:yt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof dn&&NN(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}dn.prototype.point=!0;function jx(r,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=r;return t==null&&(t=r.inclusive),i==null&&(i=r.inclusive),{start:t??e,end:i??e}}function NN(r,e){return r==e||!!(r&&e&&r.compare(e))}function yp(r,e,t,i=0){let n=t.length-1;n>=0&&t[n]+i>=r?t[n]=Math.max(t[n],e):t.push(r,e)}class Qa{constructor(e,t,i,n){this.doc=e,this.pos=t,this.end=i,this.disallowBlockEffectsFor=n,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof sn&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new Ve),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(Dl(new oo(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof sn)&&this.getLine()}buildText(e,t,i){for(;e>0;){if(this.textOff==this.text.length){let{value:s,lineBreak:o,done:a}=this.cursor.next(this.skip);if(this.skip=0,a)throw new Error("Ran out of text content when drawing inline views");if(o){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=s,this.textOff=0}let n=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-i)),this.getLine().append(Dl(new xi(this.text.slice(this.textOff,this.textOff+n)),t),i),this.atCursorPos=!0,this.textOff+=n,e-=n,i=0}}span(e,t,i,n){this.buildText(t-e,i,n),this.pos=t,this.openStart<0&&(this.openStart=n)}point(e,t,i,n,s,o){if(this.disallowBlockEffectsFor[o]&&i instanceof dn){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let a=t-e;if(i instanceof dn)if(i.block)i.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new sn(i.widget||as.block,a,i));else{let l=Ui.create(i.widget||as.inline,a,a?0:i.startSide),c=this.atCursorPos&&!l.isEditable&&s<=n.length&&(e0),u=!l.isEditable&&(en.length||i.startSide<=0),h=this.getLine();this.pendingBuffer==2&&!c&&!l.isEditable&&(this.pendingBuffer=0),this.flushBuffer(n),c&&(h.append(Dl(new oo(1),n),s),s=n.length+Math.max(0,s-n.length)),h.append(Dl(l,n),s),this.atCursorPos=u,this.pendingBuffer=u?en.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=n.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=s)}static build(e,t,i,n,s){let o=new Qa(e,t,i,s);return o.openEnd=se.spans(n,t,i,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}}function Dl(r,e){for(let t of e)r=new Si(t,[r],r.length);return r}class as extends si{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}as.inline=new as("span");as.block=new as("div");var Ae=function(r){return r[r.LTR=0]="LTR",r[r.RTL=1]="RTL",r}(Ae||(Ae={}));const ls=Ae.LTR,Hm=Ae.RTL;function Ux(r){let e=[];for(let t=0;t=t){if(a.level==i)return o;(s<0||(n!=0?n<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}}function Gx(r,e){if(r.length!=e.length)return!1;for(let t=0;t=0;m-=3)if(Pr[m+1]==-f){let g=Pr[m+2],O=g&2?n:g&4?g&1?s:n:0;O&&(ge[h]=ge[Pr[m]]=O),a=m;break}}else{if(Pr.length==189)break;Pr[a++]=h,Pr[a++]=d,Pr[a++]=l}else if((p=ge[h])==2||p==1){let m=p==n;l=m?0:1;for(let g=a-3;g>=0;g-=3){let O=Pr[g+2];if(O&2)break;if(m)Pr[g+2]|=2;else{if(O&4)break;Pr[g+2]|=4}}}}}function XN(r,e,t,i){for(let n=0,s=i;n<=t.length;n++){let o=n?t[n-1].to:r,a=nl;)p==g&&(p=t[--m].from,g=m?t[m-1].to:r),ge[--p]=f;l=u}else s=c,l++}}}function wp(r,e,t,i,n,s,o){let a=i%2?2:1;if(i%2==n%2)for(let l=e,c=0;ll&&o.push(new _i(l,m.from,f));let g=m.direction==ls!=!(f%2);vp(r,g?i+1:i,n,m.inner,m.from,m.to,o),l=m.to}p=m.to}else{if(p==t||(u?ge[p]!=a:ge[p]==a))break;p++}d?wp(r,l,p,i+1,n,d,o):le;){let u=!0,h=!1;if(!c||l>s[c-1].to){let m=ge[l-1];m!=a&&(u=!1,h=m==16)}let d=!u&&a==1?[]:null,f=u?i:i+1,p=l;e:for(;;)if(c&&p==s[c-1].to){if(h)break e;let m=s[--c];if(!u)for(let g=m.from,O=c;;){if(g==e)break e;if(O&&s[O-1].to==g)g=s[--O].from;else{if(ge[g-1]==a)break e;break}}if(d)d.push(m);else{m.toge.length;)ge[ge.length]=256;let i=[],n=e==ls?0:1;return vp(r,n,n,t,0,r.length,i),i}function Hx(r){return[new _i(0,r,0)]}let Kx="";function VN(r,e,t,i,n){var s;let o=i.head-r.from,a=_i.find(e,o,(s=i.bidiLevel)!==null&&s!==void 0?s:-1,i.assoc),l=e[a],c=l.side(n,t);if(o==c){let d=a+=n?1:-1;if(d<0||d>=e.length)return null;l=e[a=d],o=l.side(!n,t),c=l.side(n,t)}let u=ct(r.text,o,l.forward(n,t));(ul.to)&&(u=c),Kx=r.text.slice(Math.min(o,u),Math.max(o,u));let h=a==(n?e.length-1:0)?null:e[a+(n?1:-1)];return h&&u==c&&h.level+(n?0:1)r.some(e=>e)}),oS=Y.define({combine:r=>r.some(e=>e)}),aS=Y.define();class js{constructor(e,t="nearest",i="nearest",n=5,s=5,o=!1){this.range=e,this.y=t,this.x=i,this.yMargin=n,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new js(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new js(D.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Tl=ee.define({map:(r,e)=>r.map(e)});function Ot(r,e,t){let i=r.facet(rS);i.length?i[0](e):window.onerror?window.onerror(String(e),t,void 0,void 0,e):t?console.error(t+":",e):console.error(e)}const Hu=Y.define({combine:r=>r.length?r[0]:!0});let WN=0;const oa=Y.define();class Ne{constructor(e,t,i,n,s){this.id=e,this.create=t,this.domEventHandlers=i,this.domEventObservers=n,this.extension=s(this)}static define(e,t){const{eventHandlers:i,eventObservers:n,provide:s,decorations:o}=t||{};return new Ne(WN++,e,i,n,a=>{let l=[oa.of(a)];return o&&l.push(Ya.of(c=>{let u=c.plugin(a);return u?o(u):U.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return Ne.define(i=>new e(i),t)}}class fd{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(Ot(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){Ot(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){Ot(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const lS=Y.define(),Km=Y.define(),Ya=Y.define(),cS=Y.define(),Jm=Y.define(),uS=Y.define();function N0(r,e){let t=r.state.facet(uS);if(!t.length)return t;let i=t.map(s=>s instanceof Function?s(r):s),n=[];return se.spans(i,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,u=o-e.from,h=n;for(let d=a.length-1;d>=0;d--,l--){let f=a[d].spec.bidiIsolate,p;if(f==null&&(f=zN(e.text,c,u)),l>0&&h.length&&(p=h[h.length-1]).to==c&&p.direction==f)p.to=u,h=p.inner;else{let m={from:c,to:u,direction:f,inner:[]};h.push(m),h=m.inner}}}}),n}const hS=Y.define();function dS(r){let e=0,t=0,i=0,n=0;for(let s of r.state.facet(hS)){let o=s(r);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(i=Math.max(i,o.top)),o.bottom!=null&&(n=Math.max(n,o.bottom)))}return{left:e,right:t,top:i,bottom:n}}const aa=Y.define();class nr{constructor(e,t,i,n){this.fromA=e,this.toA=t,this.fromB=i,this.toB=n}join(e){return new nr(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let n=e[t-1];if(!(n.fromA>i.toA)){if(n.toAu)break;s+=2}if(!l)return i;new nr(l.fromA,l.toA,l.fromB,l.toB).addToSet(i),o=l.toA,a=l.toB}}}class au{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=ze.empty(this.startState.doc.length);for(let s of i)this.changes=this.changes.compose(s.changes);let n=[];this.changes.iterChangedRanges((s,o,a,l)=>n.push(new nr(s,o,a,l))),this.changedRanges=n}static create(e,t,i){return new au(e,t,i)}get viewportChanged(){return(this.flags&4)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&10)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}class F0 extends $e{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.compositionBarrier=U.none,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new Ve],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new nr(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:c,toA:u})=>uthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let n=-1;this.view.inputState.composing>=0&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?n=this.domChanged.newSel.head:!eF(e.changes,this.hasComposition)&&!e.selectionSet&&(n=e.state.selection.main.head));let s=n>-1?_N(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:c,to:u}=this.hasComposition;i=new nr(c,u,e.changes.mapPos(c,-1),e.changes.mapPos(u,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(V.ie||V.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.updateDeco(),l=KN(o,a,e.changes);return i=nr.extendWithRanges(i,l),!(this.flags&7)&&i.length==0?!1:(this.updateInner(i,e.startState.doc.length,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,i){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,i);let{observer:n}=this.view;n.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=V.chrome||V.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,o),this.flags&=-8,o&&(o.written||n.selectionRange.focusNode!=o.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(o=>o.flags&=-9);let s=[];if(this.view.viewport.from||this.view.viewport.to=0?n[o]:null;if(!a)break;let{fromA:l,toA:c,fromB:u,toB:h}=a,d,f,p,m;if(i&&i.range.fromBu){let C=Qa.build(this.view.state.doc,u,i.range.fromB,this.decorations,this.dynamicDecorationMap),Q=Qa.build(this.view.state.doc,i.range.toB,h,this.decorations,this.dynamicDecorationMap);f=C.breakAtStart,p=C.openStart,m=Q.openEnd;let b=this.compositionView(i);Q.breakAtStart?b.breakAfter=1:Q.content.length&&b.merge(b.length,b.length,Q.content[0],!1,Q.openStart,0)&&(b.breakAfter=Q.content[0].breakAfter,Q.content.shift()),C.content.length&&b.merge(0,0,C.content[C.content.length-1],!0,0,C.openEnd)&&C.content.pop(),d=C.content.concat(b).concat(Q.content)}else({content:d,breakAtStart:f,openStart:p,openEnd:m}=Qa.build(this.view.state.doc,u,h,this.decorations,this.dynamicDecorationMap));let{i:g,off:O}=s.findPos(c,1),{i:w,off:v}=s.findPos(l,-1);qx(this,w,v,g,O,d,f,p,m)}i&&this.fixCompositionDOM(i)}compositionView(e){let t=new xi(e.text.nodeValue);t.flags|=8;for(let{deco:n}of e.marks)t=new Si(n,[t],t.length);let i=new Ve;return i.append(t,0),i}fixCompositionDOM(e){let t=(s,o)=>{o.flags|=8|(o.children.some(l=>l.flags&7)?1:0),this.markedForComposition.add(o);let a=$e.get(s);a&&a!=o&&(a.dom=null),o.setDOM(s)},i=this.childPos(e.range.fromB,1),n=this.children[i.i];t(e.line,n);for(let s=e.marks.length-1;s>=-1;s--)i=n.childPos(i.off,1),n=n.children[i.i],t(s>=0?e.marks[s].node:e.text,n)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let i=this.view.root.activeElement,n=i==this.dom,s=!n&&Ec(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(n||t||s))return;let o=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,l=this.moveToLine(this.domAtPos(a.anchor)),c=a.empty?l:this.moveToLine(this.domAtPos(a.head));if(V.gecko&&a.empty&&!this.hasComposition&&UN(l)){let h=document.createTextNode("");this.view.observer.ignore(()=>l.node.insertBefore(h,l.node.childNodes[l.offset]||null)),l=c=new at(h,0),o=!0}let u=this.view.observer.selectionRange;(o||!u.focusNode||(!Ca(l.node,l.offset,u.anchorNode,u.anchorOffset)||!Ca(c.node,c.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,a))&&(this.view.observer.ignore(()=>{V.android&&V.chrome&&this.dom.contains(u.focusNode)&&JN(u.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let h=ou(this.view.root);if(h)if(a.empty){if(V.gecko){let d=GN(l.node,l.offset);if(d&&d!=3){let f=pS(l.node,l.offset,d==1?1:-1);f&&(l=new at(f.node,f.offset))}}h.collapse(l.node,l.offset),a.bidiLevel!=null&&h.caretBidiLevel!==void 0&&(h.caretBidiLevel=a.bidiLevel)}else if(h.extend){h.collapse(l.node,l.offset);try{h.extend(c.node,c.offset)}catch{}}else{let d=document.createRange();a.anchor>a.head&&([l,c]=[c,l]),d.setEnd(c.node,c.offset),d.setStart(l.node,l.offset),h.removeAllRanges(),h.addRange(d)}s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(l,c)),this.impreciseAnchor=l.precise?null:new at(u.anchorNode,u.anchorOffset),this.impreciseHead=c.precise?null:new at(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&!this.compositionBarrier.size&&Ca(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=ou(e.root),{anchorNode:n,anchorOffset:s}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let o=Ve.find(this,t.head);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let u=this.domAtPos(t.head+t.assoc);i.collapse(u.node,u.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&i.collapse(n,s)}moveToLine(e){let t=this.dom,i;if(e.node!=t)return e;for(let n=e.offset;!i&&n=0;n--){let s=$e.get(t.childNodes[n]);s instanceof Ve&&(i=s.domAtPos(s.length))}return i?new at(i.node,i.offset,!0):e}nearest(e){for(let t=e;t;){let i=$e.get(t);if(i&&i.rootView==this)return i;t=t.parentNode}return null}posFromDOM(e,t){let i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}domAtPos(e){let{i:t,off:i}=this.childCursor().findPos(e,-1);for(;t=0;o--){let a=this.children[o],l=s-a.breakAfter,c=l-a.length;if(le||a.covers(1))&&(!i||a instanceof Ve&&!(i instanceof Ve&&t>=0))&&(i=a,n=c),s=c}return i?i.coordsAt(e-n,t):null}coordsForChar(e){let{i:t,off:i}=this.childPos(e,1),n=this.children[t];if(!(n instanceof Ve))return null;for(;n.children.length;){let{i:a,off:l}=n.childPos(i,1);for(;;a++){if(a==n.children.length)return null;if((n=n.children[a]).length)break}i=l}if(!(n instanceof xi))return null;let s=ct(n.text,i);if(s==i)return null;let o=ss(n.dom,i,s).getClientRects();for(let a=0;aMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Ae.LTR;for(let c=0,u=0;un)break;if(c>=i){let f=h.dom.getBoundingClientRect();if(t.push(f.height),o){let p=h.dom.lastChild,m=p?so(p):[];if(m.length){let g=m[m.length-1],O=l?g.right-f.left:f.right-g.left;O>a&&(a=O,this.minWidth=s,this.minWidthFrom=c,this.minWidthTo=d)}}}c=d+h.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?Ae.RTL:Ae.LTR}measureTextSize(){for(let s of this.children)if(s instanceof Ve){let o=s.measureTextSize();if(o)return o}let e=document.createElement("div"),t,i,n;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let s=so(e.firstChild)[0];t=e.getBoundingClientRect().height,i=s?s.width/27:7,n=s?s.height:t,e.remove()}),{lineHeight:t,charWidth:i,textHeight:n}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Bx(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,n=0;;n++){let s=n==t.viewports.length?null:t.viewports[n],o=s?s.from-1:this.length;if(o>i){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(U.replace({widget:new I0(a),block:!0,inclusive:!0,isBlockGap:!0}).range(i,o))}if(!s)break;i=s.to+1}return U.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Ya).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),i=!1,n=this.view.state.facet(cS).map((s,o)=>{let a=typeof s=="function";return a&&(i=!0),a?s(this.view):s});for(n.length&&(this.dynamicDecorationMap[e++]=i,t.push(se.join(n))),this.decorations=[this.compositionBarrier,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e{a.point?i=!1:a.endSide<0&&st.anchor?-1:1),n;if(!i)return;!t.empty&&(n=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,n.left),top:Math.min(i.top,n.top),right:Math.max(i.right,n.right),bottom:Math.max(i.bottom,n.bottom)});let s=dS(this.view),o={left:i.left-s.left,top:i.top-s.top,right:i.right+s.right,bottom:i.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;$N(this.view.scrollDOM,o,t.head0)i=i.childNodes[n-1],n=ki(i);else break}if(t>=0)for(let i=r,n=e;;){if(i.nodeType==3)return{node:i,offset:n};if(i.nodeType==1&&n=0)i=i.childNodes[n],n=0;else break}return null}function GN(r,e){return r.nodeType!=1?0:(e&&r.childNodes[e-1].contentEditable=="false"?1:0)|(e{ie.from&&(t=!0)}),t}function tF(r,e,t=1){let i=r.charCategorizer(e),n=r.doc.lineAt(e),s=e-n.from;if(n.length==0)return D.cursor(e);s==0?t=1:s==n.length&&(t=-1);let o=s,a=s;t<0?o=ct(n.text,s,!1):a=ct(n.text,s);let l=i(n.text.slice(o,a));for(;o>0;){let c=ct(n.text,o,!1);if(i(n.text.slice(c,o))!=l)break;o=c}for(;ar?e.left-r:Math.max(0,r-e.right)}function iF(r,e){return e.top>r?e.top-r:Math.max(0,r-e.bottom)}function pd(r,e){return r.tope.top+1}function B0(r,e){return er.bottom?{top:r.top,left:r.left,right:r.right,bottom:e}:r}function xp(r,e,t){let i,n,s,o,a=!1,l,c,u,h;for(let p=r.firstChild;p;p=p.nextSibling){let m=so(p);for(let g=0;gv||o==v&&s>w){i=p,n=O,s=w,o=v;let C=v?t0?g0)}w==0?t>O.bottom&&(!u||u.bottomO.top)&&(c=p,h=O):u&&pd(u,O)?u=q0(u,O.bottom):h&&pd(h,O)&&(h=B0(h,O.top))}}if(u&&u.bottom>=t?(i=l,n=u):h&&h.top<=t&&(i=c,n=h),!i)return{node:r,offset:0};let d=Math.max(n.left,Math.min(n.right,e));if(i.nodeType==3)return L0(i,d,t);if(a&&i.contentEditable!="false")return xp(i,d,t);let f=Array.prototype.indexOf.call(r.childNodes,i)+(e>=(n.left+n.right)/2?1:0);return{node:r,offset:f}}function L0(r,e,t){let i=r.nodeValue.length,n=-1,s=1e9,o=0;for(let a=0;at?u.top-t:t-u.bottom)-1;if(u.left-1<=e&&u.right+1>=e&&h=(u.left+u.right)/2,f=d;if((V.chrome||V.gecko)&&ss(r,a).getBoundingClientRect().left==u.right&&(f=!d),h<=0)return{node:r,offset:a+(f?1:0)};n=a+(f?1:0),s=h}}}return{node:r,offset:n>-1?n:o>0?r.nodeValue.length:0}}function mS(r,e,t,i=-1){var n,s;let o=r.contentDOM.getBoundingClientRect(),a=o.top+r.viewState.paddingTop,l,{docHeight:c}=r.viewState,{x:u,y:h}=e,d=h-a;if(d<0)return 0;if(d>c)return r.state.doc.length;for(let C=r.viewState.heightOracle.textHeight/2,Q=!1;l=r.elementAtHeight(d),l.type!=yt.Text;)for(;d=i>0?l.bottom+C:l.top-C,!(d>=0&&d<=c);){if(Q)return t?null:0;Q=!0,i=-i}h=a+d;let f=l.from;if(fr.viewport.to)return r.viewport.to==r.state.doc.length?r.state.doc.length:t?null:X0(r,o,l,u,h);let p=r.dom.ownerDocument,m=r.root.elementFromPoint?r.root:p,g=m.elementFromPoint(u,h);g&&!r.contentDOM.contains(g)&&(g=null),g||(u=Math.max(o.left+1,Math.min(o.right-1,u)),g=m.elementFromPoint(u,h),g&&!r.contentDOM.contains(g)&&(g=null));let O,w=-1;if(g&&((n=r.docView.nearest(g))===null||n===void 0?void 0:n.isEditable)!=!1){if(p.caretPositionFromPoint){let C=p.caretPositionFromPoint(u,h);C&&({offsetNode:O,offset:w}=C)}else if(p.caretRangeFromPoint){let C=p.caretRangeFromPoint(u,h);C&&({startContainer:O,startOffset:w}=C,(!r.contentDOM.contains(O)||V.safari&&nF(O,w,u)||V.chrome&&sF(O,w,u))&&(O=void 0))}}if(!O||!r.docView.dom.contains(O)){let C=Ve.find(r.docView,f);if(!C)return d>l.top+l.height/2?l.to:l.from;({node:O,offset:w}=xp(C.dom,u,h))}let v=r.docView.nearest(O);if(!v)return null;if(v.isWidget&&((s=v.dom)===null||s===void 0?void 0:s.nodeType)==1){let C=v.dom.getBoundingClientRect();return e.yr.defaultLineHeight*1.5){let a=r.viewState.heightOracle.textHeight,l=Math.floor((n-t.top-(r.defaultLineHeight-a)*.5)/a);s+=l*r.viewState.heightOracle.lineLength}let o=r.state.sliceDoc(t.from,t.to);return t.from+cp(o,s,r.state.tabSize)}function nF(r,e,t){let i;if(r.nodeType!=3||e!=(i=r.nodeValue.length))return!1;for(let n=r.nextSibling;n;n=n.nextSibling)if(n.nodeType!=1||n.nodeName!="BR")return!1;return ss(r,i-1,i).getBoundingClientRect().left>t}function sF(r,e,t){if(e!=0)return!1;for(let n=r;;){let s=n.parentNode;if(!s||s.nodeType!=1||s.firstChild!=n)return!1;if(s.classList.contains("cm-line"))break;n=s}let i=r.nodeType==1?r.getBoundingClientRect():ss(r,0,Math.max(r.nodeValue.length,1)).getBoundingClientRect();return t-i.left>5}function Sp(r,e){let t=r.lineBlockAt(e);if(Array.isArray(t.type)){for(let i of t.type)if(i.to>e||i.to==e&&(i.to==t.to||i.type==yt.Text))return i}return t}function oF(r,e,t,i){let n=Sp(r,e.head),s=!i||n.type!=yt.Text||!(r.lineWrapping||n.widgetLineBreaks)?null:r.coordsAtPos(e.assoc<0&&e.head>n.from?e.head-1:e.head);if(s){let o=r.dom.getBoundingClientRect(),a=r.textDirectionAt(n.from),l=r.posAtCoords({x:t==(a==Ae.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return D.cursor(l,t?-1:1)}return D.cursor(t?n.to:n.from,t?-1:1)}function Y0(r,e,t,i){let n=r.state.doc.lineAt(e.head),s=r.bidiSpans(n),o=r.textDirectionAt(n.from);for(let a=e,l=null;;){let c=VN(n,s,o,a,t),u=Kx;if(!c){if(n.number==(t?r.state.doc.lines:1))return a;u=` +`,n=r.state.doc.line(n.number+(t?1:-1)),s=r.bidiSpans(n),c=r.visualLineSide(n,!t)}if(l){if(!l(u))return a}else{if(!i)return c;l=i(u)}a=c}}function aF(r,e,t){let i=r.state.charCategorizer(e),n=i(t);return s=>{let o=i(s);return n==Te.Space&&(n=o),n==o}}function lF(r,e,t,i){let n=e.head,s=t?1:-1;if(n==(t?r.state.doc.length:0))return D.cursor(n,e.assoc);let o=e.goalColumn,a,l=r.contentDOM.getBoundingClientRect(),c=r.coordsAtPos(n,e.assoc||-1),u=r.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let f=r.viewState.lineBlockAt(n);o==null&&(o=Math.min(l.right-l.left,r.defaultCharacterWidth*(n-f.from))),a=(s<0?f.top:f.bottom)+u}let h=l.left+o,d=i??r.viewState.heightOracle.textHeight>>1;for(let f=0;;f+=10){let p=a+(d+f)*s,m=mS(r,{x:h,y:p},!1,s);if(pl.bottom||(s<0?mn)){let g=r.docView.coordsForChar(m),O=!g||p{if(e>s&&en(r)),t.from,e.head>t.from?-1:1);return i==t.from?t:D.cursor(i,inull),V.gecko&&CF(e.contentDOM.ownerDocument)}handleEvent(e){!OF(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||this.runHandlers(e.type,e)}runHandlers(e,t){let i=this.handlers[e];if(i){for(let n of i.observers)n(this.view,t);for(let n of i.handlers){if(t.defaultPrevented)break;if(n(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=uF(e),i=this.handlers,n=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=i[s];a&&o!=!a.handlers.length&&(n.removeEventListener(s,this.handleEvent),a=null),a||n.addEventListener(s,this.handleEvent,{passive:o})}for(let s in i)s!="scroll"&&!t[s]&&n.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&Date.now()i.keyCode==e.keyCode))&&!e.ctrlKey||hF.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:V.safari&&!V.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function V0(r,e){return(t,i)=>{try{return e.call(r,i,t)}catch(n){Ot(t.state,n)}}}function uF(r){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of r){let n=i.spec;if(n&&n.domEventHandlers)for(let s in n.domEventHandlers){let o=n.domEventHandlers[s];o&&t(s).handlers.push(V0(i.value,o))}if(n&&n.domEventObservers)for(let s in n.domEventObservers){let o=n.domEventObservers[s];o&&t(s).observers.push(V0(i.value,o))}}for(let i in Cr)t(i).handlers.push(Cr[i]);for(let i in Qr)t(i).observers.push(Qr[i]);return e}const gS=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],hF="dthko",OS=[16,17,18,20,91,92,224,225],Pl=6;function El(r){return Math.max(0,r)*.7+8}function dF(r,e){return Math.max(Math.abs(r.clientX-e.clientX),Math.abs(r.clientY-e.clientY))}class fF{constructor(e,t,i,n){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=AN(e.contentDOM),this.atoms=e.state.facet(Jm).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(re.allowMultipleSelections)&&pF(e,t),this.dragging=gF(e,t)&&vS(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){var t;if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&dF(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let i=0,n=0,s=((t=this.scrollParent)===null||t===void 0?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},o=dS(this.view);e.clientX-o.left<=s.left+Pl?i=-El(s.left-e.clientX):e.clientX+o.right>=s.right-Pl&&(i=El(e.clientX-s.right)),e.clientY-o.top<=s.top+Pl?n=-El(s.top-e.clientY):e.clientY+o.bottom>=s.bottom-Pl&&(n=El(e.clientY-s.bottom)),this.setScrollSpeed(i,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let i=0;ithis.select(this.lastEvent),20)}}function pF(r,e){let t=r.state.facet(Jx);return t.length?t[0](e):V.mac?e.metaKey:e.ctrlKey}function mF(r,e){let t=r.state.facet(eS);return t.length?t[0](e):V.mac?!e.altKey:!e.ctrlKey}function gF(r,e){let{main:t}=r.state.selection;if(t.empty)return!1;let i=ou(r.root);if(!i||i.rangeCount==0)return!0;let n=i.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function OF(r,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=r.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=$e.get(t))&&i.ignoreEvent(e))return!1;return!0}const Cr=Object.create(null),Qr=Object.create(null),yS=V.ie&&V.ie_version<15||V.ios&&V.webkit_version<604;function yF(r){let e=r.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{r.focus(),t.remove(),bS(r,t.value)},50)}function bS(r,e){let{state:t}=r,i,n=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Cp!=null&&t.selection.ranges.every(a=>a.empty)&&Cp==s.toString()){let a=-1;i=t.changeByRange(l=>{let c=t.doc.lineAt(l.from);if(c.from==a)return{range:l};a=c.from;let u=t.toText((o?s.line(n++).text:e)+t.lineBreak);return{changes:{from:c.from,insert:u},range:D.cursor(l.from+u.length)}})}else o?i=t.changeByRange(a=>{let l=s.line(n++);return{changes:{from:a.from,to:a.to,insert:l.text},range:D.cursor(a.from+l.length)}}):i=t.replaceSelection(s);r.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}Qr.scroll=r=>{r.inputState.lastScrollTop=r.scrollDOM.scrollTop,r.inputState.lastScrollLeft=r.scrollDOM.scrollLeft};Cr.keydown=(r,e)=>(r.inputState.setSelectionOrigin("select"),e.keyCode==27&&(r.inputState.lastEscPress=Date.now()),!1);Qr.touchstart=(r,e)=>{r.inputState.lastTouchTime=Date.now(),r.inputState.setSelectionOrigin("select.pointer")};Qr.touchmove=r=>{r.inputState.setSelectionOrigin("select.pointer")};Cr.mousedown=(r,e)=>{if(r.observer.flush(),r.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of r.state.facet(tS))if(t=i(r,e),t)break;if(!t&&e.button==0&&(t=vF(r,e)),t){let i=!r.hasFocus;r.inputState.startMouseSelection(new fF(r,e,t,i)),i&&r.observer.ignore(()=>Nx(r.contentDOM));let n=r.inputState.mouseSelection;if(n)return n.start(e),n.dragging===!1}return!1};function z0(r,e,t,i){if(i==1)return D.cursor(e,t);if(i==2)return tF(r.state,e,t);{let n=Ve.find(r.docView,e),s=r.state.doc.lineAt(n?n.posAtEnd:e),o=n?n.posAtStart:s.from,a=n?n.posAtEnd:s.to;return ar>=e.top&&r<=e.bottom,W0=(r,e,t)=>wS(e,t)&&r>=t.left&&r<=t.right;function bF(r,e,t,i){let n=Ve.find(r.docView,e);if(!n)return 1;let s=e-n.posAtStart;if(s==0)return 1;if(s==n.length)return-1;let o=n.coordsAt(s,-1);if(o&&W0(t,i,o))return-1;let a=n.coordsAt(s,1);return a&&W0(t,i,a)?1:o&&wS(i,o)?-1:1}function j0(r,e){let t=r.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:bF(r,t,e.clientX,e.clientY)}}const wF=V.ie&&V.ie_version<=11;let U0=null,_0=0,G0=0;function vS(r){if(!wF)return r.detail;let e=U0,t=G0;return U0=r,G0=Date.now(),_0=!e||t>Date.now()-400&&Math.abs(e.clientX-r.clientX)<2&&Math.abs(e.clientY-r.clientY)<2?(_0+1)%3:1}function vF(r,e){let t=j0(r,e),i=vS(e),n=r.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),n=n.map(s.changes))},get(s,o,a){let l=j0(r,s),c,u=z0(r,l.pos,l.bias,i);if(t.pos!=l.pos&&!o){let h=z0(r,t.pos,t.bias,i),d=Math.min(h.from,u.from),f=Math.max(h.to,u.to);u=d1&&(c=kF(n,l.pos))?c:a?n.addRange(u):D.create([u])}}}function kF(r,e){for(let t=0;t=e)return D.create(r.ranges.slice(0,t).concat(r.ranges.slice(t+1)),r.mainIndex==t?0:r.mainIndex-(r.mainIndex>t?1:0))}return null}Cr.dragstart=(r,e)=>{let{selection:{main:t}}=r.state;if(e.target.draggable){let n=r.docView.nearest(e.target);if(n&&n.isWidget){let s=n.posAtStart,o=s+n.length;(s>=t.to||o<=t.from)&&(t=D.range(s,o))}}let{inputState:i}=r;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",r.state.sliceDoc(t.from,t.to)),e.dataTransfer.effectAllowed="copyMove"),!1};Cr.dragend=r=>(r.inputState.draggedContent=null,!1);function H0(r,e,t,i){if(!t)return;let n=r.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=r.inputState,o=i&&s&&mF(r,e)?{from:s.from,to:s.to}:null,a={from:n,insert:t},l=r.state.changes(o?[o,a]:a);r.focus(),r.dispatch({changes:l,selection:{anchor:l.mapPos(n,-1),head:l.mapPos(n,1)},userEvent:o?"move.drop":"input.drop"}),r.inputState.draggedContent=null}Cr.drop=(r,e)=>{if(!e.dataTransfer)return!1;if(r.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),n=0,s=()=>{++n==t.length&&H0(r,e,i.filter(o=>o!=null).join(r.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(i[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return H0(r,e,i,!0),!0}return!1};Cr.paste=(r,e)=>{if(r.state.readOnly)return!0;r.observer.flush();let t=yS?null:e.clipboardData;return t?(bS(r,t.getData("text/plain")||t.getData("text/uri-list")),!0):(yF(r),!1)};function xF(r,e){let t=r.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),r.focus()},50)}function SF(r){let e=[],t=[],i=!1;for(let n of r.selection.ranges)n.empty||(e.push(r.sliceDoc(n.from,n.to)),t.push(n));if(!e.length){let n=-1;for(let{from:s}of r.selection.ranges){let o=r.doc.lineAt(s);o.number>n&&(e.push(o.text),t.push({from:o.from,to:Math.min(r.doc.length,o.to+1)})),n=o.number}i=!0}return{text:e.join(r.lineBreak),ranges:t,linewise:i}}let Cp=null;Cr.copy=Cr.cut=(r,e)=>{let{text:t,ranges:i,linewise:n}=SF(r.state);if(!t&&!n)return!1;Cp=n?t:null,e.type=="cut"&&!r.state.readOnly&&r.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let s=yS?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(xF(r,t),!1)};const kS=Qi.define();function xS(r,e){let t=[];for(let i of r.facet(nS)){let n=i(r,e);n&&t.push(n)}return t?r.update({effects:t,annotations:kS.of(!0)}):null}function SS(r){setTimeout(()=>{let e=r.hasFocus;if(e!=r.inputState.notifiedFocused){let t=xS(r.state,e);t?r.dispatch(t):r.update([])}},10)}Qr.focus=r=>{r.inputState.lastFocusTime=Date.now(),!r.scrollDOM.scrollTop&&(r.inputState.lastScrollTop||r.inputState.lastScrollLeft)&&(r.scrollDOM.scrollTop=r.inputState.lastScrollTop,r.scrollDOM.scrollLeft=r.inputState.lastScrollLeft),SS(r)};Qr.blur=r=>{r.observer.clearSelectionRange(),SS(r)};Qr.compositionstart=Qr.compositionupdate=r=>{r.inputState.compositionFirstChange==null&&(r.inputState.compositionFirstChange=!0),r.inputState.composing<0&&(r.inputState.composing=0,r.docView.maybeCreateCompositionBarrier()&&(r.update([]),r.docView.clearCompositionBarrier()))};Qr.compositionend=r=>{r.inputState.composing=-1,r.inputState.compositionEndedAt=Date.now(),r.inputState.compositionPendingKey=!0,r.inputState.compositionPendingChange=r.observer.pendingRecords().length>0,r.inputState.compositionFirstChange=null,V.chrome&&V.android?r.observer.flushSoon():r.inputState.compositionPendingChange?Promise.resolve().then(()=>r.observer.flush()):setTimeout(()=>{r.inputState.composing<0&&r.docView.hasComposition&&r.update([])},50)};Qr.contextmenu=r=>{r.inputState.lastContextMenu=Date.now()};Cr.beforeinput=(r,e)=>{var t;let i;if(V.chrome&&V.android&&(i=gS.find(n=>n.inputType==e.inputType))&&(r.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let n=((t=window.visualViewport)===null||t===void 0?void 0:t.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>n+10&&r.hasFocus&&(r.contentDOM.blur(),r.focus())},100)}return V.ios&&e.inputType=="deleteContentForward"&&r.observer.flushSoon(),!1};const K0=new Set;function CF(r){K0.has(r)||(K0.add(r),r.addEventListener("copy",()=>{}),r.addEventListener("cut",()=>{}))}const J0=["pre-wrap","normal","pre-line","break-spaces"];class QF{constructor(e){this.lineWrapping=e,this.doc=ue.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return J0.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i-1,l=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=i,this.textHeight=n,this.lineLength=s,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>Rc&&(e.heightChanged=!0),this.height=t)}replace(e,t,i){return bt.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,n){let s=this,o=i.doc;for(let a=n.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:u,toB:h}=n[a],d=s.lineAt(l,Qe.ByPosNoHeight,i.setDoc(t),0,0),f=d.to>=c?d:s.lineAt(c,Qe.ByPosNoHeight,i,0,0);for(h+=f.to-c,c=f.to;a>0&&d.from<=n[a-1].toA;)l=n[a-1].fromA,u=n[a-1].fromB,a--,ls*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),i+=1+a.break,n-=a.size}else if(s>n*2){let a=e[i];a.break?e.splice(i,1,a.left,null,a.right):e.splice(i,1,a.left,a.right),i+=2+a.break,s-=a.size}else break;else if(n=s&&o(this.blockAt(0,i,n,s))}updateHeight(e,t=0,i=!1,n){return n&&n.from<=t&&n.more&&this.setHeight(e,n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class It extends CS{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,i,n){return new Lr(n,this.length,i,this.height,this.breaks)}replace(e,t,i){let n=i[0];return i.length==1&&(n instanceof It||n instanceof Je&&n.flags&4)&&Math.abs(this.length-n.length)<10?(n instanceof Je?n=new It(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):bt.of(i)}updateHeight(e,t=0,i=!1,n){return n&&n.from<=t&&n.more?this.setHeight(e,n.heights[n.index++]):(i||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Je extends bt{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,n=e.doc.lineAt(t+this.length).number,s=n-i+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:i,lastLine:n,perLine:o,perChar:a}}blockAt(e,t,i,n){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,n);if(t.lineWrapping){let c=n+Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length),u=t.doc.lineAt(c),h=a+u.length*l,d=Math.max(i,e-h/2);return new Lr(u.from,u.length,d,h,0)}else{let c=Math.max(0,Math.min(o-s,Math.floor((e-i)/a))),{from:u,length:h}=t.doc.line(s+c);return new Lr(u,h,i+a*c,a,0)}}lineAt(e,t,i,n,s){if(t==Qe.ByHeight)return this.blockAt(e,i,n,s);if(t==Qe.ByPosNoHeight){let{from:f,to:p}=i.doc.lineAt(e);return new Lr(f,p-f,0,0,0)}let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(i,s),c=i.doc.lineAt(e),u=a+c.length*l,h=c.number-o,d=n+a*h+l*(c.from-s-h);return new Lr(c.from,c.length,Math.max(n,Math.min(d,n+this.height-u)),u,0)}forEachLine(e,t,i,n,s,o){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:a,perLine:l,perChar:c}=this.heightMetrics(i,s);for(let u=e,h=n;u<=t;){let d=i.doc.lineAt(u);if(u==e){let p=d.number-a;h+=l*p+c*(e-s-p)}let f=l+c*d.length;o(new Lr(d.from,d.length,h,f,0)),h+=f,u=d.to+1}}replace(e,t,i){let n=this.length-t;if(n>0){let s=i[i.length-1];s instanceof Je?i[i.length-1]=new Je(s.length+n):i.push(null,new Je(n-1))}if(e>0){let s=i[0];s instanceof Je?i[0]=new Je(e+s.length):i.unshift(new Je(e-1),null)}return bt.of(i)}decomposeLeft(e,t){t.push(new Je(e-1),null)}decomposeRight(e,t){t.push(null,new Je(this.length-e-1))}updateHeight(e,t=0,i=!1,n){let s=t+this.length;if(n&&n.from<=t+this.length&&n.more){let o=[],a=Math.max(t,n.from),l=-1;for(n.from>t&&o.push(new Je(n.from-t-1).updateHeight(e,t));a<=s&&n.more;){let u=e.doc.lineAt(a).length;o.length&&o.push(null);let h=n.heights[n.index++];l==-1?l=h:Math.abs(h-l)>=Rc&&(l=-2);let d=new It(u,h);d.outdated=!1,o.push(d),a+=u+1}a<=s&&o.push(null,new Je(s-a).updateHeight(e,a));let c=bt.of(o);return(l<0||Math.abs(c.height-this.height)>=Rc||Math.abs(l-this.heightMetrics(e,t).perLine)>=Rc)&&(e.heightChanged=!0),c}else(i||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class AF extends bt{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,n){let s=i+this.left.height;return ea))return c;let u=t==Qe.ByPosNoHeight?Qe.ByPosNoHeight:Qe.ByPos;return l?c.join(this.right.lineAt(a,u,i,o,a)):this.left.lineAt(a,u,i,n,s).join(c)}forEachLine(e,t,i,n,s,o){let a=n+this.left.height,l=s+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,i,a,l,o);else{let c=this.lineAt(l,Qe.ByPos,i,n,s);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,i,a,l,o)}}replace(e,t,i){let n=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-n,t-n,i));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of i)s.push(a);if(e>0&&eb(s,o-1),t=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,n=i+this.break;if(e>=n)return this.right.decomposeRight(e-n,t);e2*t.size||t.size>2*e.size?bt.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,n){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return n&&n.from<=t+s.length&&n.more?l=s=s.updateHeight(e,t,i,n):s.updateHeight(e,t,i),n&&n.from<=a+o.length&&n.more?l=o=o.updateHeight(e,a,i,n):o.updateHeight(e,a,i),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function eb(r,e){let t,i;r[e]==null&&(t=r[e-1])instanceof Je&&(i=r[e+1])instanceof Je&&r.splice(e-1,3,new Je(t.length+1+i.length))}const DF=5;class eg{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof It?n.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new It(i-this.pos,-1)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e=DF)&&this.addLineDeco(n,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new It(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let i=new Je(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof It)return e;let t=new It(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let n=this.ensureLine();n.length+=i,n.collapsed+=i,n.widgetHeight=Math.max(n.widgetHeight,e),n.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof It)&&!this.isCovered?this.nodes.push(new It(0,-1)):(this.writtenTou.clientHeight||u.scrollWidth>u.clientWidth)&&h.overflow!="visible"){let d=u.getBoundingClientRect();s=Math.max(s,d.left),o=Math.min(o,d.right),a=Math.max(a,d.top),l=c==r.parentNode?d.bottom:Math.min(l,d.bottom)}c=h.position=="absolute"||h.position=="fixed"?u.offsetParent:u.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function MF(r,e){let t=r.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class gd{constructor(e,t,i){this.from=e,this.to=t,this.size=i}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;itypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new QF(t),this.stateDeco=e.facet(Ya).filter(i=>typeof i!="function"),this.heightMap=bt.empty().applyChanges(this.stateDeco,ue.empty,this.heightOracle.setDoc(e.doc),[new nr(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=U.set(this.lineGaps.map(i=>i.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let n=i?t.head:t.anchor;if(!e.some(({from:s,to:o})=>n>=s&&n<=o)){let{from:s,to:o}=this.lineBlockAt(n);e.push(new Ml(s,o))}}this.viewports=e.sort((i,n)=>i.from-n.from),this.scaler=this.heightMap.height<=7e6?rb:new FF(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(this.scaler.scale==1?e:la(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=this.state.facet(Ya).filter(u=>typeof u!="function");let n=e.changedRanges,s=nr.extendWithRanges(n,TF(i,this.stateDeco,e?e.changes:ze.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),this.heightMap.height!=o&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=!e.changes.empty||e.flags&2||l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,this.updateForViewport(),c&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(oS)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,i=window.getComputedStyle(t),n=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?Ae.RTL:Ae.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,u=0;if(a.width&&a.height){let{scaleX:C,scaleY:Q}=Zx(t,a);(C>.005&&Math.abs(this.scaleX-C)>.005||Q>.005&&Math.abs(this.scaleY-Q)>.005)&&(this.scaleX=C,this.scaleY=Q,c|=8,o=l=!0)}let h=(parseInt(i.paddingTop)||0)*this.scaleY,d=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=h||this.paddingBottom!=d)&&(this.paddingTop=h,this.paddingBottom=d,c|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(n.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=8);let f=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=f&&(this.scrollAnchorHeight=-1,this.scrollTop=f),this.scrolledToBottom=Ix(e.scrollDOM);let p=(this.printing?MF:EF)(t,this.paddingTop),m=p.top-this.pixelViewport.top,g=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let O=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(O!=this.inView&&(this.inView=O,O&&(l=!0)),!this.inView&&!this.scrollTarget)return 0;let w=a.width;if((this.contentDOMWidth!=w||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=8),l){let C=e.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(C)&&(o=!0),o||n.lineWrapping&&Math.abs(w-this.contentDOMWidth)>n.charWidth){let{lineHeight:Q,charWidth:b,textHeight:x}=e.docView.measureTextSize();o=Q>0&&n.refresh(s,Q,b,x,w/b,C),o&&(e.docView.minWidth=0,c|=8)}m>0&&g>0?u=Math.max(m,g):m<0&&g<0&&(u=Math.min(m,g)),n.heightChanged=!1;for(let Q of this.viewports){let b=Q.from==this.viewport.from?C:e.docView.measureVisibleLineHeights(Q);this.heightMap=(o?bt.empty().applyChanges(this.stateDeco,ue.empty,this.heightOracle,[new nr(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(n,0,o,new $F(Q.from,b))}n.heightChanged&&(c|=2)}let v=!this.viewportIsAppropriate(this.viewport,u)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return v&&(this.viewport=this.getViewport(u,this.scrollTarget)),this.updateForViewport(),(c&2||v)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),n=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new Ml(n.lineAt(o-i*1e3,Qe.ByHeight,s,0,0).from,n.lineAt(a+(1-i)*1e3,Qe.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let u=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=n.lineAt(c,Qe.ByPos,s,0,0),d;t.y=="center"?d=(h.top+h.bottom)/2-u/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(i,250)))&&n>o-2*1e3&&s>1,o=n<<1;if(this.defaultTextDirection!=Ae.LTR&&!i)return[];let a=[],l=(c,u,h,d)=>{if(u-cc&&gg.from>=h.from&&g.to<=h.to&&Math.abs(g.from-c)g.fromO));if(!m){if(ug.from<=u&&g.to>=u)){let g=t.moveToLineBoundary(D.cursor(u),!1,!0).head;g>c&&(u=g)}m=new gd(c,u,this.gapSize(h,c,u,d))}a.push(m)};for(let c of this.viewportLines){if(c.lengthc.from&&l(c.from,d,c,u),ft.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];se.spans(e,this.viewport.from,this.viewport.to,{span(n,s){t.push({from:n,to:s})},point(){}},20);let i=t.length!=this.visibleRanges.length||this.visibleRanges.some((n,s)=>n.from!=t[s].from||n.to!=t[s].to);return this.visibleRanges=t,i?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||la(this.heightMap.lineAt(e,Qe.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return la(this.heightMap.lineAt(this.scaler.fromDOM(e),Qe.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return la(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Ml{constructor(e,t){this.from=e,this.to=t}}function ZF(r,e,t){let i=[],n=r,s=0;return se.spans(t,r,e,{span(){},point(o,a){o>n&&(i.push({from:n,to:o}),s+=o-n),n=a}},20),n=1)return e[e.length-1].to;let i=Math.floor(r*t);for(let n=0;;n++){let{from:s,to:o}=e[n],a=o-s;if(i<=a)return s+i;i-=a}}function Zl(r,e){let t=0;for(let{from:i,to:n}of r.ranges){if(e<=n){t+=e-i;break}t+=n-i}return t/r.total}function NF(r,e){for(let t of r)if(e(t))return t}const rb={toDOM(r){return r},fromDOM(r){return r},scale:1};class FF{constructor(e,t,i){let n=0,s=0,o=0;this.viewports=i.map(({from:a,to:l})=>{let c=t.lineAt(a,Qe.ByPos,e,0,0).top,u=t.lineAt(l,Qe.ByPos,e,0,0).bottom;return n+=u-c,{from:a,to:l,top:c,bottom:u,domTop:0,domBottom:0}}),this.scale=(7e6-n)/(t.height-n);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,i=0,n=0;;t++){let s=tla(n,e)):r._content)}const Nl=Y.define({combine:r=>r.join(" ")}),Qp=Y.define({combine:r=>r.indexOf(!0)>-1}),$p=hn.newName(),QS=hn.newName(),$S=hn.newName(),AS={"&light":"."+QS,"&dark":"."+$S};function Ap(r,e,t){return new hn(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,n=>{if(n=="&")return r;if(!t||!t[n])throw new RangeError(`Unsupported selector: ${n}`);return t[n]}):r+" "+i}})}const IF=Ap("."+$p,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},AS),ca="￿";class BF{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(re.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=ca}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let n=e;;){this.findPointBefore(i,n);let s=this.text.length;this.readNode(n);let o=n.nextSibling;if(o==t)break;let a=$e.get(n),l=$e.get(o);(a&&l?a.breakAfter:(a?a.breakAfter:ib(n))||ib(o)&&(n.nodeName!="BR"||n.cmIgnore)&&this.text.length>s)&&this.lineBreak(),n=o}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,n=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,i),o=this.lineSeparator.length):(a=n.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(i,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);i=s+o}}readNode(e){if(e.cmIgnore)return;let t=$e.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let n=i.iter();!n.next().done;)n.lineBreak?this.lineBreak():this.append(n.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(qF(e,i.node,i.offset)?t:0))}}function qF(r,e,t){for(;;){if(!e||t-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,i,0))){let a=s||o?[]:VF(e),l=new BF(a,e.state);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=zF(a,this.bounds.from)}else{let a=e.observer.selectionRange,l=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!dp(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),c=o&&o.node==a.anchorNode&&o.offset==a.anchorOffset||!dp(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),u=e.viewport;if((V.ios||V.chrome)&&e.state.selection.main.empty&&l!=c&&(u.from>0||u.toDate.now()-100?r.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:a}=e.bounds,l=n.from,c=null;(s===8||V.android&&e.text.length=n.from&&t.to<=n.to&&(t.from!=n.from||t.to!=n.to)&&n.to-n.from-(t.to-t.from)<=4?t={from:n.from,to:n.to,insert:r.state.doc.slice(n.from,t.from).append(t.insert).append(r.state.doc.slice(t.to,n.to))}:(V.mac||V.android)&&t&&t.from==t.to&&t.from==n.head-1&&/^\. ?$/.test(t.insert.toString())&&r.contentDOM.getAttribute("autocorrect")=="off"?(i&&t.insert.length==2&&(i=D.single(i.main.anchor-1,i.main.head-1)),t={from:n.from,to:n.to,insert:ue.of([" "])}):V.chrome&&t&&t.from==t.to&&t.from==n.head&&t.insert.toString()==` + `&&r.lineWrapping&&(i&&(i=D.single(i.main.anchor-1,i.main.head-1)),t={from:n.from,to:n.to,insert:ue.of([" "])}),t){if(V.ios&&r.inputState.flushIOSKey(t)||V.android&&(t.to==n.to&&(t.from==n.from||t.from==n.from-1&&r.state.sliceDoc(t.from,n.from)==" ")&&t.insert.length==1&&t.insert.lines==2&&Ws(r.contentDOM,"Enter",13)||(t.from==n.from-1&&t.to==n.to&&t.insert.length==0||s==8&&t.insert.lengthn.head)&&Ws(r.contentDOM,"Backspace",8)||t.from==n.from&&t.to==n.to+1&&t.insert.length==0&&Ws(r.contentDOM,"Delete",46)))return!0;let o=t.insert.toString();r.inputState.composing>=0&&r.inputState.composing++;let a,l=()=>a||(a=XF(r,t,i));return r.state.facet(iS).some(c=>c(r,t.from,t.to,o,l))||r.dispatch(l()),!0}else if(i&&!i.main.eq(n)){let o=!1,a="select";return r.inputState.lastSelectionTime>Date.now()-50&&(r.inputState.lastSelectionOrigin=="select"&&(o=!0),a=r.inputState.lastSelectionOrigin),r.dispatch({selection:i,scrollIntoView:o,userEvent:a}),!0}else return!1}function XF(r,e,t){let i,n=r.state,s=n.selection.main;if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&r.inputState.composing<0){let a=s.frome.to?n.sliceDoc(e.to,s.to):"";i=n.replaceSelection(r.state.toText(a+e.insert.sliceString(0,void 0,r.state.lineBreak)+l))}else{let a=n.changes(e),l=t&&t.main.to<=a.newLength?t.main:void 0;if(n.selection.ranges.length>1&&r.inputState.composing>=0&&e.to<=s.to&&e.to>=s.to-10){let c=r.state.sliceDoc(e.from,e.to),u,h=t&&fS(r,t.main.head);if(h){let p=e.insert.length-(e.to-e.from);u={from:h.from,to:h.to-p}}else u=r.state.doc.lineAt(s.head);let d=s.to-e.to,f=s.to-s.from;i=n.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:a,range:l||p.map(a)};let m=p.to-d,g=m-c.length;if(p.to-p.from!=f||r.state.sliceDoc(g,m)!=c||p.to>=u.from&&p.from<=u.to)return{range:p};let O=n.changes({from:g,to:m,insert:e.insert}),w=p.to-s.to;return{changes:O,range:l?D.range(Math.max(0,l.anchor+w),Math.max(0,l.head+w)):p.map(O)}})}else i={changes:a,selection:l&&n.selection.replaceRange(l)}}let o="input.type";return(r.composing||r.inputState.compositionPendingChange&&r.inputState.compositionEndedAt>Date.now()-50)&&(r.inputState.compositionPendingChange=!1,o+=".compose",r.inputState.compositionFirstChange&&(o+=".start",r.inputState.compositionFirstChange=!1)),n.update(i,{userEvent:o,scrollIntoView:!0})}function YF(r,e,t,i){let n=Math.min(r.length,e.length),s=0;for(;s0&&a>0&&r.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(i=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function VF(r){let e=[];if(r.root.activeElement!=r.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:n,focusOffset:s}=r.observer.selectionRange;return t&&(e.push(new nb(t,i)),(n!=t||s!=i)&&e.push(new nb(n,s))),e}function zF(r,e){if(r.length==0)return null;let t=r[0].pos,i=r.length==2?r[1].pos:t;return t>-1&&i>-1?D.single(t+e,i+e):null}const WF={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Od=V.ie&&V.ie_version<=11;class jF{constructor(e){this.view=e,this.active=!1,this.selectionRange=new DN,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(V.ie&&V.ie_version<=11||V.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),Od&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){e.type=="change"&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,n=this.selectionRange;if(i.state.facet(Hu)?i.root.activeElement!=this.dom:!Ec(i.dom,n))return;let s=n.anchorNode&&i.docView.nearest(n.anchorNode);if(s&&s.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(V.ie&&V.ie_version<=11||V.android&&V.chrome)&&!i.state.selection.main.empty&&n.focusNode&&Ca(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=V.safari&&e.root.nodeType==11&&CN(this.dom.ownerDocument)==this.dom&&UF(this.view)||ou(e.root);if(!t||this.selectionRange.eq(t))return!1;let i=Ec(this.dom,t);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Ws(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(n)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,n=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(n=!0),t==-1?{from:t,to:i}=o:(t=Math.min(o.from,t),i=Math.max(o.to,i)))}return{from:t,to:i,typeOver:n}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),n=this.selectionChanged&&Ec(this.dom,this.selectionRange);if(e<0&&!n)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new LF(this.view,e,t,i);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,n=DS(this.view,t);return this.view.state==i&&this.view.update([]),n}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let i=sb(t,e.previousSibling||e.target.previousSibling,-1),n=sb(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:n?t.posBefore(n):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener("change",this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener("change",this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function sb(r,e,t){for(;e;){let i=$e.get(e);if(i&&i.parent==r)return i;let n=e.parentNode;e=n!=r.dom?n:t>0?e.nextSibling:e.previousSibling}return null}function UF(r){let e=null;function t(l){l.preventDefault(),l.stopImmediatePropagation(),e=l.getTargetRanges()[0]}if(r.contentDOM.addEventListener("beforeinput",t,!0),r.dom.ownerDocument.execCommand("indent"),r.contentDOM.removeEventListener("beforeinput",t,!0),!e)return null;let i=e.startContainer,n=e.startOffset,s=e.endContainer,o=e.endOffset,a=r.docView.domAtPos(r.state.selection.main.anchor);return Ca(a.node,a.offset,s,o)&&([i,n,s,o]=[s,o,i,n]),{anchorNode:i,anchorOffset:n,focusNode:s,focusOffset:o}}class q{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:t}=e;this.dispatchTransactions=e.dispatchTransactions||t&&(i=>i.forEach(n=>t(n,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=e.root||TN(e.parent)||document,this.viewState=new tb(e.state||re.create(e)),e.scrollTo&&e.scrollTo.is(Tl)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(oa).map(i=>new fd(i));for(let i of this.plugins)i.update(this);this.observer=new jF(this),this.inputState=new cF(this),this.inputState.ensureHandlers(this.plugins),this.docView=new F0(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure()}dispatch(...e){let t=e.length==1&&e[0]instanceof je?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,n,s=this.state;for(let d of e){if(d.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=d.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(d=>d.annotation(kS))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=xS(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,u=null;if(c?(this.observer.clearDelayedAndroidKey(),u=this.observer.readChange(),(u&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(u=null)):this.observer.clear(),s.facet(re.phrases)!=this.state.facet(re.phrases))return this.setState(s);n=au.create(this,s,e),n.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let d of e){if(h&&(h=h.map(d.changes)),d.scrollIntoView){let{main:f}=d.state.selection;h=new js(f.empty?f:D.cursor(f.head,f.head>f.anchor?-1:1))}for(let f of d.effects)f.is(Tl)&&(h=f.value.clip(this.state))}this.viewState.update(n,h),this.bidiCache=lu.update(this.bidiCache,n.changes),n.empty||(this.updatePlugins(n),this.inputState.update(n)),t=this.docView.update(n),this.state.facet(aa)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(d=>d.isUserEvent("select.pointer")))}finally{this.updateState=0}if(n.startState.facet(Nl)!=n.state.facet(Nl)&&(this.viewState.mustMeasureContent=!0),(t||i||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!n.empty)for(let d of this.state.facet(kp))try{d(n)}catch(f){Ot(this.state,f,"update listener")}(l||u)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),u&&!DS(this,u)&&c.force&&Ws(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new tb(e),this.plugins=e.facet(oa).map(i=>new fd(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new F0(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(oa),i=e.state.facet(oa);if(t!=i){let n=[];for(let s of i){let o=t.indexOf(s);if(o<0)n.push(new fd(s));else{let a=this.plugins[o];a.mustUpdate=e,n.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let n of this.plugins)n.mustUpdate=e;for(let n=0;n-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.scrollDOM,n=i.scrollTop*this.scaleY,{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(n-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(Ix(i))s=-1,o=this.viewState.heightMap.height;else{let f=this.viewState.scrollAnchorAt(n);s=f.from,o=f.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let u=c.map(f=>{try{return f.read(this)}catch(p){return Ot(this.state,p),ob}}),h=au.create(this,this.state,[]),d=!1;h.flags|=l,t?t.flags|=l:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),d=this.docView.update(h),d&&this.docViewUpdate());for(let f=0;f1||f<-1){n=n+f,i.scrollTop=n/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(kp))a(t)}get themeClasses(){return $p+" "+(this.state.facet(Qp)?$S:QS)+" "+this.state.facet(Nl)}updateAttrs(){let e=ab(this,lS,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Hu)?"true":"false",class:"cm-content",style:`${V.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),ab(this,Km,t);let i=this.observer.ignore(()=>{let n=Op(this.contentDOM,this.contentAttrs,t),s=Op(this.dom,this.editorAttrs,e);return n||s});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let n of i.effects)if(n.is(q.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=n.value}}mountStyles(){this.styleModules=this.state.facet(aa);let e=this.state.facet(q.cspNonce);hn.mount(this.root,this.styleModules.concat(IF).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;ti.spec==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return md(this,e,Y0(this,e,t,i))}moveByGroup(e,t){return md(this,e,Y0(this,e,t,i=>aF(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),n=this.textDirectionAt(e.from),s=i[t?i.length-1:0];return D.cursor(s.side(t,n)+e.from,s.forward(!t,n)?1:-1)}moveToLineBoundary(e,t,i=!0){return oF(this,e,t,i)}moveVertically(e,t,i){return md(this,e,lF(this,e,t,i))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),mS(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let n=this.state.doc.lineAt(e),s=this.bidiSpans(n),o=s[_i.find(s,e-n.from,-1,t)];return _u(i,o.dir==Ae.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(sS)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>_F)return Hx(e.length);let t=this.textDirectionAt(e.from),i;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||Gx(s.isolates,i=N0(this,e))))return s.order;i||(i=N0(this,e));let n=YN(e.text,t,i);return this.bidiCache.push(new lu(e.from,e.to,t,i,!0,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||V.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Nx(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return Tl.of(new js(typeof e=="number"?D.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return Tl.of(new js(D.cursor(i.from),"start","start",i.top-e,t,!0))}static domEventHandlers(e){return Ne.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ne.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=hn.newName(),n=[Nl.of(i),aa.of(Ap(`.${i}`,e))];return t&&t.dark&&n.push(Qp.of(!0)),n}static baseTheme(e){return bn.lowest(aa.of(Ap("."+$p,e,AS)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),n=i&&$e.get(i)||$e.get(e);return((t=n==null?void 0:n.rootView)===null||t===void 0?void 0:t.view)||null}}q.styleModule=aa;q.inputHandler=iS;q.scrollHandler=aS;q.focusChangeEffect=nS;q.perLineTextDirection=sS;q.exceptionSink=rS;q.updateListener=kp;q.editable=Hu;q.mouseSelectionStyle=tS;q.dragMovesSelection=eS;q.clickAddsSelectionRange=Jx;q.decorations=Ya;q.outerDecorations=cS;q.atomicRanges=Jm;q.bidiIsolatedRanges=uS;q.scrollMargins=hS;q.darkTheme=Qp;q.cspNonce=Y.define({combine:r=>r.length?r[0]:""});q.contentAttributes=Km;q.editorAttributes=lS;q.lineWrapping=q.contentAttributes.of({class:"cm-lineWrapping"});q.announce=ee.define();const _F=4096,ob={};class lu{constructor(e,t,i,n,s,o){this.from=e,this.to=t,this.dir=i,this.isolates=n,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let i=[],n=e.length?e[e.length-1].dir:Ae.LTR;for(let s=Math.max(0,e.length-10);s=0;n--){let s=i[n],o=typeof s=="function"?s(r):s;o&&gp(o,t)}return t}const GF=V.mac?"mac":V.windows?"win":V.linux?"linux":"key";function HF(r,e){const t=r.split(/-(?!$)/);let i=t[t.length-1];i=="Space"&&(i=" ");let n,s,o,a;for(let l=0;li.concat(n),[]))),t}function JF(r,e,t){return PS(TS(r.state),e,r,t)}let Yi=null;const e5=4e3;function t5(r,e=GF){let t=Object.create(null),i=Object.create(null),n=(o,a)=>{let l=i[o];if(l==null)i[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,u)=>{var h,d;let f=t[o]||(t[o]=Object.create(null)),p=a.split(/ (?!$)/).map(O=>HF(O,e));for(let O=1;O{let C=Yi={view:v,prefix:w,scope:o};return setTimeout(()=>{Yi==C&&(Yi=null)},e5),!0}]})}let m=p.join(" ");n(m,!1);let g=f[m]||(f[m]={preventDefault:!1,stopPropagation:!1,run:((d=(h=f._any)===null||h===void 0?void 0:h.run)===null||d===void 0?void 0:d.slice())||[]});l&&g.run.push(l),c&&(g.preventDefault=!0),u&&(g.stopPropagation=!0)};for(let o of r){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let u=t[c]||(t[c]=Object.create(null));u._any||(u._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let h in u)u[h].run.push(o.any)}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}function PS(r,e,t,i){let n=Yk(e),s=rt(n,0),o=Kt(s)==n.length&&n!=" ",a="",l=!1,c=!1,u=!1;Yi&&Yi.view==t&&Yi.scope==i&&(a=Yi.prefix+" ",OS.indexOf(e.keyCode)<0&&(c=!0,Yi=null));let h=new Set,d=g=>{if(g){for(let O of g.run)if(!h.has(O)&&(h.add(O),O(t,e)))return g.stopPropagation&&(u=!0),!0;g.preventDefault&&(g.stopPropagation&&(u=!0),c=!0)}return!1},f=r[i],p,m;return f&&(d(f[a+Fl(n,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(V.windows&&e.ctrlKey&&e.altKey)&&(p=vi[e.keyCode])&&p!=n?(d(f[a+Fl(p,e,!0)])||e.shiftKey&&(m=Za[e.keyCode])!=n&&m!=p&&d(f[a+Fl(m,e,!1)]))&&(l=!0):o&&e.shiftKey&&d(f[a+Fl(n,e,!0)])&&(l=!0),!l&&d(f._any)&&(l=!0)),c&&(l=!0),l&&u&&e.stopPropagation(),l}class hl{constructor(e,t,i,n,s){this.className=e,this.left=t,this.top=i,this.width=n,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let n=e.coordsAtPos(i.head,i.assoc||1);if(!n)return[];let s=ES(e);return[new hl(t,n.left-s.left,n.top-s.top,null,n.bottom-n.top)]}else return r5(e,t,i)}}function ES(r){let e=r.scrollDOM.getBoundingClientRect();return{left:(r.textDirection==Ae.LTR?e.left:e.right-r.scrollDOM.clientWidth*r.scaleX)-r.scrollDOM.scrollLeft*r.scaleX,top:e.top-r.scrollDOM.scrollTop*r.scaleY}}function cb(r,e,t){let i=D.cursor(e);return{from:Math.max(t.from,r.moveToLineBoundary(i,!1,!0).from),to:Math.min(t.to,r.moveToLineBoundary(i,!0,!0).from),type:yt.Text}}function r5(r,e,t){if(t.to<=r.viewport.from||t.from>=r.viewport.to)return[];let i=Math.max(t.from,r.viewport.from),n=Math.min(t.to,r.viewport.to),s=r.textDirection==Ae.LTR,o=r.contentDOM,a=o.getBoundingClientRect(),l=ES(r),c=o.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),h=a.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),d=a.right-(u?parseInt(u.paddingRight):0),f=Sp(r,i),p=Sp(r,n),m=f.type==yt.Text?f:null,g=p.type==yt.Text?p:null;if(m&&(r.lineWrapping||f.widgetLineBreaks)&&(m=cb(r,i,m)),g&&(r.lineWrapping||p.widgetLineBreaks)&&(g=cb(r,n,g)),m&&g&&m.from==g.from)return w(v(t.from,t.to,m));{let Q=m?v(t.from,null,m):C(f,!1),b=g?v(null,t.to,g):C(p,!0),x=[];return(m||f).to<(g||p).from-(m&&g?1:0)||f.widgetLineBreaks>1&&Q.bottom+r.defaultLineHeight/2A&&X.from=te)break;k>$&&E(Math.max(Ee,$),Q==null&&Ee<=A,Math.min(k,te),b==null&&k>=z,xe.dir)}if($=le.to+1,$>=te)break}return B.length==0&&E(A,Q==null,z,b==null,r.textDirection),{top:R,bottom:P,horizontal:B}}function C(Q,b){let x=a.top+(b?Q.top:Q.bottom);return{top:x,bottom:x,horizontal:[]}}}function i5(r,e){return r.constructor==e.constructor&&r.eq(e)}class n5{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Zc)!=e.state.facet(Zc)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(Zc);for(;t!i5(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let n of e)n.update&&t&&n.constructor&&this.drawn[i].constructor&&n.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(n.draw(),t);for(;t;){let n=t.nextSibling;t.remove(),t=n}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Zc=Y.define();function MS(r){return[Ne.define(e=>new n5(e,r)),Zc.of(r)]}const RS=!V.ios,Va=Y.define({combine(r){return Ar(r,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function s5(r={}){return[Va.of(r),o5,a5,l5,oS.of(!0)]}function ZS(r){return r.startState.facet(Va)!=r.state.facet(Va)}const o5=MS({above:!0,markers(r){let{state:e}=r,t=e.facet(Va),i=[];for(let n of e.selection.ranges){let s=n==e.selection.main;if(n.empty?!s||RS:t.drawRangeCursor){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=n.empty?n:D.cursor(n.head,n.head>n.anchor?-1:1);for(let l of hl.forRange(r,o,a))i.push(l)}}return i},update(r,e){r.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=ZS(r);return t&&ub(r.state,e),r.docChanged||r.selectionSet||t},mount(r,e){ub(e.state,r)},class:"cm-cursorLayer"});function ub(r,e){e.style.animationDuration=r.facet(Va).cursorBlinkRate+"ms"}const a5=MS({above:!1,markers(r){return r.state.selection.ranges.map(e=>e.empty?[]:hl.forRange(r,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(r,e){return r.docChanged||r.selectionSet||r.viewportChanged||ZS(r)},class:"cm-selectionLayer"}),Dp={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};RS&&(Dp[".cm-line"].caretColor="transparent !important",Dp[".cm-content"]={caretColor:"transparent !important"});const l5=bn.highest(q.theme(Dp)),NS=ee.define({map(r,e){return r==null?null:e.mapPos(r)}}),ua=Ye.define({create(){return null},update(r,e){return r!=null&&(r=e.changes.mapPos(r)),e.effects.reduce((t,i)=>i.is(NS)?i.value:t,r)}}),c5=Ne.fromClass(class{constructor(r){this.view=r,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(r){var e;let t=r.state.field(ua);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(r.startState.field(ua)!=t||r.docChanged||r.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:r}=this,e=r.state.field(ua),t=e!=null&&r.coordsAtPos(e);if(!t)return null;let i=r.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+r.scrollDOM.scrollLeft*r.scaleX,top:t.top-i.top+r.scrollDOM.scrollTop*r.scaleY,height:t.bottom-t.top}}drawCursor(r){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;r?(this.cursor.style.left=r.left/e+"px",this.cursor.style.top=r.top/t+"px",this.cursor.style.height=r.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(r){this.view.state.field(ua)!=r&&this.view.dispatch({effects:NS.of(r)})}},{eventObservers:{dragover(r){this.setDropPos(this.view.posAtCoords({x:r.clientX,y:r.clientY}))},dragleave(r){(r.target==this.view.contentDOM||!this.view.contentDOM.contains(r.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function u5(){return[ua,c5]}function hb(r,e,t,i,n){e.lastIndex=0;for(let s=r.iterRange(t,i),o=t,a;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;a=e.exec(s.value);)n(o+a.index,a)}function h5(r,e){let t=r.visibleRanges;if(t.length==1&&t[0].from==r.viewport.from&&t[0].to==r.viewport.to)return t;let i=[];for(let{from:n,to:s}of t)n=Math.max(r.state.doc.lineAt(n).from,n-e),s=Math.min(r.state.doc.lineAt(s).to,s+e),i.length&&i[i.length-1].to>=n?i[i.length-1].to=s:i.push({from:n,to:s});return i}class d5{constructor(e){const{regexp:t,decoration:i,decorate:n,boundary:s,maxLength:o=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,n)this.addMatch=(a,l,c,u)=>n(u,c,c+a[0].length,a,l);else if(typeof i=="function")this.addMatch=(a,l,c,u)=>{let h=i(a,l,c);h&&u(c,c+a[0].length,h)};else if(i)this.addMatch=(a,l,c,u)=>u(c,c+a[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=o}createDeco(e){let t=new un,i=t.add.bind(t);for(let{from:n,to:s}of h5(e,this.maxLength))hb(e.state.doc,this.regexp,n,s,(o,a)=>this.addMatch(a,e,o,i));return t.finish()}updateDeco(e,t){let i=1e9,n=-1;return e.docChanged&&e.changes.iterChanges((s,o,a,l)=>{l>e.view.viewport.from&&a1e3?this.createDeco(e.view):n>-1?this.updateRange(e.view,t.map(e.changes),i,n):t}updateRange(e,t,i,n){for(let s of e.visibleRanges){let o=Math.max(s.from,i),a=Math.min(s.to,n);if(a>o){let l=e.state.doc.lineAt(o),c=l.tol.from;o--)if(this.boundary.test(l.text[o-1-l.from])){u=o;break}for(;ad.push(O.range(m,g));if(l==c)for(this.regexp.lastIndex=u-l.from;(f=this.regexp.exec(l.text))&&f.indexthis.addMatch(g,e,m,p));t=t.update({filterFrom:u,filterTo:h,filter:(m,g)=>mh,add:d})}}return t}}const Tp=/x/.unicode!=null?"gu":"g",f5=new RegExp(`[\0-\b +--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,Tp),p5={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let yd=null;function m5(){var r;if(yd==null&&typeof document<"u"&&document.body){let e=document.body.style;yd=((r=e.tabSize)!==null&&r!==void 0?r:e.MozTabSize)!=null}return yd||!1}const Nc=Y.define({combine(r){let e=Ar(r,{render:null,specialChars:f5,addSpecialChars:null});return(e.replaceTabs=!m5())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Tp)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Tp)),e}});function g5(r={}){return[Nc.of(r),O5()]}let db=null;function O5(){return db||(db=Ne.fromClass(class{constructor(r){this.view=r,this.decorations=U.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(r.state.facet(Nc)),this.decorations=this.decorator.createDeco(r)}makeDecorator(r){return new d5({regexp:r.specialChars,decoration:(e,t,i)=>{let{doc:n}=t.state,s=rt(e[0],0);if(s==9){let o=n.lineAt(i),a=t.state.tabSize,l=Sr(o.text,a,i-o.from);return U.replace({widget:new v5((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=U.replace({widget:new w5(r,s)}))},boundary:r.replaceTabs?void 0:/[^]/})}update(r){let e=r.state.facet(Nc);r.startState.facet(Nc)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(r.view)):this.decorations=this.decorator.updateDeco(r,this.decorations)}},{decorations:r=>r.decorations}))}const y5="•";function b5(r){return r>=32?y5:r==10?"␤":String.fromCharCode(9216+r)}class w5 extends si{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=b5(this.code),i=e.state.phrase("Control character")+" "+(p5[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,i,t);if(n)return n;let s=document.createElement("span");return s.textContent=t,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class v5 extends si{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function k5(){return S5}const x5=U.line({class:"cm-activeLine"}),S5=Ne.fromClass(class{constructor(r){this.decorations=this.getDeco(r)}update(r){(r.docChanged||r.selectionSet)&&(this.decorations=this.getDeco(r.view))}getDeco(r){let e=-1,t=[];for(let i of r.state.selection.ranges){let n=r.lineBlockAt(i.head);n.from>e&&(t.push(x5.range(n.from)),e=n.from)}return U.set(t)}},{decorations:r=>r.decorations});class C5 extends si{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild(typeof this.content=="string"?document.createTextNode(this.content):this.content),typeof this.content=="string"?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}coordsAt(e){let t=e.firstChild?so(e.firstChild):[];if(!t.length)return null;let i=window.getComputedStyle(e.parentNode),n=_u(t[0],i.direction!="rtl"),s=parseInt(i.lineHeight);return n.bottom-n.top>s*1.5?{left:n.left,right:n.right,top:n.top,bottom:n.top+s}:n}ignoreEvent(){return!1}}function Q5(r){return Ne.fromClass(class{constructor(e){this.view=e,this.placeholder=r?U.set([U.widget({widget:new C5(r),side:1}).range(0)]):U.none}get decorations(){return this.view.state.doc.length?U.none:this.placeholder}},{decorations:e=>e.decorations})}const Pp=2e3;function $5(r,e,t){let i=Math.min(e.line,t.line),n=Math.max(e.line,t.line),s=[];if(e.off>Pp||t.off>Pp||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=i;l<=n;l++){let c=r.doc.line(l);c.length<=a&&s.push(D.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=i;l<=n;l++){let c=r.doc.line(l),u=cp(c.text,o,r.tabSize,!0);if(u<0)s.push(D.cursor(c.to));else{let h=cp(c.text,a,r.tabSize);s.push(D.range(c.from+u,c.from+h))}}}return s}function A5(r,e){let t=r.coordsAtPos(r.viewport.from);return t?Math.round(Math.abs((t.left-e)/r.defaultCharacterWidth)):-1}function fb(r,e){let t=r.posAtCoords({x:e.clientX,y:e.clientY},!1),i=r.state.doc.lineAt(t),n=t-i.from,s=n>Pp?-1:n==i.length?A5(r,e.clientX):Sr(i.text,r.state.tabSize,t-i.from);return{line:i.number,col:s,off:n}}function D5(r,e){let t=fb(r,e),i=r.state.selection;return t?{update(n){if(n.docChanged){let s=n.changes.mapPos(n.startState.doc.line(t.line).from),o=n.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},i=i.map(n.changes)}},get(n,s,o){let a=fb(r,n);if(!a)return i;let l=$5(r.state,t,a);return l.length?o?D.create(l.concat(i.ranges)):D.create(l):i}}:null}function T5(r){let e=(r==null?void 0:r.eventFilter)||(t=>t.altKey&&t.button==0);return q.mouseSelectionStyle.of((t,i)=>e(i)?D5(t,i):null)}const P5={Alt:[18,r=>!!r.altKey],Control:[17,r=>!!r.ctrlKey],Shift:[16,r=>!!r.shiftKey],Meta:[91,r=>!!r.metaKey]},E5={style:"cursor: crosshair"};function M5(r={}){let[e,t]=P5[r.key||"Alt"],i=Ne.fromClass(class{constructor(n){this.view=n,this.isDown=!1}set(n){this.isDown!=n&&(this.isDown=n,this.view.update([]))}},{eventObservers:{keydown(n){this.set(n.keyCode==e||t(n))},keyup(n){(n.keyCode==e||!t(n))&&this.set(!1)},mousemove(n){this.set(t(n))}}});return[i,q.contentAttributes.of(n=>{var s;return!((s=n.plugin(i))===null||s===void 0)&&s.isDown?E5:null})]}const Zo="-10000px";class FS{constructor(e,t,i,n){this.facet=t,this.createTooltipView=i,this.removeTooltipView=n,this.input=e.state.facet(t),this.tooltips=this.input.filter(o=>o);let s=null;this.tooltipViews=this.tooltips.map(o=>s=i(o,s))}update(e,t){var i;let n=e.state.facet(this.facet),s=n.filter(l=>l);if(n===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let o=[],a=t?[]:null;for(let l=0;lt[c]=l),t.length=a.length),this.input=n,this.tooltips=s,this.tooltipViews=o,!0}}function R5(r){let{win:e}=r;return{top:0,left:0,bottom:e.innerHeight,right:e.innerWidth}}const bd=Y.define({combine:r=>{var e,t,i;return{position:V.ios?"absolute":((e=r.find(n=>n.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=r.find(n=>n.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=r.find(n=>n.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||R5}}}),pb=new WeakMap,tg=Ne.fromClass(class{constructor(r){this.view=r,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=r.state.facet(bd);this.position=e.position,this.parent=e.parent,this.classes=r.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new FS(r,Ku,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),r.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let r of this.manager.tooltipViews)this.intersectionObserver.observe(r.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(r){r.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(r,this.above);e&&this.observeIntersection();let t=e||r.geometryChanged,i=r.state.facet(bd);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let n of this.manager.tooltipViews)n.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let n of this.manager.tooltipViews)this.container.appendChild(n.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(r,e){let t=r.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),r.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let n=document.createElement("div");n.className="cm-tooltip-arrow",t.dom.insertBefore(n,i)}return t.dom.style.position=this.position,t.dom.style.top=Zo,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var r,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(r=i.destroy)===null||r===void 0||r.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let r=this.view.dom.getBoundingClientRect(),e=1,t=1,i=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(V.gecko)i=n.offsetParent!=this.container.ownerDocument.body;else if(n.style.top==Zo&&n.style.left=="0px"){let s=n.getBoundingClientRect();i=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}}if(i||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(e=n.width/this.parent.offsetWidth,t=n.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);return{editor:r,parent:this.parent?this.container.getBoundingClientRect():r,pos:this.manager.tooltips.map((n,s)=>{let o=this.manager.tooltipViews[s];return o.getCoords?o.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(bd).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:i}}writeMeasure(r){var e;if(r.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{editor:t,space:i,scaleX:n,scaleY:s}=r,o=[];for(let a=0;a=Math.min(t.bottom,i.bottom)||h.rightMath.min(t.right,i.right)+.1){u.style.top=Zo;continue}let f=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,p=f?7:0,m=d.right-d.left,g=(e=pb.get(c))!==null&&e!==void 0?e:d.bottom-d.top,O=c.offset||N5,w=this.view.textDirection==Ae.LTR,v=d.width>i.right-i.left?w?i.left:i.right-d.width:w?Math.min(h.left-(f?14:0)+O.x,i.right-m):Math.max(i.left,h.left-m+(f?14:0)-O.x),C=this.above[a];!l.strictSide&&(C?h.top-(d.bottom-d.top)-O.yi.bottom)&&C==i.bottom-h.bottom>h.top-i.top&&(C=this.above[a]=!C);let Q=(C?h.top-i.top:i.bottom-h.bottom)-p;if(Qv&&R.topb&&(b=C?R.top-g-2-p:R.bottom+p+2);if(this.position=="absolute"?(u.style.top=(b-r.parent.top)/s+"px",u.style.left=(v-r.parent.left)/n+"px"):(u.style.top=b/s+"px",u.style.left=v/n+"px"),f){let R=h.left+(w?O.x:-O.x)-(v+14-7);f.style.left=R/n+"px"}c.overlap!==!0&&o.push({left:v,top:b,right:x,bottom:b+g}),u.classList.toggle("cm-tooltip-above",C),u.classList.toggle("cm-tooltip-below",!C),c.positioned&&c.positioned(r.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let r of this.manager.tooltipViews)r.dom.style.top=Zo}},{eventObservers:{scroll(){this.maybeMeasure()}}}),Z5=q.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),N5={x:0,y:0},Ku=Y.define({enables:[tg,Z5]}),cu=Y.define({combine:r=>r.reduce((e,t)=>e.concat(t),[])});class Ju{static create(e){return new Ju(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new FS(e,cu,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let n=i[e];if(n!==void 0){if(t===void 0)t=n;else if(t!==n)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const F5=Ku.compute([cu],r=>{let e=r.facet(cu);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:Ju.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class I5{constructor(e,t,i,n,s){this.view=e,this.source=t,this.field=i,this.setHover=n,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;ea.bottom||t.xa.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(n)).find(u=>u.from<=n&&u.to>=n),c=l&&l.dir==Ae.RTL?-1:1;s=t.x{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>Ot(e.state,l,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(tg),t=e?e.manager.tooltips.findIndex(i=>i.create==Ju.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:n,tooltip:s}=this;if(n.length&&s&&!B5(s.dom,e)||this.pending){let{pos:o}=n[0]||this.pending,a=(i=(t=n[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:o;(o==a?this.view.posAtCoords(this.lastMove)!=o:!q5(this.view,o,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Il=4;function B5(r,e){let t=r.getBoundingClientRect();return e.clientX>=t.left-Il&&e.clientX<=t.right+Il&&e.clientY>=t.top-Il&&e.clientY<=t.bottom+Il}function q5(r,e,t,i,n,s){let o=r.scrollDOM.getBoundingClientRect(),a=r.documentTop+r.documentPadding.top+r.contentHeight;if(o.left>i||o.rightn||Math.min(o.bottom,a)=e&&l<=t}function L5(r,e={}){let t=ee.define(),i=Ye.define({create(){return[]},update(n,s){if(n.length&&(e.hideOnChange&&(s.docChanged||s.selection)?n=[]:e.hideOn&&(n=n.filter(o=>!e.hideOn(s,o))),s.docChanged)){let o=[];for(let a of n){let l=s.changes.mapPos(a.pos,-1,it.TrackDel);if(l!=null){let c=Object.assign(Object.create(null),a);c.pos=l,c.end!=null&&(c.end=s.changes.mapPos(c.end)),o.push(c)}}n=o}for(let o of s.effects)o.is(t)&&(n=o.value),o.is(X5)&&(n=[]);return n},provide:n=>cu.from(n)});return[i,Ne.define(n=>new I5(n,r,i,t,e.hoverTime||300)),F5]}function IS(r,e){let t=r.plugin(tg);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}const X5=ee.define(),mb=Y.define({combine(r){let e,t;for(let i of r)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function za(r,e){let t=r.plugin(BS),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}const BS=Ne.fromClass(class{constructor(r){this.input=r.state.facet(Wa),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(r));let e=r.state.facet(mb);this.top=new Bl(r,!0,e.topContainer),this.bottom=new Bl(r,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(r){let e=r.state.facet(mb);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Bl(r.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Bl(r.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=r.state.facet(Wa);if(t!=this.input){let i=t.filter(l=>l),n=[],s=[],o=[],a=[];for(let l of i){let c=this.specs.indexOf(l),u;c<0?(u=l(r.view),a.push(u)):(u=this.panels[c],u.update&&u.update(r)),n.push(u),(u.top?s:o).push(u)}this.specs=i,this.panels=n,this.top.sync(s),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let i of this.panels)i.update&&i.update(r)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:r=>q.scrollMargins.of(e=>{let t=e.plugin(r);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class Bl{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=gb(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=gb(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function gb(r){let e=r.nextSibling;return r.remove(),e}const Wa=Y.define({enables:BS});class ri extends ns{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}ri.prototype.elementClass="";ri.prototype.toDOM=void 0;ri.prototype.mapMode=it.TrackBefore;ri.prototype.startSide=ri.prototype.endSide=-1;ri.prototype.point=!0;const Fc=Y.define(),Y5={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>se.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},$a=Y.define();function qS(r){return[LS(),$a.of(Object.assign(Object.assign({},Y5),r))]}const Ep=Y.define({combine:r=>r.some(e=>e)});function LS(r){let e=[V5];return r&&r.fixed===!1&&e.push(Ep.of(!0)),e}const V5=Ne.fromClass(class{constructor(r){this.view=r,this.prevViewport=r.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=r.state.facet($a).map(e=>new yb(r,e));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!r.state.facet(Ep),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),r.scrollDOM.insertBefore(this.dom,r.contentDOM)}update(r){if(this.updateGutters(r)){let e=this.prevViewport,t=r.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}r.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(Ep)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=r.view.viewport}syncGutters(r){let e=this.dom.nextSibling;r&&this.dom.remove();let t=se.iter(this.view.state.facet(Fc),this.view.viewport.from),i=[],n=this.gutters.map(s=>new z5(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(s.type)){let o=!0;for(let a of s.type)if(a.type==yt.Text&&o){Mp(t,i,a.from);for(let l of n)l.line(this.view,a,i);o=!1}else if(a.widget)for(let l of n)l.widget(this.view,a)}else if(s.type==yt.Text){Mp(t,i,s.from);for(let o of n)o.line(this.view,s,i)}else if(s.widget)for(let o of n)o.widget(this.view,s);for(let s of n)s.finish();r&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(r){let e=r.startState.facet($a),t=r.state.facet($a),i=r.docChanged||r.heightChanged||r.viewportChanged||!se.eq(r.startState.facet(Fc),r.state.facet(Fc),r.view.viewport.from,r.view.viewport.to);if(e==t)for(let n of this.gutters)n.update(r)&&(i=!0);else{i=!0;let n=[];for(let s of t){let o=e.indexOf(s);o<0?n.push(new yb(this.view,s)):(this.gutters[o].update(r),n.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),n.indexOf(s)<0&&s.destroy();for(let s of n)this.dom.appendChild(s.dom);this.gutters=n}return i}destroy(){for(let r of this.gutters)r.destroy();this.dom.remove()}},{provide:r=>q.scrollMargins.of(e=>{let t=e.plugin(r);return!t||t.gutters.length==0||!t.fixed?null:e.textDirection==Ae.LTR?{left:t.dom.offsetWidth*e.scaleX}:{right:t.dom.offsetWidth*e.scaleX}})});function Ob(r){return Array.isArray(r)?r:[r]}function Mp(r,e,t){for(;r.value&&r.from<=t;)r.from==t&&e.push(r.value),r.next()}class z5{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=se.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:n}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==n.elements.length){let a=new XS(e,o,s,i);n.elements.push(a),n.dom.appendChild(a.dom)}else n.elements[this.i].update(e,o,s,i);this.height=t.bottom,this.i++}line(e,t,i){let n=[];Mp(this.cursor,n,t.from),i.length&&(n=n.concat(i));let s=this.gutter.config.lineMarker(e,t,n);s&&n.unshift(s);let o=this.gutter;n.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,n)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t);i&&this.addElement(e,t,[i])}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class yb{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,n=>{let s=n.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=n.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[i](e,a,n)&&n.preventDefault()});this.markers=Ob(t.markers(e)),t.initialSpacer&&(this.spacer=new XS(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Ob(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let n=this.config.updateSpacer(this.spacer.markers[0],e);n!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[n])}let i=e.view.viewport;return!se.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class XS{constructor(e,t,i,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,n)}update(e,t,i,n){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),W5(this.markers,n)||this.setMarkers(e,n)}setMarkers(e,t){let i="cm-gutterElement",n=this.dom.firstChild;for(let s=0,o=0;;){let a=o,l=ss(a,l,c)||o(a,l,c):o}return i}})}});class wd extends ri{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function vd(r,e){return r.state.facet(Rs).formatNumber(e,r.state)}const U5=$a.compute([Rs],r=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(j5)},lineMarker(e,t,i){return i.some(n=>n.toDOM)?null:new wd(vd(e,e.state.doc.lineAt(t.from).number))},widgetMarker:()=>null,lineMarkerChange:e=>e.startState.facet(Rs)!=e.state.facet(Rs),initialSpacer(e){return new wd(vd(e,bb(e.state.doc.lines)))},updateSpacer(e,t){let i=vd(t.view,bb(t.view.state.doc.lines));return i==e.number?e:new wd(i)},domEventHandlers:r.facet(Rs).domEventHandlers}));function _5(r={}){return[Rs.of(r),LS(),U5]}function bb(r){let e=9;for(;e{let e=[],t=-1;for(let i of r.selection.ranges){let n=r.doc.lineAt(i.head).from;n>t&&(t=n,e.push(G5.range(n)))}return se.of(e)});function K5(){return H5}const YS=1024;let J5=0;class tr{constructor(e,t){this.from=e,this.to=t}}class K{constructor(e={}){this.id=J5++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Xe.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}}K.closedBy=new K({deserialize:r=>r.split(" ")});K.openedBy=new K({deserialize:r=>r.split(" ")});K.group=new K({deserialize:r=>r.split(" ")});K.isolate=new K({deserialize:r=>{if(r&&r!="rtl"&&r!="ltr"&&r!="auto")throw new RangeError("Invalid value for isolate: "+r);return r||"auto"}});K.contextHash=new K({perNode:!0});K.lookAhead=new K({perNode:!0});K.mounted=new K({perNode:!0});class ja{constructor(e,t,i){this.tree=e,this.overlay=t,this.parser=i}static get(e){return e&&e.props&&e.props[K.mounted.id]}}const eI=Object.create(null);class Xe{constructor(e,t,i,n=0){this.name=e,this.props=t,this.id=i,this.flags=n}static define(e){let t=e.props&&e.props.length?Object.create(null):eI,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),n=new Xe(e.name||"",t,e.id,i);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(n)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return n}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(K.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let n of i.split(" "))t[n]=e[i];return i=>{for(let n=i.prop(K.group),s=-1;s<(n?n.length:0);s++){let o=t[s<0?i.name:n[s]];if(o)return o}}}}Xe.none=new Xe("",Object.create(null),0,8);class bo{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|we.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=n&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&i&&(a||!l.type.isAnonymous)&&i(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:ng(Xe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,n)=>new ne(this.type,t,i,n,this.propValues),e.makeTree||((t,i,n)=>new ne(Xe.none,t,i,n)))}static build(e){return nI(e)}}ne.empty=new ne(Xe.none,[],[],0);class rg{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new rg(this.buffer,this.index)}}class fn{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return Xe.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,i){let n=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function Ua(r,e,t,i){for(var n;r.from==r.to||(t<1?r.from>=e:r.from>e)||(t>-1?r.to<=e:r.to0?a.length:-1;e!=c;e+=t){let u=a[e],h=l[e]+o.from;if(VS(n,i,h,h+u.length)){if(u instanceof fn){if(s&we.ExcludeBuffers)continue;let d=u.findChild(0,u.buffer.length,t,i-h,n);if(d>-1)return new zr(new tI(o,u,e,h),null,d)}else if(s&we.IncludeAnonymous||!u.type.isAnonymous||ig(u)){let d;if(!(s&we.IgnoreMounts)&&(d=ja.get(u))&&!d.overlay)return new ht(d.tree,h,e,o);let f=new ht(u,h,e,o);return s&we.IncludeAnonymous||!f.type.isAnonymous?f:f.nextChild(t<0?u.children.length-1:0,t,i,n)}}}if(s&we.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,i=0){let n;if(!(i&we.IgnoreOverlays)&&(n=ja.get(this._tree))&&n.overlay){let s=e-this.from;for(let{from:o,to:a}of n.overlay)if((t>0?o<=s:o=s:a>s))return new ht(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function vb(r,e,t,i){let n=r.cursor(),s=[];if(!n.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=n.type.is(t),!n.nextSibling())return s}for(;;){if(i!=null&&n.type.is(i))return s;if(n.type.is(e)&&s.push(n.node),!n.nextSibling())return i==null?s:[]}}function Rp(r,e,t=e.length-1){for(let i=r.parent;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}class tI{constructor(e,t,i,n){this.parent=e,this.buffer=t,this.index=i,this.start=n}}class zr extends zS{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,i);return s<0?null:new zr(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,i=0){if(i&we.ExcludeBuffers)return null;let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new zr(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new zr(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new zr(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,n=this.index+4,s=i.buffer[this.index+3];if(s>n){let o=i.buffer[this.index+1];e.push(i.slice(n,s,o)),t.push(0)}return new ne(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function WS(r){if(!r.length)return null;let e=0,t=r[0];for(let s=1;st.from||o.to=e){let a=new ht(o.tree,o.overlay[0].from+s.from,-1,s);(n||(n=[i])).push(Ua(a,e,t,!1))}}return n?WS(n):i}class uu{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof ht)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:n}=this.buffer;return this.type=t||n.set.types[n.buffer[e]],this.from=i+n.buffer[e+1],this.to=i+n.buffer[e+2],!0}yield(e){return e?e instanceof ht?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:n}=this.buffer,s=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.buffer.start,i);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&we.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&we.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&we.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let n=i<0?0:this.stack[i]+4;if(this.index!=n)return this.yieldBuf(t.findChild(n,this.index,-1,0,4))}else{let n=t.buffer[this.index+3];if(n<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(n)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:n}=this;if(n){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:i._tree.children.length;s!=o;s+=e){let a=i._tree.children[s];if(this.mode&we.IncludeAnonymous||a instanceof fn||!a.type.isAnonymous||ig(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==n){if(n==this.index)return o;t=o,i=s+1;break e}n=this.stack[--s]}for(let n=i;n=0;s--){if(s<0)return Rp(this.node,e,n);let o=i[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[n]&&e[n]!=o.name)return!1;n--}}return!0}}function ig(r){return r.children.some(e=>e instanceof fn||!e.type.isAnonymous||ig(e))}function nI(r){var e;let{buffer:t,nodeSet:i,maxBufferLength:n=YS,reused:s=[],minRepeatType:o=i.types.length}=r,a=Array.isArray(t)?new rg(t,t.length):t,l=i.types,c=0,u=0;function h(Q,b,x,R,P,B){let{id:E,start:A,end:z,size:X}=a,$=u;for(;X<0;)if(a.next(),X==-1){let k=s[E];x.push(k),R.push(A-Q);return}else if(X==-3){c=E;return}else if(X==-4){u=E;return}else throw new RangeError(`Unrecognized record size: ${X}`);let te=l[E],le,xe,Ee=A-Q;if(z-A<=n&&(xe=g(a.pos-b,P))){let k=new Uint16Array(xe.size-xe.skip),De=a.pos-xe.size,qe=k.length;for(;a.pos>De;)qe=O(xe.start,k,qe);le=new fn(k,z-xe.start,i),Ee=xe.start-Q}else{let k=a.pos-X;a.next();let De=[],qe=[],S=E>=o?E:-1,Ue=0,ur=z;for(;a.pos>k;)S>=0&&a.id==S&&a.size>=0?(a.end<=ur-n&&(p(De,qe,A,Ue,a.end,ur,S,$),Ue=De.length,ur=a.end),a.next()):B>2500?d(A,k,De,qe):h(A,k,De,qe,S,B+1);if(S>=0&&Ue>0&&Ue-1&&Ue>0){let Le=f(te);le=ng(te,De,qe,0,De.length,0,z-A,Le,Le)}else le=m(te,De,qe,z-A,$-z)}x.push(le),R.push(Ee)}function d(Q,b,x,R){let P=[],B=0,E=-1;for(;a.pos>b;){let{id:A,start:z,end:X,size:$}=a;if($>4)a.next();else{if(E>-1&&z=0;X-=3)A[$++]=P[X],A[$++]=P[X+1]-z,A[$++]=P[X+2]-z,A[$++]=$;x.push(new fn(A,P[2]-z,i)),R.push(z-Q)}}function f(Q){return(b,x,R)=>{let P=0,B=b.length-1,E,A;if(B>=0&&(E=b[B])instanceof ne){if(!B&&E.type==Q&&E.length==R)return E;(A=E.prop(K.lookAhead))&&(P=x[B]+E.length+A)}return m(Q,b,x,R,P)}}function p(Q,b,x,R,P,B,E,A){let z=[],X=[];for(;Q.length>R;)z.push(Q.pop()),X.push(b.pop()+x-P);Q.push(m(i.types[E],z,X,B-P,A-B)),b.push(P-x)}function m(Q,b,x,R,P=0,B){if(c){let E=[K.contextHash,c];B=B?[E].concat(B):[E]}if(P>25){let E=[K.lookAhead,P];B=B?[E].concat(B):[E]}return new ne(Q,b,x,R,B)}function g(Q,b){let x=a.fork(),R=0,P=0,B=0,E=x.end-n,A={size:0,start:0,skip:0};e:for(let z=x.pos-Q;x.pos>z;){let X=x.size;if(x.id==b&&X>=0){A.size=R,A.start=P,A.skip=B,B+=4,R+=4,x.next();continue}let $=x.pos-X;if(X<0||$=o?4:0,le=x.start;for(x.next();x.pos>$;){if(x.size<0)if(x.size==-3)te+=4;else break e;else x.id>=o&&(te+=4);x.next()}P=le,R+=X,B+=te}return(b<0||R==Q)&&(A.size=R,A.start=P,A.skip=B),A.size>4?A:void 0}function O(Q,b,x){let{id:R,start:P,end:B,size:E}=a;if(a.next(),E>=0&&R4){let z=a.pos-(E-4);for(;a.pos>z;)x=O(Q,b,x)}b[--x]=A,b[--x]=B-Q,b[--x]=P-Q,b[--x]=R}else E==-3?c=R:E==-4&&(u=R);return x}let w=[],v=[];for(;a.pos>0;)h(r.start||0,r.bufferStart||0,w,v,-1,0);let C=(e=r.length)!==null&&e!==void 0?e:w.length?v[0]+w[0].length:0;return new ne(l[r.topID],w.reverse(),v.reverse(),C)}const kb=new WeakMap;function Ic(r,e){if(!r.isAnonymous||e instanceof fn||e.type!=r)return 1;let t=kb.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=r||!(i instanceof ne)){t=1;break}t+=Ic(r,i)}kb.set(e,t)}return t}function ng(r,e,t,i,n,s,o,a,l){let c=0;for(let p=i;p=u)break;b+=x}if(v==C+1){if(b>u){let x=p[C];f(x.children,x.positions,0,x.children.length,m[C]+w);continue}h.push(p[C])}else{let x=m[v-1]+p[v-1].length-Q;h.push(ng(r,p,m,C,v,Q,x,null,l))}d.push(Q+w-s)}}return f(e,t,i,n,0),(a||l)(h,d,o)}class jS{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let n=this.map.get(e);n||this.map.set(e,n=new Map),n.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof zr?this.setBuffer(e.context.buffer,e.index,t):e instanceof ht&&this.map.set(e.tree,t)}get(e){return e instanceof zr?this.getBuffer(e.context.buffer,e.index):e instanceof ht?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class wi{constructor(e,t,i,n,s=!1,o=!1){this.from=e,this.to=t,this.tree=i,this.offset=n,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let n=[new wi(0,e.length,e,0,!1,i)];for(let s of t)s.to>e.length&&n.push(s);return n}static applyChanges(e,t,i=128){if(!t.length)return e;let n=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let u=a=i)for(;o&&o.from=d.from||h<=d.to||c){let f=Math.max(d.from,l)-c,p=Math.min(d.to,h)-c;d=f>=p?null:new wi(f,p,d.tree,d.offset+c,a>0,!!u)}if(d&&n.push(d),o.to>h)break;o=snew tr(n.from,n.to)):[new tr(0,0)]:[new tr(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let n=this.startParse(e,t,i);for(;;){let s=n.advance();if(s)return s}}}class sI{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function US(r){return(e,t,i,n)=>new aI(e,r,t,i,n)}class xb{constructor(e,t,i,n,s){this.parser=e,this.parse=t,this.overlay=i,this.target=n,this.from=s}}function Sb(r){if(!r.length||r.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(r))}class oI{constructor(e,t,i,n,s,o,a){this.parser=e,this.predicate=t,this.mounts=i,this.index=n,this.start=s,this.target=o,this.prev=a,this.depth=0,this.ranges=[]}}const Zp=new K({perNode:!0});class aI{constructor(e,t,i,n,s){this.nest=t,this.input=i,this.fragments=n,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let n of this.inner)n.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new ne(i.type,i.children,i.positions,i.length,i.propValues.concat([[Zp,this.stoppedAt]]))),i}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[K.mounted.id]=new ja(t,e.overlay,e.parser),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(n)){if(t){let c=t.mounts.find(u=>u.frag.from<=n.from&&u.frag.to>=n.to&&u.mount.overlay);if(c)for(let u of c.mount.overlay){let h=u.from+c.pos,d=u.to+c.pos;h>=n.from&&d<=n.to&&!t.ranges.some(f=>f.fromh)&&t.ranges.push({from:h,to:d})}}a=!1}else if(i&&(o=lI(i.ranges,n.from,n.to)))a=o!=2;else if(!n.type.isAnonymous&&(s=this.nest(n,this.input))&&(n.fromnew tr(h.from-n.from,h.to-n.from)):null,n.tree,u.length?u[0].from:n.from)),s.overlay?u.length&&(i={ranges:u,depth:0,prev:i}):a=!1}}else t&&(l=t.predicate(n))&&(l===!0&&(l=new tr(n.from,n.to)),l.fromnew tr(u.from-t.start,u.to-t.start)),t.target,c[0].from))),t=t.prev}i&&!--i.depth&&(i=i.prev)}}}}function lI(r,e,t){for(let i of r){if(i.from>=t)break;if(i.to>e)return i.from<=e&&i.to>=t?2:1}return 0}function Cb(r,e,t,i,n,s){if(e=e&&t.enter(i,1,we.IgnoreOverlays|we.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof ne)t=t.children[0];else break}return!1}}let uI=class{constructor(r){var e;if(this.fragments=r,this.curTo=0,this.fragI=0,r.length){let t=this.curFrag=r[0];this.curTo=(e=t.tree.prop(Zp))!==null&&e!==void 0?e:t.to,this.inner=new Qb(t.tree,-t.offset)}else this.curFrag=this.inner=null}hasNode(r){for(;this.curFrag&&r.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=r.from&&this.curTo>=r.to&&this.inner.hasNode(r)}nextFrag(){var r;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let e=this.curFrag=this.fragments[this.fragI];this.curTo=(r=e.tree.prop(Zp))!==null&&r!==void 0?r:e.to,this.inner=new Qb(e.tree,-e.offset)}}findMounts(r,e){var t;let i=[];if(this.inner){this.inner.cursor.moveTo(r,1);for(let n=this.inner.cursor.node;n;n=n.parent){let s=(t=n.tree)===null||t===void 0?void 0:t.prop(K.mounted);if(s&&s.parser==e)for(let o=this.fragI;o=n.to)break;a.tree==this.curFrag.tree&&i.push({frag:a,pos:n.from-a.offset,mount:s})}}}return i}};function $b(r,e){let t=null,i=e;for(let n=1,s=0;n=a)break;l.to<=o||(t||(i=t=e.slice()),l.froma&&t.splice(s+1,0,new tr(a,l.to))):l.to>a?t[s--]=new tr(a,l.to):t.splice(s--,1))}}return i}function hI(r,e,t,i){let n=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let u=n==r.length?1e9:o?r[n].to:r[n].from,h=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let d=Math.max(l,t),f=Math.min(u,h,i);dnew tr(d.from+i,d.to+i)),h=hI(e,u,l,c);for(let d=0,f=l;;d++){let p=d==h.length,m=p?c:h[d].from;if(m>f&&t.push(new wi(f,m,n.tree,-o,s.from>=f||s.openStart,s.to<=m||s.openEnd)),p)break;f=h[d].to}}else t.push(new wi(l,c,n.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}let dI=0;class pr{constructor(e,t,i){this.set=e,this.base=t,this.modified=i,this.id=dI++}static define(e){if(e!=null&&e.base)throw new Error("Can not derive from a modified tag");let t=new pr([],null,[]);if(t.set.push(t),e)for(let i of e.set)t.set.push(i);return t}static defineModifier(){let e=new hu;return t=>t.modified.indexOf(e)>-1?t:hu.get(t.base||t,t.modified.concat(e).sort((i,n)=>i.id-n.id))}}let fI=0;class hu{constructor(){this.instances=[],this.id=fI++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(a=>a.base==e&&pI(t,a.modified));if(i)return i;let n=[],s=new pr(n,e,t);for(let a of t)a.instances.push(s);let o=mI(t);for(let a of e.set)if(!a.modified.length)for(let l of o)n.push(hu.get(a,l));return s}}function pI(r,e){return r.length==e.length&&r.every((t,i)=>t==e[i])}function mI(r){let e=[[]];for(let t=0;ti.length-t.length)}function wo(r){let e=Object.create(null);for(let t in r){let i=r[t];Array.isArray(i)||(i=[i]);for(let n of t.split(" "))if(n){let s=[],o=2,a=n;for(let h=0;;){if(a=="..."&&h>0&&h+3==n.length){o=1;break}let d=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!d)throw new RangeError("Invalid path: "+n);if(s.push(d[0]=="*"?"":d[0][0]=='"'?JSON.parse(d[0]):d[0]),h+=d[0].length,h==n.length)break;let f=n[h++];if(h==n.length&&f=="!"){o=0;break}if(f!="/")throw new RangeError("Invalid path: "+n);a=n.slice(h)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+n);let u=new du(i,o,l>0?s.slice(0,l):null);e[c]=u.sort(e[c])}}return _S.add(e)}const _S=new K;class du{constructor(e,t,i,n){this.tags=e,this.mode=t,this.context=i,this.next=n}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=n;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:i}}function gI(r,e){let t=null;for(let i of r){let n=i.style(e);n&&(t=t?t+" "+n:n)}return t}function OI(r,e,t,i=0,n=r.length){let s=new yI(i,Array.isArray(e)?e:[e],t);s.highlightRange(r.cursor(),i,n,"",s.highlighters),s.flush(n)}class yI{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,n,s){let{type:o,from:a,to:l}=e;if(a>=i||l<=t)return;o.isTop&&(s=this.highlighters.filter(f=>!f.scope||f.scope(o)));let c=n,u=bI(e)||du.empty,h=gI(s,u.tags);if(h&&(c&&(c+=" "),c+=h,u.mode==1&&(n+=(n?" ":"")+h)),this.startSpan(Math.max(t,a),c),u.opaque)return;let d=e.tree&&e.tree.prop(K.mounted);if(d&&d.overlay){let f=e.node.enter(d.overlay[0].from+a,1),p=this.highlighters.filter(g=>!g.scope||g.scope(d.tree.type)),m=e.firstChild();for(let g=0,O=a;;g++){let w=g=v||!e.nextSibling())););if(!w||v>i)break;O=w.to+a,O>t&&(this.highlightRange(f.cursor(),Math.max(t,w.from+a),Math.min(i,O),"",p),this.startSpan(Math.min(i,O),c))}m&&e.parent()}else if(e.firstChild()){d&&(n="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,n,s),this.startSpan(Math.min(i,e.to),c)}while(e.nextSibling());e.parent()}}}function bI(r){let e=r.type.prop(_S);for(;e&&e.context&&!r.matchContext(e.context);)e=e.next;return e||null}const I=pr.define,Ll=I(),qi=I(),Db=I(qi),Tb=I(qi),Li=I(),Xl=I(Li),kd=I(Li),Zr=I(),Cn=I(Zr),Er=I(),Mr=I(),Np=I(),No=I(Np),Yl=I(),y={comment:Ll,lineComment:I(Ll),blockComment:I(Ll),docComment:I(Ll),name:qi,variableName:I(qi),typeName:Db,tagName:I(Db),propertyName:Tb,attributeName:I(Tb),className:I(qi),labelName:I(qi),namespace:I(qi),macroName:I(qi),literal:Li,string:Xl,docString:I(Xl),character:I(Xl),attributeValue:I(Xl),number:kd,integer:I(kd),float:I(kd),bool:I(Li),regexp:I(Li),escape:I(Li),color:I(Li),url:I(Li),keyword:Er,self:I(Er),null:I(Er),atom:I(Er),unit:I(Er),modifier:I(Er),operatorKeyword:I(Er),controlKeyword:I(Er),definitionKeyword:I(Er),moduleKeyword:I(Er),operator:Mr,derefOperator:I(Mr),arithmeticOperator:I(Mr),logicOperator:I(Mr),bitwiseOperator:I(Mr),compareOperator:I(Mr),updateOperator:I(Mr),definitionOperator:I(Mr),typeOperator:I(Mr),controlOperator:I(Mr),punctuation:Np,separator:I(Np),bracket:No,angleBracket:I(No),squareBracket:I(No),paren:I(No),brace:I(No),content:Zr,heading:Cn,heading1:I(Cn),heading2:I(Cn),heading3:I(Cn),heading4:I(Cn),heading5:I(Cn),heading6:I(Cn),contentSeparator:I(Zr),list:I(Zr),quote:I(Zr),emphasis:I(Zr),strong:I(Zr),link:I(Zr),monospace:I(Zr),strikethrough:I(Zr),inserted:I(),deleted:I(),changed:I(),invalid:I(),meta:Yl,documentMeta:I(Yl),annotation:I(Yl),processingInstruction:I(Yl),definition:pr.defineModifier(),constant:pr.defineModifier(),function:pr.defineModifier(),standard:pr.defineModifier(),local:pr.defineModifier(),special:pr.defineModifier()};GS([{tag:y.link,class:"tok-link"},{tag:y.heading,class:"tok-heading"},{tag:y.emphasis,class:"tok-emphasis"},{tag:y.strong,class:"tok-strong"},{tag:y.keyword,class:"tok-keyword"},{tag:y.atom,class:"tok-atom"},{tag:y.bool,class:"tok-bool"},{tag:y.url,class:"tok-url"},{tag:y.labelName,class:"tok-labelName"},{tag:y.inserted,class:"tok-inserted"},{tag:y.deleted,class:"tok-deleted"},{tag:y.literal,class:"tok-literal"},{tag:y.string,class:"tok-string"},{tag:y.number,class:"tok-number"},{tag:[y.regexp,y.escape,y.special(y.string)],class:"tok-string2"},{tag:y.variableName,class:"tok-variableName"},{tag:y.local(y.variableName),class:"tok-variableName tok-local"},{tag:y.definition(y.variableName),class:"tok-variableName tok-definition"},{tag:y.special(y.variableName),class:"tok-variableName2"},{tag:y.definition(y.propertyName),class:"tok-propertyName tok-definition"},{tag:y.typeName,class:"tok-typeName"},{tag:y.namespace,class:"tok-namespace"},{tag:y.className,class:"tok-className"},{tag:y.macroName,class:"tok-macroName"},{tag:y.propertyName,class:"tok-propertyName"},{tag:y.operator,class:"tok-operator"},{tag:y.comment,class:"tok-comment"},{tag:y.meta,class:"tok-meta"},{tag:y.invalid,class:"tok-invalid"},{tag:y.punctuation,class:"tok-punctuation"}]);var xd;const Gi=new K;function th(r){return Y.define({combine:r?e=>e.concat(r):void 0})}const sg=new K;class Lt{constructor(e,t,i=[],n=""){this.data=e,this.name=n,re.prototype.hasOwnProperty("tree")||Object.defineProperty(re.prototype,"tree",{get(){return Oe(this)}}),this.parser=t,this.extension=[pn.of(this),re.languageData.of((s,o,a)=>{let l=Pb(s,o,a),c=l.type.prop(Gi);if(!c)return[];let u=s.facet(c),h=l.type.prop(sg);if(h){let d=l.resolve(o-l.from,a);for(let f of h)if(f.test(d,s)){let p=s.facet(f.facet);return f.type=="replace"?p:p.concat(u)}}return u})].concat(i)}isActiveAt(e,t,i=-1){return Pb(e,t,i).type.prop(Gi)==this.data}findRegions(e){let t=e.facet(pn);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],n=(s,o)=>{if(s.prop(Gi)==this.data){i.push({from:o,to:o+s.length});return}let a=s.prop(K.mounted);if(a){if(a.tree.prop(Gi)==this.data){if(a.overlay)for(let l of a.overlay)i.push({from:l.from+o,to:l.to+o});else i.push({from:o,to:o+s.length});return}else if(a.overlay){let l=i.length;if(n(a.tree,a.overlay[0].from+o),i.length>l)return}}for(let l=0;li.isTop?t:void 0)]}),e.name)}configure(e,t){return new ao(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Oe(r){let e=r.field(Lt.state,!1);return e?e.tree:ne.empty}class wI{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let Fo=null;class cs{constructor(e,t,i=[],n,s,o,a,l){this.parser=e,this.state=t,this.fragments=i,this.tree=n,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new cs(e,t,[],ne.empty,0,i,[],null)}startParse(){return this.parser.startParse(new wI(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=ne.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let n=Date.now()+e;e=()=>Date.now()>n}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(wi.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Fo;Fo=this;try{return e()}finally{Fo=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Eb(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:n,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,u,h,d)=>l.push({fromA:c,toA:u,fromB:h,toB:d})),i=wi.applyChanges(i,l),n=ne.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let u=e.mapPos(c.from,1),h=e.mapPos(c.to,-1);ue.from&&(this.fragments=Eb(this.fragments,n,s),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends eh{createParse(t,i,n){let s=n[0].from,o=n[n.length-1].to;return{parsedPos:s,advance(){let a=Fo;if(a){for(let l of n)a.tempSkipped.push(l);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=o,new ne(Xe.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Fo}}function Eb(r,e,t){return wi.applyChanges(r,[{fromA:e,toA:t,fromB:e,toB:t}])}class lo{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new lo(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=cs.create(e.facet(pn).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new lo(i)}}Lt.state=Ye.define({create:lo.init,update(r,e){for(let t of e.effects)if(t.is(Lt.setState))return t.value;return e.startState.facet(pn)!=e.state.facet(pn)?lo.init(e.state):r.apply(e)}});let HS=r=>{let e=setTimeout(()=>r(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(HS=r=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(r,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const Sd=typeof navigator<"u"&&!((xd=navigator.scheduling)===null||xd===void 0)&&xd.isInputPending?()=>navigator.scheduling.isInputPending():null,vI=Ne.fromClass(class{constructor(r){this.view=r,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(r){let e=this.view.state.field(Lt.state).context;(e.updateViewport(r.view.viewport)||this.view.viewport.to>e.treeLen)&&this.scheduleWork(),(r.docChanged||r.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(e)}scheduleWork(){if(this.working)return;let{state:r}=this.view,e=r.field(Lt.state);(e.tree!=e.context.tree||!e.context.isDone(r.doc.length))&&(this.working=HS(this.work))}work(r){this.working=null;let e=Date.now();if(this.chunkEndi+1e3,a=n.context.work(()=>Sd&&Sd()||Date.now()>s,i+(o?0:1e5));this.chunkBudget-=Date.now()-e,(a||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:Lt.setState.of(new lo(n.context))})),this.chunkBudget>0&&!(a&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(r){r.scheduleOn&&(this.workScheduled++,r.scheduleOn.then(()=>this.scheduleWork()).catch(e=>Ot(this.view.state,e)).then(()=>this.workScheduled--),r.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),pn=Y.define({combine(r){return r.length?r[0]:null},enables:r=>[Lt.state,vI,q.contentAttributes.compute([r],e=>{let t=e.facet(r);return t&&t.name?{"data-language":t.name}:{}})]});class _a{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class fu{constructor(e,t,i,n,s,o=void 0){this.name=e,this.alias=t,this.extensions=i,this.filename=n,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:i}=e;if(!t){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(i)}return new fu(e.name,(e.alias||[]).concat(e.name).map(n=>n.toLowerCase()),e.extensions||[],e.filename,t,i)}static matchFilename(e,t){for(let n of e)if(n.filename&&n.filename.test(t))return n;let i=/\.([^.]+)$/.exec(t);if(i){for(let n of e)if(n.extensions.indexOf(i[1])>-1)return n}return null}static matchLanguageName(e,t,i=!0){t=t.toLowerCase();for(let n of e)if(n.alias.some(s=>s==t))return n;if(i)for(let n of e)for(let s of n.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return n}return null}}const KS=Y.define(),vo=Y.define({combine:r=>{if(!r.length)return" ";let e=r[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(r[0]));return e}});function us(r){let e=r.facet(vo);return e.charCodeAt(0)==9?r.tabSize*e.length:e.length}function Ga(r,e){let t="",i=r.tabSize,n=r.facet(vo)[0];if(n==" "){for(;e>=i;)t+=" ",e-=i;n=" "}for(let s=0;s=e?kI(r,t,e):null}class rh{constructor(e,t={}){this.state=e,this.options=t,this.unit=us(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:s}=this.options;return n!=null&&n>=i.from&&n<=i.to?s&&n==e?{text:"",from:e}:(t<0?n-1&&(s+=o-this.countColumn(i,i.search(/\S|$/))),s}countColumn(e,t=e.length){return Sr(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:n}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(n);if(o>-1)return o}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const dl=new K;function kI(r,e,t){let i=e.resolveStack(t),n=i.node.enterUnfinishedNodesBefore(t);if(n!=i.node){let s=[];for(let o=n;o!=i.node;o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)i={node:s[o],next:i}}return JS(i,r,t)}function JS(r,e,t){for(let i=r;i;i=i.next){let n=SI(i.node);if(n)return n(ag.create(e,t,i))}return 0}function xI(r){return r.pos==r.options.simulateBreak&&r.options.simulateDoubleBreak}function SI(r){let e=r.type.prop(dl);if(e)return e;let t=r.firstChild,i;if(t&&(i=t.type.prop(K.closedBy))){let n=r.lastChild,s=n&&i.indexOf(n.name)>-1;return o=>eC(o,!0,1,void 0,s&&!xI(o)?n.from:void 0)}return r.parent==null?CI:null}function CI(){return 0}class ag extends rh{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new ag(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(QI(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return JS(this.context.next,this.base,this.pos)}}function QI(r,e){for(let t=e;t;t=t.parent)if(r==t)return!0;return!1}function $I(r){let e=r.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let n=r.options.simulateBreak,s=r.state.doc.lineAt(t.from),o=n==null||n<=s.from?s.to:Math.min(s.to,n);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==i)return null;if(!l.type.isSkipped)return l.fromeC(i,e,t,r)}function eC(r,e,t,i,n){let s=r.textAfter,o=s.match(/^\s*/)[0].length,a=i&&s.slice(o,o+i.length)==i||n==r.pos+o,l=e?$I(r):null;return l?a?r.column(l.from):r.column(l.to):r.baseIndent+(a?0:r.unit*t)}const DI=r=>r.baseIndent;function Bc({except:r,units:e=1}={}){return t=>{let i=r&&r.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}const TI=200;function PI(){return re.transactionFilter.of(r=>{if(!r.docChanged||!r.isUserEvent("input.type")&&!r.isUserEvent("input.complete"))return r;let e=r.startState.languageDataAt("indentOnInput",r.startState.selection.main.head);if(!e.length)return r;let t=r.newDoc,{head:i}=r.newSelection.main,n=t.lineAt(i);if(i>n.from+TI)return r;let s=t.sliceString(n.from,i);if(!e.some(c=>c.test(s)))return r;let{state:o}=r,a=-1,l=[];for(let{head:c}of o.selection.ranges){let u=o.doc.lineAt(c);if(u.from==a)continue;a=u.from;let h=og(o,u.from);if(h==null)continue;let d=/^\s*/.exec(u.text)[0],f=Ga(o,h);d!=f&&l.push({from:u.from,to:u.from+d.length,insert:f})}return l.length?[r,{changes:l,sequential:!0}]:r})}const tC=Y.define(),ko=new K;function rC(r){let e=r.firstChild,t=r.lastChild;return e&&e.tot)continue;if(s&&a.from=e&&c.to>t&&(s=c)}}return s}function MI(r){let e=r.lastChild;return e&&e.to==r.to&&e.type.isError}function pu(r,e,t){for(let i of r.facet(tC)){let n=i(r,e,t);if(n)return n}return EI(r,e,t)}function iC(r,e){let t=e.mapPos(r.from,1),i=e.mapPos(r.to,-1);return t>=i?void 0:{from:t,to:i}}const ih=ee.define({map:iC}),fl=ee.define({map:iC});function nC(r){let e=[];for(let{head:t}of r.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(r.lineBlockAt(t));return e}const hs=Ye.define({create(){return U.none},update(r,e){r=r.map(e.changes);for(let t of e.effects)if(t.is(ih)&&!RI(r,t.value.from,t.value.to)){let{preparePlaceholder:i}=e.state.facet(lg),n=i?U.replace({widget:new LI(i(e.state,t.value))}):Mb;r=r.update({add:[n.range(t.value.from,t.value.to)]})}else t.is(fl)&&(r=r.update({filter:(i,n)=>t.value.from!=i||t.value.to!=n,filterFrom:t.value.from,filterTo:t.value.to}));if(e.selection){let t=!1,{head:i}=e.selection.main;r.between(i,i,(n,s)=>{ni&&(t=!0)}),t&&(r=r.update({filterFrom:i,filterTo:i,filter:(n,s)=>s<=i||n>=i}))}return r},provide:r=>q.decorations.from(r),toJSON(r,e){let t=[];return r.between(0,e.doc.length,(i,n)=>{t.push(i,n)}),t},fromJSON(r){if(!Array.isArray(r)||r.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{(!n||n.from>s)&&(n={from:s,to:o})}),n}function RI(r,e,t){let i=!1;return r.between(e,e,(n,s)=>{n==e&&s==t&&(i=!0)}),i}function sC(r,e){return r.field(hs,!1)?e:e.concat(ee.appendConfig.of(aC()))}const ZI=r=>{for(let e of nC(r)){let t=pu(r.state,e.from,e.to);if(t)return r.dispatch({effects:sC(r.state,[ih.of(t),oC(r,t)])}),!0}return!1},NI=r=>{if(!r.state.field(hs,!1))return!1;let e=[];for(let t of nC(r)){let i=mu(r.state,t.from,t.to);i&&e.push(fl.of(i),oC(r,i,!1))}return e.length&&r.dispatch({effects:e}),e.length>0};function oC(r,e,t=!0){let i=r.state.doc.lineAt(e.from).number,n=r.state.doc.lineAt(e.to).number;return q.announce.of(`${r.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${r.state.phrase("to")} ${n}.`)}const FI=r=>{let{state:e}=r,t=[];for(let i=0;i{let e=r.state.field(hs,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,r.state.doc.length,(i,n)=>{t.push(fl.of({from:i,to:n}))}),r.dispatch({effects:t}),!0},BI=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:ZI},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:NI},{key:"Ctrl-Alt-[",run:FI},{key:"Ctrl-Alt-]",run:II}],qI={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},lg=Y.define({combine(r){return Ar(r,qI)}});function aC(r){let e=[hs,VI];return r&&e.push(lg.of(r)),e}function lC(r,e){let{state:t}=r,i=t.facet(lg),n=o=>{let a=r.lineBlockAt(r.posAtDOM(o.target)),l=mu(r.state,a.from,a.to);l&&r.dispatch({effects:fl.of(l)}),o.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(r,n,e);let s=document.createElement("span");return s.textContent=i.placeholderText,s.setAttribute("aria-label",t.phrase("folded code")),s.title=t.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=n,s}const Mb=U.replace({widget:new class extends si{toDOM(r){return lC(r,null)}}});class LI extends si{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return lC(e,this.value)}}const XI={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Cd extends ri{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function YI(r={}){let e=Object.assign(Object.assign({},XI),r),t=new Cd(e,!0),i=new Cd(e,!1),n=Ne.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet(pn)!=o.state.facet(pn)||o.startState.field(hs,!1)!=o.state.field(hs,!1)||Oe(o.startState)!=Oe(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new un;for(let l of o.viewportLineBlocks){let c=mu(o.state,l.from,l.to)?i:pu(o.state,l.from,l.to)?t:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:s}=e;return[n,qS({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(n))===null||a===void 0?void 0:a.markers)||se.empty},initialSpacer(){return new Cd(e,!1)},domEventHandlers:Object.assign(Object.assign({},s),{click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let c=mu(o.state,a.from,a.to);if(c)return o.dispatch({effects:fl.of(c)}),!0;let u=pu(o.state,a.from,a.to);return u?(o.dispatch({effects:ih.of(u)}),!0):!1}})}),aC()]}const VI=q.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class pl{constructor(e,t){this.specs=e;let i;function n(a){let l=hn.newName();return(i||(i=Object.create(null)))["."+l]=a,l}const s=typeof t.all=="string"?t.all:t.all?n(t.all):void 0,o=t.scope;this.scope=o instanceof Lt?a=>a.prop(Gi)==o.data:o?a=>a==o:void 0,this.style=GS(e.map(a=>({tag:a.tag,class:a.class||n(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=i?new hn(i):null,this.themeType=t.themeType}static define(e,t){return new pl(e,t||{})}}const Fp=Y.define(),cC=Y.define({combine(r){return r.length?[r[0]]:null}});function Qd(r){let e=r.facet(Fp);return e.length?e:r.facet(cC)}function uC(r,e){let t=[WI],i;return r instanceof pl&&(r.module&&t.push(q.styleModule.of(r.module)),i=r.themeType),e!=null&&e.fallback?t.push(cC.of(r)):i?t.push(Fp.computeN([q.darkTheme],n=>n.facet(q.darkTheme)==(i=="dark")?[r]:[])):t.push(Fp.of(r)),t}class zI{constructor(e){this.markCache=Object.create(null),this.tree=Oe(e.state),this.decorations=this.buildDeco(e,Qd(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=Oe(e.state),i=Qd(e.state),n=i!=Qd(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||n)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return U.none;let i=new un;for(let{from:n,to:s}of e.visibleRanges)OI(this.tree,t,(o,a,l)=>{i.add(o,a,this.markCache[l]||(this.markCache[l]=U.mark({class:l})))},n,s);return i.finish()}}const WI=bn.high(Ne.fromClass(zI,{decorations:r=>r.decorations})),jI=pl.define([{tag:y.meta,color:"#404740"},{tag:y.link,textDecoration:"underline"},{tag:y.heading,textDecoration:"underline",fontWeight:"bold"},{tag:y.emphasis,fontStyle:"italic"},{tag:y.strong,fontWeight:"bold"},{tag:y.strikethrough,textDecoration:"line-through"},{tag:y.keyword,color:"#708"},{tag:[y.atom,y.bool,y.url,y.contentSeparator,y.labelName],color:"#219"},{tag:[y.literal,y.inserted],color:"#164"},{tag:[y.string,y.deleted],color:"#a11"},{tag:[y.regexp,y.escape,y.special(y.string)],color:"#e40"},{tag:y.definition(y.variableName),color:"#00f"},{tag:y.local(y.variableName),color:"#30a"},{tag:[y.typeName,y.namespace],color:"#085"},{tag:y.className,color:"#167"},{tag:[y.special(y.variableName),y.macroName],color:"#256"},{tag:y.definition(y.propertyName),color:"#00c"},{tag:y.comment,color:"#940"},{tag:y.invalid,color:"#f00"}]),UI=q.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),hC=1e4,dC="()[]{}",fC=Y.define({combine(r){return Ar(r,{afterCursor:!0,brackets:dC,maxScanDistance:hC,renderMatch:HI})}}),_I=U.mark({class:"cm-matchingBracket"}),GI=U.mark({class:"cm-nonmatchingBracket"});function HI(r){let e=[],t=r.matched?_I:GI;return e.push(t.range(r.start.from,r.start.to)),r.end&&e.push(t.range(r.end.from,r.end.to)),e}const KI=Ye.define({create(){return U.none},update(r,e){if(!e.docChanged&&!e.selection)return r;let t=[],i=e.state.facet(fC);for(let n of e.state.selection.ranges){if(!n.empty)continue;let s=Wr(e.state,n.head,-1,i)||n.head>0&&Wr(e.state,n.head-1,1,i)||i.afterCursor&&(Wr(e.state,n.head,1,i)||n.headq.decorations.from(r)}),JI=[KI,UI];function eB(r={}){return[fC.of(r),JI]}const pC=new K;function Ip(r,e,t){let i=r.prop(e<0?K.openedBy:K.closedBy);if(i)return i;if(r.name.length==1){let n=t.indexOf(r.name);if(n>-1&&n%2==(e<0?1:0))return[t[n+e]]}return null}function Bp(r){let e=r.type.prop(pC);return e?e(r.node):r}function Wr(r,e,t,i={}){let n=i.maxScanDistance||hC,s=i.brackets||dC,o=Oe(r),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=Ip(l.type,t,s);if(c&&l.from0?e>=u.from&&eu.from&&e<=u.to))return tB(r,e,t,l,u,c,s)}}return rB(r,e,t,o,a.type,n,s)}function tB(r,e,t,i,n,s,o){let a=i.parent,l={from:n.from,to:n.to},c=0,u=a==null?void 0:a.cursor();if(u&&(t<0?u.childBefore(i.from):u.childAfter(i.to)))do if(t<0?u.to<=i.from:u.from>=i.to){if(c==0&&s.indexOf(u.type.name)>-1&&u.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},u=r.doc.iterRange(e,t>0?r.doc.length:0),h=0;for(let d=0;!u.next().done&&d<=s;){let f=u.value;t<0&&(d+=f.length);let p=e+d*t;for(let m=t>0?0:f.length-1,g=t>0?f.length:-1;m!=g;m+=t){let O=o.indexOf(f[m]);if(!(O<0||i.resolveInner(p+m,1).type!=n))if(O%2==0==t>0)h++;else{if(h==1)return{start:c,end:{from:p+m,to:p+m+1},matched:O>>1==l>>1};h--}}t>0&&(d+=f.length)}return u.done?{start:c,matched:!1}:null}function Rb(r,e,t,i=0,n=0){e==null&&(e=r.search(/[^\s\u00a0]/),e==-1&&(e=r.length));let s=n;for(let o=i;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosi?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return n(s)==n(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let n=this.string.slice(this.pos).match(e);return n&&n.index>0?null:(n&&t!==!1&&(this.pos+=n[0].length),n)}}current(){return this.string.slice(this.start,this.pos)}}function iB(r){return{name:r.name||"",token:r.token,blankLine:r.blankLine||(()=>{}),startState:r.startState||(()=>!0),copyState:r.copyState||nB,indent:r.indent||(()=>null),languageData:r.languageData||{},tokenTable:r.tokenTable||hg}}function nB(r){if(typeof r!="object")return r;let e={};for(let t in r){let i=r[t];e[t]=i instanceof Array?i.slice():i}return e}const Zb=new WeakMap;class cg extends Lt{constructor(e){let t=th(e.languageData),i=iB(e),n,s=new class extends eh{createParse(o,a,l){return new oB(n,o,a,l)}};super(t,s,[KS.of((o,a)=>this.getIndent(o,a))],e.name),this.topNode=cB(t),n=this,this.streamParser=i,this.stateAfter=new K({perNode:!0}),this.tokenTable=e.tokenTable?new bC(i.tokenTable):lB}static define(e){return new cg(e)}getIndent(e,t){let i=Oe(e.state),n=i.resolve(t);for(;n&&n.type!=this.topNode;)n=n.parent;if(!n)return null;let s,{overrideIndentation:o}=e.options;o&&(s=Zb.get(e.state),s!=null&&s1e4)return null;for(;l=i&&t+e.length<=n&&e.prop(r.stateAfter);if(s)return{state:r.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof ne&&l=e.length)return e;!n&&e.type==r.topNode&&(n=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],l;if(ot&&ug(r,n.tree,0-n.offset,t,o),l;if(a&&(l=gC(r,n.tree,t+n.offset,a.pos+n.offset,!1)))return{state:a.state,tree:l}}return{state:r.streamParser.startState(i?us(i):4),tree:ne.empty}}let oB=class{constructor(r,e,t,i){this.lang=r,this.input=e,this.fragments=t,this.ranges=i,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=i[i.length-1].to;let n=cs.get(),s=i[0].from,{state:o,tree:a}=sB(r,t,s,n==null?void 0:n.state);this.state=o,this.parsedPos=this.chunkStart=s+a.length;for(let l=0;l=e?this.finish():r&&this.parsedPos>=r.viewport.to?(r.skipUntilInView(this.parsedPos,e),this.finish()):null}stopAt(r){this.stoppedAt=r}lineAfter(r){let e=this.input.chunk(r);if(this.input.lineChunks)e==` +`&&(e="");else{let t=e.indexOf(` +`);t>-1&&(e=e.slice(0,t))}return r+e.length<=this.to?e:e.slice(0,this.to-r)}nextLine(){let r=this.parsedPos,e=this.lineAfter(r),t=r+e.length;for(let i=this.rangeIndex;;){let n=this.ranges[i].to;if(n>=t||(e=e.slice(0,n-(t-e.length)),i++,i==this.ranges.length))break;let s=this.ranges[i].from,o=this.lineAfter(s);e+=o,t=s+o.length}return{line:e,end:t}}skipGapsTo(r,e,t){for(;;){let i=this.ranges[this.rangeIndex].to,n=r+e;if(t>0?i>n:i>=n)break;let s=this.ranges[++this.rangeIndex].from;e+=s-i}return e}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){n=this.skipGapsTo(e,n,1),e+=n;let s=this.chunk.length;n=this.skipGapsTo(t,n,-1),t+=n,i+=this.chunk.length-s}return this.chunk.push(r,e,t,i),n}parseLine(r){let{line:e,end:t}=this.nextLine(),i=0,{streamParser:n}=this.lang,s=new mC(e,r?r.state.tabSize:4,r?us(r.state):2);if(s.eol())n.blankLine(this.state,s.indentUnit);else for(;!s.eol();){let o=OC(n.token,s,this.state);if(o&&(i=this.emitToken(this.lang.tokenTable.resolve(o),this.parsedPos+s.start,this.parsedPos+s.pos,4,i)),s.start>1e4)break}this.parsedPos=t,this.moveRangeIndex(),this.parsedPose.start)return n}throw new Error("Stream parser failed to advance stream.")}const hg=Object.create(null),Ha=[Xe.none],aB=new bo(Ha),Nb=[],Fb=Object.create(null),yC=Object.create(null);for(let[r,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])yC[r]=wC(hg,e);class bC{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),yC)}resolve(e){return e?this.table[e]||(this.table[e]=wC(this.extra,e)):0}}const lB=new bC(hg);function $d(r,e){Nb.indexOf(r)>-1||(Nb.push(r),console.warn(e))}function wC(r,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let u=r[c]||y[c];u?typeof u=="function"?l.length?l=l.map(u):$d(c,`Modifier ${c} used at start of tag`):l.length?$d(c,`Tag ${c} used as modifier`):l=Array.isArray(u)?u:[u]:$d(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),n=i+" "+t.map(a=>a.id),s=Fb[n];if(s)return s.id;let o=Fb[n]=Xe.define({id:Ha.length,name:i,props:[wo({[i]:t})]});return Ha.push(o),o.id}function cB(r){let e=Xe.define({id:Ha.length,name:"Document",props:[Gi.add(()=>r)],top:!0});return Ha.push(e),e}Ae.RTL,Ae.LTR;const uB=r=>{let{state:e}=r,t=e.doc.lineAt(e.selection.main.from),i=fg(r.state,t.from);return i.line?hB(r):i.block?fB(r):!1};function dg(r,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let n=r(e,t);return n?(i(t.update(n)),!0):!1}}const hB=dg(gB,0),dB=dg(vC,0),fB=dg((r,e)=>vC(r,e,mB(e)),0);function fg(r,e){let t=r.languageDataAt("commentTokens",e);return t.length?t[0]:{}}const Io=50;function pB(r,{open:e,close:t},i,n){let s=r.sliceDoc(i-Io,i),o=r.sliceDoc(n,n+Io),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:i-a,margin:a&&1},close:{pos:n+l,margin:l&&1}};let u,h;n-i<=2*Io?u=h=r.sliceDoc(i,n):(u=r.sliceDoc(i,i+Io),h=r.sliceDoc(n-Io,n));let d=/^\s*/.exec(u)[0].length,f=/\s*$/.exec(h)[0].length,p=h.length-f-t.length;return u.slice(d,d+e.length)==e&&h.slice(p,p+t.length)==t?{open:{pos:i+d+e.length,margin:/\s/.test(u.charAt(d+e.length))?1:0},close:{pos:n-f-t.length,margin:/\s/.test(h.charAt(p-1))?1:0}}:null}function mB(r){let e=[];for(let t of r.selection.ranges){let i=r.doc.lineAt(t.from),n=t.to<=i.to?i:r.doc.lineAt(t.to),s=e.length-1;s>=0&&e[s].to>i.from?e[s].to=n.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:n.to})}return e}function vC(r,e,t=e.selection.ranges){let i=t.map(s=>fg(e,s.from).block);if(!i.every(s=>s))return null;let n=t.map((s,o)=>pB(e,i[o],s.from,s.to));if(r!=2&&!n.every(s=>s))return{changes:e.changes(t.map((s,o)=>n[o]?[]:[{from:s.from,insert:i[o].open+" "},{from:s.to,insert:" "+i[o].close}]))};if(r!=1&&n.some(s=>s)){let s=[];for(let o=0,a;on&&(s==o||o>h.from)){n=h.from;let d=/^\s*/.exec(h.text)[0].length,f=d==h.length,p=h.text.slice(d,d+c.length)==c?d:-1;ds.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:u,single:h}of i)(h||!u)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(r!=1&&i.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of i)if(a>=0){let c=o.from+a,u=c+l.length;o.text[u-o.from]==" "&&u++,s.push({from:c,to:u})}return{changes:s}}return null}const qp=Qi.define(),OB=Qi.define(),yB=Y.define(),kC=Y.define({combine(r){return Ar(r,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,n)=>e(i,n)||t(i,n)})}});function bB(r){let e=0;return r.iterChangedRanges((t,i)=>e=i),e}const xC=Ye.define({create(){return jr.empty},update(r,e){let t=e.state.facet(kC),i=e.annotation(qp);if(i){let l=e.docChanged?D.single(bB(e.changes)):void 0,c=At.fromTransaction(e,l),u=i.side,h=u==0?r.undone:r.done;return c?h=gu(h,h.length,t.minDepth,c):h=QC(h,e.startState.selection),new jr(u==0?i.rest:h,u==0?h:i.rest)}let n=e.annotation(OB);if((n=="full"||n=="before")&&(r=r.isolate()),e.annotation(je.addToHistory)===!1)return e.changes.empty?r:r.addMapping(e.changes.desc);let s=At.fromTransaction(e),o=e.annotation(je.time),a=e.annotation(je.userEvent);return s?r=r.addChanges(s,o,a,t,e):e.selection&&(r=r.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(n=="full"||n=="after")&&(r=r.isolate()),r},toJSON(r){return{done:r.done.map(e=>e.toJSON()),undone:r.undone.map(e=>e.toJSON())}},fromJSON(r){return new jr(r.done.map(At.fromJSON),r.undone.map(At.fromJSON))}});function wB(r={}){return[xC,kC.of(r),q.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?SC:e.inputType=="historyRedo"?Lp:null;return i?(e.preventDefault(),i(t)):!1}})]}function nh(r,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let n=t.field(xC,!1);if(!n)return!1;let s=n.pop(r,t,e);return s?(i(s),!0):!1}}const SC=nh(0,!1),Lp=nh(1,!1),vB=nh(0,!0),kB=nh(1,!0);class At{constructor(e,t,i,n,s){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=n,this.selectionsAfter=s}setSelAfter(e){return new At(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(n=>n.toJSON())}}static fromJSON(e){return new At(e.changes&&ze.fromJSON(e.changes),[],e.mapped&&Gr.fromJSON(e.mapped),e.startSelection&&D.fromJSON(e.startSelection),e.selectionsAfter.map(D.fromJSON))}static fromTransaction(e,t){let i=rr;for(let n of e.startState.facet(yB)){let s=n(e);s.length&&(i=i.concat(s))}return!i.length&&e.changes.empty?null:new At(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,rr)}static selection(e){return new At(void 0,rr,void 0,void 0,e)}}function gu(r,e,t,i){let n=e+1>t+20?e-t-1:0,s=r.slice(n,e);return s.push(i),s}function xB(r,e){let t=[],i=!1;return r.iterChangedRanges((n,s)=>t.push(n,s)),e.iterChangedRanges((n,s,o,a)=>{for(let l=0;l=c&&o<=u&&(i=!0)}}),i}function SB(r,e){return r.ranges.length==e.ranges.length&&r.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function CC(r,e){return r.length?e.length?r.concat(e):r:e}const rr=[],CB=200;function QC(r,e){if(r.length){let t=r[r.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-CB));return i.length&&i[i.length-1].eq(e)?r:(i.push(e),gu(r,r.length-1,1e9,t.setSelAfter(i)))}else return[At.selection([e])]}function QB(r){let e=r[r.length-1],t=r.slice();return t[r.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Ad(r,e){if(!r.length)return r;let t=r.length,i=rr;for(;t;){let n=$B(r[t-1],e,i);if(n.changes&&!n.changes.empty||n.effects.length){let s=r.slice(0,t);return s[t-1]=n,s}else e=n.mapped,t--,i=n.selectionsAfter}return i.length?[At.selection(i)]:rr}function $B(r,e,t){let i=CC(r.selectionsAfter.length?r.selectionsAfter.map(a=>a.map(e)):rr,t);if(!r.changes)return At.selection(i);let n=r.changes.map(e),s=e.mapDesc(r.changes,!0),o=r.mapped?r.mapped.composeDesc(s):s;return new At(n,ee.mapEffects(r.effects,e),o,r.startSelection.map(s),i)}const AB=/^(input\.type|delete)($|\.)/;class jr{constructor(e,t,i=0,n=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=n}isolate(){return this.prevTime?new jr(this.done,this.undone):this}addChanges(e,t,i,n,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!i||AB.test(i))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?r.moveByChar(t,e):sh(t,e))}function pt(r){return r.textDirectionAt(r.state.selection.main.head)==Ae.LTR}const AC=r=>$C(r,!pt(r)),DC=r=>$C(r,pt(r));function TC(r,e){return Dr(r,t=>t.empty?r.moveByGroup(t,e):sh(t,e))}const TB=r=>TC(r,!pt(r)),PB=r=>TC(r,pt(r));function EB(r,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(r.sliceDoc(e.from,e.to)))||e.firstChild}function oh(r,e,t){let i=Oe(r).resolveInner(e.head),n=t?K.closedBy:K.openedBy;for(let l=e.head;;){let c=t?i.childAfter(l):i.childBefore(l);if(!c)break;EB(r,c,n)?i=c:l=t?c.to:c.from}let s=i.type.prop(n),o,a;return s&&(o=t?Wr(r,i.from,1):Wr(r,i.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?i.to:i.from,D.cursor(a,t?-1:1)}const MB=r=>Dr(r,e=>oh(r.state,e,!pt(r))),RB=r=>Dr(r,e=>oh(r.state,e,pt(r)));function PC(r,e){return Dr(r,t=>{if(!t.empty)return sh(t,e);let i=r.moveVertically(t,e);return i.head!=t.head?i:r.moveToLineBoundary(t,e)})}const EC=r=>PC(r,!1),MC=r=>PC(r,!0);function RC(r){let e=r.scrollDOM.clientHeighto.empty?r.moveVertically(o,e,t.height):sh(o,e));if(n.eq(i.selection))return!1;let s;if(t.selfScroll){let o=r.coordsAtPos(i.selection.main.head),a=r.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottomZC(r,!1),Xp=r=>ZC(r,!0);function wn(r,e,t){let i=r.lineBlockAt(e.head),n=r.moveToLineBoundary(e,t);if(n.head==e.head&&n.head!=(t?i.to:i.from)&&(n=r.moveToLineBoundary(e,t,!1)),!t&&n.head==i.from&&i.length){let s=/^\s*/.exec(r.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;s&&e.head!=i.from+s&&(n=D.cursor(i.from+s))}return n}const ZB=r=>Dr(r,e=>wn(r,e,!0)),NB=r=>Dr(r,e=>wn(r,e,!1)),FB=r=>Dr(r,e=>wn(r,e,!pt(r))),IB=r=>Dr(r,e=>wn(r,e,pt(r))),BB=r=>Dr(r,e=>D.cursor(r.lineBlockAt(e.head).from,1)),qB=r=>Dr(r,e=>D.cursor(r.lineBlockAt(e.head).to,-1));function LB(r,e,t){let i=!1,n=xo(r.selection,s=>{let o=Wr(r,s.head,-1)||Wr(r,s.head,1)||s.head>0&&Wr(r,s.head-1,1)||s.headLB(r,e,!1);function lr(r,e){let t=xo(r.state.selection,i=>{let n=e(i);return D.range(i.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)});return t.eq(r.state.selection)?!1:(r.dispatch(oi(r.state,t)),!0)}function NC(r,e){return lr(r,t=>r.moveByChar(t,e))}const FC=r=>NC(r,!pt(r)),IC=r=>NC(r,pt(r));function BC(r,e){return lr(r,t=>r.moveByGroup(t,e))}const YB=r=>BC(r,!pt(r)),VB=r=>BC(r,pt(r)),zB=r=>lr(r,e=>oh(r.state,e,!pt(r))),WB=r=>lr(r,e=>oh(r.state,e,pt(r)));function qC(r,e){return lr(r,t=>r.moveVertically(t,e))}const LC=r=>qC(r,!1),XC=r=>qC(r,!0);function YC(r,e){return lr(r,t=>r.moveVertically(t,e,RC(r).height))}const Bb=r=>YC(r,!1),qb=r=>YC(r,!0),jB=r=>lr(r,e=>wn(r,e,!0)),UB=r=>lr(r,e=>wn(r,e,!1)),_B=r=>lr(r,e=>wn(r,e,!pt(r))),GB=r=>lr(r,e=>wn(r,e,pt(r))),HB=r=>lr(r,e=>D.cursor(r.lineBlockAt(e.head).from)),KB=r=>lr(r,e=>D.cursor(r.lineBlockAt(e.head).to)),Lb=({state:r,dispatch:e})=>(e(oi(r,{anchor:0})),!0),Xb=({state:r,dispatch:e})=>(e(oi(r,{anchor:r.doc.length})),!0),Yb=({state:r,dispatch:e})=>(e(oi(r,{anchor:r.selection.main.anchor,head:0})),!0),Vb=({state:r,dispatch:e})=>(e(oi(r,{anchor:r.selection.main.anchor,head:r.doc.length})),!0),JB=({state:r,dispatch:e})=>(e(r.update({selection:{anchor:0,head:r.doc.length},userEvent:"select"})),!0),eq=({state:r,dispatch:e})=>{let t=ah(r).map(({from:i,to:n})=>D.range(i,Math.min(n+1,r.doc.length)));return e(r.update({selection:D.create(t),userEvent:"select"})),!0},tq=({state:r,dispatch:e})=>{let t=xo(r.selection,i=>{var n;let s=Oe(r).resolveStack(i.from,1);for(let o=s;o;o=o.next){let{node:a}=o;if((a.from=i.to||a.to>i.to&&a.from<=i.from)&&!((n=a.parent)===null||n===void 0)&&n.parent)return D.range(a.to,a.from)}return i});return e(oi(r,t)),!0},rq=({state:r,dispatch:e})=>{let t=r.selection,i=null;return t.ranges.length>1?i=D.create([t.main]):t.main.empty||(i=D.create([D.cursor(t.main.head)])),i?(e(oi(r,i)),!0):!1};function ml(r,e){if(r.state.readOnly)return!1;let t="delete.selection",{state:i}=r,n=i.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);lo&&(t="delete.forward",l=Vl(r,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Vl(r,o,!1),a=Vl(r,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:D.cursor(o,on(r)))i.between(e,e,(n,s)=>{ne&&(e=t?s:n)});return e}const VC=(r,e)=>ml(r,t=>{let i=t.from,{state:n}=r,s=n.doc.lineAt(i),o,a;if(!e&&i>s.from&&iVC(r,!1),zC=r=>VC(r,!0),WC=(r,e)=>ml(r,t=>{let i=t.head,{state:n}=r,s=n.doc.lineAt(i),o=n.charCategorizer(i);for(let a=null;;){if(i==(e?s.to:s.from)){i==t.head&&s.number!=(e?n.doc.lines:1)&&(i+=e?1:-1);break}let l=ct(s.text,i-s.from,e)+s.from,c=s.text.slice(Math.min(i,l)-s.from,Math.max(i,l)-s.from),u=o(c);if(a!=null&&u!=a)break;(c!=" "||i!=t.head)&&(a=u),i=l}return i}),jC=r=>WC(r,!1),iq=r=>WC(r,!0),nq=r=>ml(r,e=>{let t=r.lineBlockAt(e.head).to;return e.headml(r,e=>{let t=r.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),oq=r=>ml(r,e=>{let t=r.moveToLineBoundary(e,!0).head;return e.head{if(r.readOnly)return!1;let t=r.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:ue.of(["",""])},range:D.cursor(i.from)}));return e(r.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},lq=({state:r,dispatch:e})=>{if(r.readOnly)return!1;let t=r.changeByRange(i=>{if(!i.empty||i.from==0||i.from==r.doc.length)return{range:i};let n=i.from,s=r.doc.lineAt(n),o=n==s.from?n-1:ct(s.text,n-s.from,!1)+s.from,a=n==s.to?n+1:ct(s.text,n-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:r.doc.slice(n,a).append(r.doc.slice(o,n))},range:D.cursor(a)}});return t.changes.empty?!1:(e(r.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function ah(r){let e=[],t=-1;for(let i of r.selection.ranges){let n=r.doc.lineAt(i.from),s=r.doc.lineAt(i.to);if(!i.empty&&i.to==s.from&&(s=r.doc.lineAt(i.to-1)),t>=n.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(i)}else e.push({from:n.from,to:s.to,ranges:[i]});t=s.number+1}return e}function UC(r,e,t){if(r.readOnly)return!1;let i=[],n=[];for(let s of ah(r)){if(t?s.to==r.doc.length:s.from==0)continue;let o=r.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){i.push({from:s.to,to:o.to},{from:s.from,insert:o.text+r.lineBreak});for(let l of s.ranges)n.push(D.range(Math.min(r.doc.length,l.anchor+a),Math.min(r.doc.length,l.head+a)))}else{i.push({from:o.from,to:s.from},{from:s.to,insert:r.lineBreak+o.text});for(let l of s.ranges)n.push(D.range(l.anchor-a,l.head-a))}}return i.length?(e(r.update({changes:i,scrollIntoView:!0,selection:D.create(n,r.selection.mainIndex),userEvent:"move.line"})),!0):!1}const cq=({state:r,dispatch:e})=>UC(r,e,!1),uq=({state:r,dispatch:e})=>UC(r,e,!0);function _C(r,e,t){if(r.readOnly)return!1;let i=[];for(let n of ah(r))t?i.push({from:n.from,insert:r.doc.slice(n.from,n.to)+r.lineBreak}):i.push({from:n.to,insert:r.lineBreak+r.doc.slice(n.from,n.to)});return e(r.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const hq=({state:r,dispatch:e})=>_C(r,e,!1),dq=({state:r,dispatch:e})=>_C(r,e,!0),fq=r=>{if(r.state.readOnly)return!1;let{state:e}=r,t=e.changes(ah(e).map(({from:n,to:s})=>(n>0?n--:sr.moveVertically(n,!0)).map(t);return r.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function pq(r,e){if(/\(\)|\[\]|\{\}/.test(r.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=Oe(r).resolveInner(e),i=t.childBefore(e),n=t.childAfter(e),s;return i&&n&&i.to<=e&&n.from>=e&&(s=i.type.prop(K.closedBy))&&s.indexOf(n.name)>-1&&r.doc.lineAt(i.to).from==r.doc.lineAt(n.from).from&&!/\S/.test(r.sliceDoc(i.to,n.from))?{from:i.to,to:n.from}:null}const mq=GC(!1),gq=GC(!0);function GC(r){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(n=>{let{from:s,to:o}=n,a=e.doc.lineAt(s),l=!r&&s==o&&pq(e,s);r&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new rh(e,{simulateBreak:s,simulateDoubleBreak:!!l}),u=og(c,s);for(u==null&&(u=Sr(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));oa.from&&s{let n=[];for(let o=i.from;o<=i.to;){let a=r.doc.lineAt(o);a.number>t&&(i.empty||i.to>a.from)&&(e(a,n,i),t=a.number),o=a.to+1}let s=r.changes(n);return{changes:n,range:D.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}const Oq=({state:r,dispatch:e})=>{if(r.readOnly)return!1;let t=Object.create(null),i=new rh(r,{overrideIndentation:s=>t[s]??-1}),n=pg(r,(s,o,a)=>{let l=og(i,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],u=Ga(r,l);(c!=u||a.fromr.readOnly?!1:(e(r.update(pg(r,(t,i)=>{i.push({from:t.from,insert:r.facet(vo)})}),{userEvent:"input.indent"})),!0),KC=({state:r,dispatch:e})=>r.readOnly?!1:(e(r.update(pg(r,(t,i)=>{let n=/^\s*/.exec(t.text)[0];if(!n)return;let s=Sr(n,r.tabSize),o=0,a=Ga(r,Math.max(0,s-us(r)));for(;o({mac:r.key,run:r.run,shift:r.shift}))),wq=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:MB,shift:zB},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:RB,shift:WB},{key:"Alt-ArrowUp",run:cq},{key:"Shift-Alt-ArrowUp",run:hq},{key:"Alt-ArrowDown",run:uq},{key:"Shift-Alt-ArrowDown",run:dq},{key:"Escape",run:rq},{key:"Mod-Enter",run:gq},{key:"Alt-l",mac:"Ctrl-l",run:eq},{key:"Mod-i",run:tq,preventDefault:!0},{key:"Mod-[",run:KC},{key:"Mod-]",run:HC},{key:"Mod-Alt-\\",run:Oq},{key:"Shift-Mod-k",run:fq},{key:"Shift-Mod-\\",run:XB},{key:"Mod-/",run:uB},{key:"Alt-A",run:dB}].concat(bq),vq={key:"Tab",run:HC,shift:KC};function be(){var r=arguments[0];typeof r=="string"&&(r=document.createElement(r));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var n=t[i];typeof n=="string"?r.setAttribute(i,n):n!=null&&(r[i]=n)}e++}for(;er.normalize("NFKD"):r=>r;class co{constructor(e,t,i=0,n=e.length,s,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,n),this.bufferStart=i,this.normalize=s?a=>s(zb(a)):zb,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return rt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=zm(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=Kt(e);let n=this.normalize(t);for(let s=0,o=i;;s++){let a=n.charCodeAt(s),l=this.match(a,o);if(s==n.length-1){if(l)return this.value=l,this;break}o==i&&sthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,n=i+t[0].length;if(this.matchPos=Ou(this.text,n+(i==n?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,n,t)))return this.value={from:i,to:n,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||n.to<=t){let a=new Us(t,e.sliceString(t,i));return Dd.set(e,a),a}if(n.from==t&&n.to==i)return n;let{text:s,from:o}=n;return o>t&&(s=e.sliceString(t,o)+s,o=t),n.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,n=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,n,t)))return this.value={from:i,to:n,match:t},this.matchPos=Ou(this.text,n+(i==n?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Us.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(tQ.prototype[Symbol.iterator]=rQ.prototype[Symbol.iterator]=function(){return this});function kq(r){try{return new RegExp(r,mg),!0}catch{return!1}}function Ou(r,e){if(e>=r.length)return e;let t=r.lineAt(e),i;for(;e=56320&&i<57344;)e++;return e}function Vp(r){let e=String(r.state.doc.lineAt(r.state.selection.main.head).number),t=be("input",{class:"cm-textfield",name:"line",value:e}),i=be("form",{class:"cm-gotoLine",onkeydown:s=>{s.keyCode==27?(s.preventDefault(),r.dispatch({effects:yu.of(!1)}),r.focus()):s.keyCode==13&&(s.preventDefault(),n())},onsubmit:s=>{s.preventDefault(),n()}},be("label",r.state.phrase("Go to line"),": ",t)," ",be("button",{class:"cm-button",type:"submit"},r.state.phrase("go")));function n(){let s=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!s)return;let{state:o}=r,a=o.doc.lineAt(o.selection.main.head),[,l,c,u,h]=s,d=u?+u.slice(1):0,f=c?+c:a.number;if(c&&h){let g=f/100;l&&(g=g*(l=="-"?-1:1)+a.number/o.doc.lines),f=Math.round(o.doc.lines*g)}else c&&l&&(f=f*(l=="-"?-1:1)+a.number);let p=o.doc.line(Math.max(1,Math.min(o.doc.lines,f))),m=D.cursor(p.from+Math.max(0,Math.min(d,p.length)));r.dispatch({effects:[yu.of(!1),q.scrollIntoView(m.from,{y:"center"})],selection:m}),r.focus()}return{dom:i}}const yu=ee.define(),Wb=Ye.define({create(){return!0},update(r,e){for(let t of e.effects)t.is(yu)&&(r=t.value);return r},provide:r=>Wa.from(r,e=>e?Vp:null)}),xq=r=>{let e=za(r,Vp);if(!e){let t=[yu.of(!0)];r.state.field(Wb,!1)==null&&t.push(ee.appendConfig.of([Wb,Sq])),r.dispatch({effects:t}),e=za(r,Vp)}return e&&e.dom.querySelector("input").select(),!0},Sq=q.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),Cq={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},iQ=Y.define({combine(r){return Ar(r,Cq,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function Qq(r){let e=[Pq,Tq];return r&&e.push(iQ.of(r)),e}const $q=U.mark({class:"cm-selectionMatch"}),Aq=U.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function jb(r,e,t,i){return(t==0||r(e.sliceDoc(t-1,t))!=Te.Word)&&(i==e.doc.length||r(e.sliceDoc(i,i+1))!=Te.Word)}function Dq(r,e,t,i){return r(e.sliceDoc(t,t+1))==Te.Word&&r(e.sliceDoc(i-1,i))==Te.Word}const Tq=Ne.fromClass(class{constructor(r){this.decorations=this.getDeco(r)}update(r){(r.selectionSet||r.docChanged||r.viewportChanged)&&(this.decorations=this.getDeco(r.view))}getDeco(r){let e=r.state.facet(iQ),{state:t}=r,i=t.selection;if(i.ranges.length>1)return U.none;let n=i.main,s,o=null;if(n.empty){if(!e.highlightWordAroundCursor)return U.none;let l=t.wordAt(n.head);if(!l)return U.none;o=t.charCategorizer(n.head),s=t.sliceDoc(l.from,l.to)}else{let l=n.to-n.from;if(l200)return U.none;if(e.wholeWords){if(s=t.sliceDoc(n.from,n.to),o=t.charCategorizer(n.head),!(jb(o,t,n.from,n.to)&&Dq(o,t,n.from,n.to)))return U.none}else if(s=t.sliceDoc(n.from,n.to).trim(),!s)return U.none}let a=[];for(let l of r.visibleRanges){let c=new co(t.doc,s,l.from,l.to);for(;!c.next().done;){let{from:u,to:h}=c.value;if((!o||jb(o,t,u,h))&&(n.empty&&u<=n.from&&h>=n.to?a.push(Aq.range(u,h)):(u>=n.to||h<=n.from)&&a.push($q.range(u,h)),a.length>e.maxMatches))return U.none}}return U.set(a)}},{decorations:r=>r.decorations}),Pq=q.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Eq=({state:r,dispatch:e})=>{let{selection:t}=r,i=D.create(t.ranges.map(n=>r.wordAt(n.head)||D.cursor(n.head)),t.mainIndex);return i.eq(t)?!1:(e(r.update({selection:i})),!0)};function Mq(r,e){let{main:t,ranges:i}=r.selection,n=r.wordAt(t.head),s=n&&n.from==t.from&&n.to==t.to;for(let o=!1,a=new co(r.doc,e,i[i.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new co(r.doc,e,0,Math.max(0,i[i.length-1].from-1)),o=!0}else{if(o&&i.some(l=>l.from==a.value.from))continue;if(s){let l=r.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const Rq=({state:r,dispatch:e})=>{let{ranges:t}=r.selection;if(t.some(s=>s.from===s.to))return Eq({state:r,dispatch:e});let i=r.sliceDoc(t[0].from,t[0].to);if(r.selection.ranges.some(s=>r.sliceDoc(s.from,s.to)!=i))return!1;let n=Mq(r,i);return n?(e(r.update({selection:r.selection.addRange(D.range(n.from,n.to),!1),effects:q.scrollIntoView(n.to)})),!0):!1},So=Y.define({combine(r){return Ar(r,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Wq(e),scrollToMatch:e=>q.scrollIntoView(e)})}});class nQ{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||kq(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?` +`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new Iq(this):new Nq(this)}getCursor(e,t=0,i){let n=e.doc?e:re.create({doc:e});return i==null&&(i=n.doc.length),this.regexp?Es(this,n,t,i):Ps(this,n,t,i)}}class sQ{constructor(e){this.spec=e}}function Ps(r,e,t,i){return new co(e.doc,r.unquoted,t,i,r.caseSensitive?void 0:n=>n.toLowerCase(),r.wholeWord?Zq(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function Zq(r,e){return(t,i,n,s)=>((s>t||s+n.length=t)return null;n.push(i.value)}return n}highlight(e,t,i,n){let s=Ps(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}}function Es(r,e,t,i){return new tQ(e.doc,r.search,{ignoreCase:!r.caseSensitive,test:r.wholeWord?Fq(e.charCategorizer(e.selection.main.head)):void 0},t,i)}function bu(r,e){return r.slice(ct(r,e,!1),e)}function wu(r,e){return r.slice(e,ct(r,e))}function Fq(r){return(e,t,i)=>!i[0].length||(r(bu(i.input,i.index))!=Te.Word||r(wu(i.input,i.index))!=Te.Word)&&(r(wu(i.input,i.index+i[0].length))!=Te.Word||r(bu(i.input,i.index+i[0].length))!=Te.Word)}class Iq extends sQ{nextMatch(e,t,i){let n=Es(this.spec,e,i,e.doc.length).next();return n.done&&(n=Es(this.spec,e,0,t).next()),n.done?null:n.value}prevMatchInRange(e,t,i){for(let n=1;;n++){let s=Math.max(t,i-n*1e4),o=Es(this.spec,e,s,i),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g,(t,i)=>i=="$"?"$":i=="&"?e.match[0]:i!="0"&&+i=t)return null;n.push(i.value)}return n}highlight(e,t,i,n){let s=Es(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}}const Ka=ee.define(),gg=ee.define(),on=Ye.define({create(r){return new Td(zp(r).create(),null)},update(r,e){for(let t of e.effects)t.is(Ka)?r=new Td(t.value.create(),r.panel):t.is(gg)&&(r=new Td(r.query,t.value?Og:null));return r},provide:r=>Wa.from(r,e=>e.panel)});class Td{constructor(e,t){this.query=e,this.panel=t}}const Bq=U.mark({class:"cm-searchMatch"}),qq=U.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Lq=Ne.fromClass(class{constructor(r){this.view=r,this.decorations=this.highlight(r.state.field(on))}update(r){let e=r.state.field(on);(e!=r.startState.field(on)||r.docChanged||r.selectionSet||r.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:r,panel:e}){if(!e||!r.spec.valid)return U.none;let{view:t}=this,i=new un;for(let n=0,s=t.visibleRanges,o=s.length;ns[n+1].from-2*250;)l=s[++n].to;r.highlight(t.state,a,l,(c,u)=>{let h=t.state.selection.ranges.some(d=>d.from==c&&d.to==u);i.add(c,u,h?qq:Bq)})}return i.finish()}},{decorations:r=>r.decorations});function gl(r){return e=>{let t=e.state.field(on,!1);return t&&t.query.spec.valid?r(e,t):lQ(e)}}const vu=gl((r,{query:e})=>{let{to:t}=r.state.selection.main,i=e.nextMatch(r.state,t,t);if(!i)return!1;let n=D.single(i.from,i.to),s=r.state.facet(So);return r.dispatch({selection:n,effects:[yg(r,i),s.scrollToMatch(n.main,r)],userEvent:"select.search"}),aQ(r),!0}),ku=gl((r,{query:e})=>{let{state:t}=r,{from:i}=t.selection.main,n=e.prevMatch(t,i,i);if(!n)return!1;let s=D.single(n.from,n.to),o=r.state.facet(So);return r.dispatch({selection:s,effects:[yg(r,n),o.scrollToMatch(s.main,r)],userEvent:"select.search"}),aQ(r),!0}),Xq=gl((r,{query:e})=>{let t=e.matchAll(r.state,1e3);return!t||!t.length?!1:(r.dispatch({selection:D.create(t.map(i=>D.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),Yq=({state:r,dispatch:e})=>{let t=r.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:n}=t.main,s=[],o=0;for(let a=new co(r.doc,r.sliceDoc(i,n));!a.next().done;){if(s.length>1e3)return!1;a.value.from==i&&(o=s.length),s.push(D.range(a.value.from,a.value.to))}return e(r.update({selection:D.create(s,o),userEvent:"select.search.matches"})),!0},Ub=gl((r,{query:e})=>{let{state:t}=r,{from:i,to:n}=t.selection.main;if(t.readOnly)return!1;let s=e.nextMatch(t,i,i);if(!s)return!1;let o=[],a,l,c=[];if(s.from==i&&s.to==n&&(l=t.toText(e.getReplacement(s)),o.push({from:s.from,to:s.to,insert:l}),s=e.nextMatch(t,s.from,s.to),c.push(q.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+"."))),s){let u=o.length==0||o[0].from>=s.to?0:s.to-s.from-l.length;a=D.single(s.from-u,s.to-u),c.push(yg(r,s)),c.push(t.facet(So).scrollToMatch(a.main,r))}return r.dispatch({changes:o,selection:a,effects:c,userEvent:"input.replace"}),!0}),Vq=gl((r,{query:e})=>{if(r.state.readOnly)return!1;let t=e.matchAll(r.state,1e9).map(n=>{let{from:s,to:o}=n;return{from:s,to:o,insert:e.getReplacement(n)}});if(!t.length)return!1;let i=r.state.phrase("replaced $ matches",t.length)+".";return r.dispatch({changes:t,effects:q.announce.of(i),userEvent:"input.replace.all"}),!0});function Og(r){return r.state.facet(So).createPanel(r)}function zp(r,e){var t,i,n,s,o;let a=r.selection.main,l=a.empty||a.to>a.from+100?"":r.sliceDoc(a.from,a.to);if(e&&!l)return e;let c=r.facet(So);return new nQ({search:((t=e==null?void 0:e.literal)!==null&&t!==void 0?t:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(i=e==null?void 0:e.caseSensitive)!==null&&i!==void 0?i:c.caseSensitive,literal:(n=e==null?void 0:e.literal)!==null&&n!==void 0?n:c.literal,regexp:(s=e==null?void 0:e.regexp)!==null&&s!==void 0?s:c.regexp,wholeWord:(o=e==null?void 0:e.wholeWord)!==null&&o!==void 0?o:c.wholeWord})}function oQ(r){let e=za(r,Og);return e&&e.dom.querySelector("[main-field]")}function aQ(r){let e=oQ(r);e&&e==r.root.activeElement&&e.select()}const lQ=r=>{let e=r.state.field(on,!1);if(e&&e.panel){let t=oQ(r);if(t&&t!=r.root.activeElement){let i=zp(r.state,e.query.spec);i.valid&&r.dispatch({effects:Ka.of(i)}),t.focus(),t.select()}}else r.dispatch({effects:[gg.of(!0),e?Ka.of(zp(r.state,e.query.spec)):ee.appendConfig.of(Uq)]});return!0},cQ=r=>{let e=r.state.field(on,!1);if(!e||!e.panel)return!1;let t=za(r,Og);return t&&t.dom.contains(r.root.activeElement)&&r.focus(),r.dispatch({effects:gg.of(!1)}),!0},zq=[{key:"Mod-f",run:lQ,scope:"editor search-panel"},{key:"F3",run:vu,shift:ku,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:vu,shift:ku,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:cQ,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Yq},{key:"Alt-g",run:xq},{key:"Mod-d",run:Rq,preventDefault:!0}];class Wq{constructor(e){this.view=e;let t=this.query=e.state.field(on).query.spec;this.commit=this.commit.bind(this),this.searchField=be("input",{value:t.search,placeholder:Rt(e,"Find"),"aria-label":Rt(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=be("input",{value:t.replace,placeholder:Rt(e,"Replace"),"aria-label":Rt(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=be("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=be("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=be("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(n,s,o){return be("button",{class:"cm-button",name:n,onclick:s,type:"button"},o)}this.dom=be("div",{onkeydown:n=>this.keydown(n),class:"cm-search"},[this.searchField,i("next",()=>vu(e),[Rt(e,"next")]),i("prev",()=>ku(e),[Rt(e,"previous")]),i("select",()=>Xq(e),[Rt(e,"all")]),be("label",null,[this.caseField,Rt(e,"match case")]),be("label",null,[this.reField,Rt(e,"regexp")]),be("label",null,[this.wordField,Rt(e,"by word")]),...e.state.readOnly?[]:[be("br"),this.replaceField,i("replace",()=>Ub(e),[Rt(e,"replace")]),i("replaceAll",()=>Vq(e),[Rt(e,"replace all")])],be("button",{name:"close",onclick:()=>cQ(e),"aria-label":Rt(e,"close"),type:"button"},["×"])])}commit(){let e=new nQ({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Ka.of(e)}))}keydown(e){JF(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ku:vu)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),Ub(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is(Ka)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(So).top}}function Rt(r,e){return r.state.phrase(e)}const zl=30,Wl=/[\s\.,:;?!]/;function yg(r,{from:e,to:t}){let i=r.state.doc.lineAt(e),n=r.state.doc.lineAt(t).to,s=Math.max(i.from,e-zl),o=Math.min(n,t+zl),a=r.state.sliceDoc(s,o);if(s!=i.from){for(let l=0;la.length-zl;l--)if(!Wl.test(a[l-1])&&Wl.test(a[l])){a=a.slice(0,l);break}}return q.announce.of(`${r.state.phrase("current match")}. ${a} ${r.state.phrase("on line")} ${i.number}.`)}const jq=q.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Uq=[on,bn.low(Lq),jq];class bg{constructor(e,t,i){this.state=e,this.pos=t,this.explicit=i,this.abortListeners=[]}tokenBefore(e){let t=Oe(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),n=t.text.slice(i-t.from,this.pos-t.from),s=n.search(hQ(e,!1));return s<0?null:{from:i+s,to:this.pos,text:n.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t){e=="abort"&&this.abortListeners&&this.abortListeners.push(t)}}function _b(r){let e=Object.keys(r).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function _q(r){let e=Object.create(null),t=Object.create(null);for(let{label:n}of r){e[n[0]]=!0;for(let s=1;stypeof n=="string"?{label:n}:n),[t,i]=e.every(n=>/^\w+$/.test(n.label))?[/\w*$/,/\w+$/]:_q(e);return n=>{let s=n.matchBefore(i);return s||n.explicit?{from:s?s.from:n.pos,options:e,validFor:t}:null}}function Gq(r,e){return t=>{for(let i=Oe(t.state).resolveInner(t.pos,-1);i;i=i.parent){if(r.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(t)}}class Gb{constructor(e,t,i,n){this.completion=e,this.source=t,this.match=i,this.score=n}}function an(r){return r.selection.main.from}function hQ(r,e){var t;let{source:i}=r,n=e&&i[0]!="^",s=i[i.length-1]!="$";return!n&&!s?r:new RegExp(`${n?"^":""}(?:${i})${s?"$":""}`,(t=r.flags)!==null&&t!==void 0?t:r.ignoreCase?"i":"")}const dQ=Qi.define();function Hq(r,e,t,i){let{main:n}=r.selection,s=t-n.from,o=i-n.from;return Object.assign(Object.assign({},r.changeByRange(a=>a!=n&&t!=i&&r.sliceDoc(a.from+s,a.from+o)!=r.sliceDoc(t,i)?{range:a}:{changes:{from:a.from+s,to:i==n.from?a.to:a.from+o,insert:e},range:D.cursor(a.from+s+e.length)})),{scrollIntoView:!0,userEvent:"input.complete"})}const Hb=new WeakMap;function Kq(r){if(!Array.isArray(r))return r;let e=Hb.get(r);return e||Hb.set(r,e=uQ(r)),e}const wg=ee.define(),Ja=ee.define();class Jq{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&Q<=57||Q>=97&&Q<=122?2:Q>=65&&Q<=90?1:0:(b=zm(Q))!=b.toLowerCase()?1:b!=b.toUpperCase()?2:0;(!w||x==1&&g||C==0&&x!=0)&&(t[h]==Q||i[h]==Q&&(d=!0)?o[h++]=w:o.length&&(O=!1)),C=x,w+=Kt(Q)}return h==l&&o[0]==0&&O?this.result(-100+(d?-200:0),o,e):f==l&&p==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):f==l?this.ret(-900-e.length,[p,m]):h==l?this.result(-100+(d?-200:0)+-700+(O?0:-1100),o,e):t.length==2?!1:this.result((n[0]?-700:0)+-200+-1100,n,e)}result(e,t,i){let n=[],s=0;for(let o of t){let a=o+(this.astral?Kt(rt(i,o)):1);s&&n[s-1]==o?n[s-1]=a:(n[s++]=o,n[s++]=a)}return this.ret(e-i.length,n)}}const lt=Y.define({combine(r){return Ar(r,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:eL,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>Kb(e(i),t(i)),optionClass:(e,t)=>i=>Kb(e(i),t(i)),addToOptions:(e,t)=>e.concat(t)})}});function Kb(r,e){return r?e?r+" "+e:r:e}function eL(r,e,t,i,n,s){let o=r.textDirection==Ae.RTL,a=o,l=!1,c="top",u,h,d=e.left-n.left,f=n.right-e.right,p=i.right-i.left,m=i.bottom-i.top;if(a&&d=m||w>e.top?u=t.bottom-e.top:(c="bottom",u=e.bottom-t.top)}let g=(e.bottom-e.top)/s.offsetHeight,O=(e.right-e.left)/s.offsetWidth;return{style:`${c}: ${u/g}px; max-width: ${h/O}px`,class:"cm-completionInfo-"+(l?o?"left-narrow":"right-narrow":a?"left":"right")}}function tL(r){let e=r.addToOptions.slice();return r.icons&&e.push({render(t){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),t.type&&i.classList.add(...t.type.split(/\s+/g).map(n=>"cm-completionIcon-"+n)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(t,i,n){let s=document.createElement("span");s.className="cm-completionLabel";let o=t.displayLabel||t.label,a=0;for(let l=0;la&&s.appendChild(document.createTextNode(o.slice(a,c)));let h=s.appendChild(document.createElement("span"));h.appendChild(document.createTextNode(o.slice(c,u))),h.className="cm-completionMatchedText",a=u}return at.position-i.position).map(t=>t.render)}function Pd(r,e,t){if(r<=t)return{from:0,to:r};if(e<0&&(e=0),e<=r>>1){let n=Math.floor(e/t);return{from:n*t,to:(n+1)*t}}let i=Math.floor((r-e)/t);return{from:r-(i+1)*t,to:r-i*t}}class rL{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let n=e.state.field(t),{options:s,selected:o}=n.open,a=e.state.facet(lt);this.optionContent=tL(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Pd(s.length,o,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:c}=e.state.field(t).open;for(let u=l.target,h;u&&u!=this.dom;u=u.parentNode)if(u.nodeName=="LI"&&(h=/-(\d+)$/.exec(u.id))&&+h[1]{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(lt).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Ja.of(null)})}),this.showOptions(s,n.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),n=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=n){let{options:s,selected:o,disabled:a}=i.open;(!n.open||n.open.options!=s)&&(this.range=Pd(s.length,o,e.state.facet(lt).maxRenderedOptions),this.showOptions(s,i.id)),this.updateSel(),a!=((t=n.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of t.split(" "))i&&this.dom.classList.add(i);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=Pd(t.options.length,t.selected,this.view.state.facet(lt).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:n}=i;if(!n)return;let s=typeof n=="string"?document.createTextNode(n):n(i);if(!s)return;"then"in s?s.then(o=>{o&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(o,i)}).catch(o=>Ot(this.view.state,o,"completion info")):this.addInfoPane(s,i)}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:n,destroy:s}=e;i.appendChild(n),this.infoDestroy=s||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,n=this.range.from;i;i=i.nextSibling,n++)i.nodeName!="LI"||!i.id?n--:n==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected");return t&&nL(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),n=e.getBoundingClientRect(),s=this.space;if(!s){let o=this.dom.ownerDocument.defaultView||window;s={left:0,top:0,right:o.innerWidth,bottom:o.innerHeight}}return n.top>Math.min(s.bottom,t.bottom)-10||n.bottomi.from||i.from==0))if(s=d,typeof c!="string"&&c.header)n.appendChild(c.header(c));else{let f=n.appendChild(document.createElement("completion-section"));f.textContent=d}}const u=n.appendChild(document.createElement("li"));u.id=t+"-"+o,u.setAttribute("role","option");let h=this.optionClass(a);h&&(u.className=h);for(let d of this.optionContent){let f=d(a,this.view.state,l);f&&u.appendChild(f)}}return i.from&&n.classList.add("cm-completionListIncompleteTop"),i.tonew rL(t,r,e)}function nL(r,e){let t=r.getBoundingClientRect(),i=e.getBoundingClientRect(),n=t.height/r.offsetHeight;i.topt.bottom&&(r.scrollTop+=(i.bottom-t.bottom)/n)}function Jb(r){return(r.boost||0)*100+(r.apply?10:0)+(r.info?5:0)+(r.type?1:0)}function sL(r,e){let t=[],i=null,n=l=>{t.push(l);let{section:c}=l.completion;if(c){i||(i=[]);let u=typeof c=="string"?c:c.name;i.some(h=>h.name==u)||i.push(typeof c=="string"?{name:u}:c)}};for(let l of r)if(l.hasResult()){let c=l.result.getMatch;if(l.result.filter===!1)for(let u of l.result.options)n(new Gb(u,l.source,c?c(u):[],1e9-t.length));else{let u=new Jq(e.sliceDoc(l.from,l.to));for(let h of l.result.options)if(u.match(h.label)){let d=h.displayLabel?c?c(h,u.matched):[]:u.matched;n(new Gb(h,l.source,d,u.score+(h.boost||0)))}}}if(i){let l=Object.create(null),c=0,u=(h,d)=>{var f,p;return((f=h.rank)!==null&&f!==void 0?f:1e9)-((p=d.rank)!==null&&p!==void 0?p:1e9)||(h.nameu.score-c.score||a(c.completion,u.completion))){let c=l.completion;!o||o.label!=c.label||o.detail!=c.detail||o.type!=null&&c.type!=null&&o.type!=c.type||o.apply!=c.apply||o.boost!=c.boost?s.push(l):Jb(l.completion)>Jb(o)&&(s[s.length-1]=l),o=l.completion}return s}class Zs{constructor(e,t,i,n,s,o){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=n,this.selected=s,this.disabled=o}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new Zs(this.options,e1(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,n,s){let o=sL(e,t);if(!o.length)return n&&e.some(l=>l.state==1)?new Zs(n.options,n.attrs,n.tooltip,n.timestamp,n.selected,!0):null;let a=t.facet(lt).selectOnOpen?0:-1;if(n&&n.selected!=a&&n.selected!=-1){let l=n.options[n.selected].completion;for(let c=0;cc.hasResult()?Math.min(l,c.from):l,1e8),create:uL,above:s.aboveCursor},n?n.timestamp:Date.now(),a,!1)}map(e){return new Zs(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class xu{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new xu(lL,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,i=t.facet(lt),n=(i.override||t.languageDataAt("autocomplete",an(t)).map(Kq)).map(o=>(this.active.find(a=>a.source==o)||new $t(o,this.active.some(a=>a.state!=0)?1:0)).update(e,i));n.length==this.active.length&&n.every((o,a)=>o==this.active[a])&&(n=this.active);let s=this.open;s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(o=>o.hasResult()&&e.changes.touchesRange(o.from,o.to))||!oL(n,this.active)?s=Zs.build(n,t,this.id,s,i):s&&s.disabled&&!n.some(o=>o.state==1)&&(s=null),!s&&n.every(o=>o.state!=1)&&n.some(o=>o.hasResult())&&(n=n.map(o=>o.hasResult()?new $t(o.source,0):o));for(let o of e.effects)o.is(pQ)&&(s=s&&s.setSelected(o.value,this.id));return n==this.active&&s==this.open?this:new xu(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:aL}}function oL(r,e){if(r==e)return!0;for(let t=0,i=0;;){for(;t-1&&(t["aria-activedescendant"]=r+"-"+e),t}const lL=[];function Wp(r){return r.isUserEvent("input.type")?"input":r.isUserEvent("delete.backward")?"delete":null}class $t{constructor(e,t,i=-1){this.source=e,this.state=t,this.explicitPos=i}hasResult(){return!1}update(e,t){let i=Wp(e),n=this;i?n=n.handleUserEvent(e,i,t):e.docChanged?n=n.handleChange(e):e.selection&&n.state!=0&&(n=new $t(n.source,0));for(let s of e.effects)if(s.is(wg))n=new $t(n.source,1,s.value?an(e.state):-1);else if(s.is(Ja))n=new $t(n.source,0);else if(s.is(fQ))for(let o of s.value)o.source==n.source&&(n=o);return n}handleUserEvent(e,t,i){return t=="delete"||!i.activateOnTyping?this.map(e.changes):new $t(this.source,1)}handleChange(e){return e.changes.touchesRange(an(e.startState))?new $t(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new $t(this.source,this.state,e.mapPos(this.explicitPos))}}class _s extends $t{constructor(e,t,i,n,s){super(e,2,t),this.result=i,this.from=n,this.to=s}hasResult(){return!0}handleUserEvent(e,t,i){var n;let s=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),a=an(e.state);if((this.explicitPos<0?a<=s:ao||t=="delete"&&an(e.startState)==this.from)return new $t(this.source,t=="input"&&i.activateOnTyping?1:0);let l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos),c;return cL(this.result.validFor,e.state,s,o)?new _s(this.source,l,this.result,s,o):this.result.update&&(c=this.result.update(this.result,s,o,new bg(e.state,a,l>=0)))?new _s(this.source,l,c,c.from,(n=c.to)!==null&&n!==void 0?n:an(e.state)):new $t(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new $t(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new _s(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}function cL(r,e,t,i){if(!r)return!1;let n=e.sliceDoc(t,i);return typeof r=="function"?r(n,t,i,e):hQ(r,!0).test(n)}const fQ=ee.define({map(r,e){return r.map(t=>t.map(e))}}),pQ=ee.define(),Bt=Ye.define({create(){return xu.start()},update(r,e){return r.update(e)},provide:r=>[Ku.from(r,e=>e.tooltip),q.contentAttributes.from(r,e=>e.attrs)]});function mQ(r,e){const t=e.completion.apply||e.completion.label;let i=r.state.field(Bt).active.find(n=>n.source==e.source);return i instanceof _s?(typeof t=="string"?r.dispatch(Object.assign(Object.assign({},Hq(r.state,t,i.from,i.to)),{annotations:dQ.of(e.completion)})):t(r,e.completion,i.from,i.to),!0):!1}const uL=iL(Bt,mQ);function jl(r,e="option"){return t=>{let i=t.state.field(Bt,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+n*(r?1:-1):r?0:o-1;return a<0?a=e=="page"?0:o-1:a>=o&&(a=e=="page"?o-1:0),t.dispatch({effects:pQ.of(a)}),!0}}const hL=r=>{let e=r.state.field(Bt,!1);return r.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampr.state.field(Bt,!1)?(r.dispatch({effects:wg.of(!0)}),!0):!1,fL=r=>{let e=r.state.field(Bt,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(r.dispatch({effects:Ja.of(null)}),!0)};class pL{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const mL=50,gL=1e3,OL=Ne.fromClass(class{constructor(r){this.view=r,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let e of r.state.field(Bt).active)e.state==1&&this.startQuery(e)}update(r){let e=r.state.field(Bt);if(!r.selectionSet&&!r.docChanged&&r.startState.field(Bt)==e)return;let t=r.transactions.some(i=>(i.selection||i.docChanged)&&!Wp(i));for(let i=0;imL&&Date.now()-n.time>gL){for(let s of n.context.abortListeners)try{s()}catch(o){Ot(this.view.state,o)}n.context.abortListeners=null,this.running.splice(i--,1)}else n.updates.push(...r.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=e.active.some(i=>i.state==1&&!this.running.some(n=>n.active.source==i.source))?setTimeout(()=>this.startUpdate(),50):-1,this.composing!=0)for(let i of r.transactions)Wp(i)=="input"?this.composing=2:this.composing==2&&i.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:r}=this.view,e=r.field(Bt);for(let t of e.active)t.state==1&&!this.running.some(i=>i.active.source==t.source)&&this.startQuery(t)}startQuery(r){let{state:e}=this.view,t=an(e),i=new bg(e,t,r.explicitPos==t),n=new pL(r,i);this.running.push(n),Promise.resolve(r.source(i)).then(s=>{n.context.aborted||(n.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:Ja.of(null)}),Ot(this.view.state,s)})}scheduleAccept(){this.running.every(r=>r.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(lt).updateSyncTime))}accept(){var r;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(lt);for(let i=0;io.source==n.active.source);if(s&&s.state==1)if(n.done==null){let o=new $t(n.active.source,0);for(let a of n.updates)o=o.update(a,t);o.state!=1&&e.push(o)}else this.startQuery(s)}e.length&&this.view.dispatch({effects:fQ.of(e)})}},{eventHandlers:{blur(r){let e=this.view.state.field(Bt,!1);if(e&&e.tooltip&&this.view.state.facet(lt).closeOnBlur){let t=e.open&&IS(this.view,e.open.tooltip);(!t||!t.dom.contains(r.relatedTarget))&&this.view.dispatch({effects:Ja.of(null)})}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:wg.of(!1)}),20),this.composing=0}}}),gQ=q.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class yL{constructor(e,t,i,n){this.field=e,this.line=t,this.from=i,this.to=n}}class vg{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,it.TrackDel),i=e.mapPos(this.to,1,it.TrackDel);return t==null||i==null?null:new vg(this.field,t,i)}}class kg{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],n=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(i.length){let c=o,u=/^\t*/.exec(l)[0].length;for(let h=0;hnew vg(l.field,n[l.line]+l.from,n[l.line]+l.to));return{text:i,ranges:a}}static parse(e){let t=[],i=[],n=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",c=-1;for(let u=0;u=c&&h.field++}n.push(new yL(c,i.length,s.index,s.index+l.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}for(let a;a=/\\([{}])/.exec(o);){o=o.slice(0,a.index)+a[1]+o.slice(a.index+a[0].length);for(let l of n)l.line==i.length&&l.from>a.index&&(l.from--,l.to--)}i.push(o)}return new kg(i,n)}}let bL=U.widget({widget:new class extends si{toDOM(){let r=document.createElement("span");return r.className="cm-snippetFieldPosition",r}ignoreEvent(){return!1}}}),wL=U.mark({class:"cm-snippetField"});class Co{constructor(e,t){this.ranges=e,this.active=t,this.deco=U.set(e.map(i=>(i.from==i.to?bL:wL).range(i.from,i.to)))}map(e){let t=[];for(let i of this.ranges){let n=i.map(e);if(!n)return null;t.push(n)}return new Co(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(i=>i.field==this.active&&i.from<=t.from&&i.to>=t.to))}}const Ol=ee.define({map(r,e){return r&&r.map(e)}}),vL=ee.define(),el=Ye.define({create(){return null},update(r,e){for(let t of e.effects){if(t.is(Ol))return t.value;if(t.is(vL)&&r)return new Co(r.ranges,t.value)}return r&&e.docChanged&&(r=r.map(e.changes)),r&&e.selection&&!r.selectionInsideField(e.selection)&&(r=null),r},provide:r=>q.decorations.from(r,e=>e?e.deco:U.none)});function xg(r,e){return D.create(r.filter(t=>t.field==e).map(t=>D.range(t.from,t.to)))}function kL(r){let e=kg.parse(r);return(t,i,n,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,n),l={changes:{from:n,to:s,insert:ue.of(o)},scrollIntoView:!0,annotations:i?dQ.of(i):void 0};if(a.length&&(l.selection=xg(a,0)),a.length>1){let c=new Co(a,0),u=l.effects=[Ol.of(c)];t.state.field(el,!1)===void 0&&u.push(ee.appendConfig.of([el,$L,AL,gQ]))}t.dispatch(t.state.update(l))}}function OQ(r){return({state:e,dispatch:t})=>{let i=e.field(el,!1);if(!i||r<0&&i.active==0)return!1;let n=i.active+r,s=r>0&&!i.ranges.some(o=>o.field==n+r);return t(e.update({selection:xg(i.ranges,n),effects:Ol.of(s?null:new Co(i.ranges,n)),scrollIntoView:!0})),!0}}const xL=({state:r,dispatch:e})=>r.field(el,!1)?(e(r.update({effects:Ol.of(null)})),!0):!1,SL=OQ(1),CL=OQ(-1),QL=[{key:"Tab",run:SL,shift:CL},{key:"Escape",run:xL}],t1=Y.define({combine(r){return r.length?r[0]:QL}}),$L=bn.highest(yo.compute([t1],r=>r.facet(t1)));function Qt(r,e){return Object.assign(Object.assign({},e),{apply:kL(r)})}const AL=q.domEventHandlers({mousedown(r,e){let t=e.state.field(el,!1),i;if(!t||(i=e.posAtCoords({x:r.clientX,y:r.clientY}))==null)return!1;let n=t.ranges.find(s=>s.from<=i&&s.to>=i);return!n||n.field==t.active?!1:(e.dispatch({selection:xg(t.ranges,n.field),effects:Ol.of(t.ranges.some(s=>s.field>n.field)?new Co(t.ranges,n.field):null),scrollIntoView:!0}),!0)}}),tl={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Xn=ee.define({map(r,e){return e.mapPos(r,-1,it.TrackAfter)??void 0}}),Sg=new class extends ns{};Sg.startSide=1;Sg.endSide=-1;const yQ=Ye.define({create(){return se.empty},update(r,e){if(e.selection){let t=e.state.doc.lineAt(e.selection.main.head).from,i=e.startState.doc.lineAt(e.startState.selection.main.head).from;t!=e.changes.mapPos(i,-1)&&(r=se.empty)}r=r.map(e.changes);for(let t of e.effects)t.is(Xn)&&(r=r.update({add:[Sg.range(t.value,t.value+1)]}));return r}});function DL(){return[PL,yQ]}const Ed="()[]{}<>";function bQ(r){for(let e=0;e{if((TL?r.composing:r.compositionStarted)||r.state.readOnly)return!1;let n=r.state.selection.main;if(i.length>2||i.length==2&&Kt(rt(i,0))==1||e!=n.from||t!=n.to)return!1;let s=RL(r.state,i);return s?(r.dispatch(s),!0):!1}),EL=({state:r,dispatch:e})=>{if(r.readOnly)return!1;let t=wQ(r,r.selection.main.head).brackets||tl.brackets,i=null,n=r.changeByRange(s=>{if(s.empty){let o=ZL(r.doc,s.head);for(let a of t)if(a==o&&lh(r.doc,s.head)==bQ(rt(a,0)))return{changes:{from:s.head-a.length,to:s.head+a.length},range:D.cursor(s.head-a.length)}}return{range:i=s}});return i||e(r.update(n,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},ML=[{key:"Backspace",run:EL}];function RL(r,e){let t=wQ(r,r.selection.main.head),i=t.brackets||tl.brackets;for(let n of i){let s=bQ(rt(n,0));if(e==n)return s==n?IL(r,n,i.indexOf(n+n+n)>-1,t):NL(r,n,s,t.before||tl.before);if(e==s&&vQ(r,r.selection.main.from))return FL(r,n,s)}return null}function vQ(r,e){let t=!1;return r.field(yQ).between(0,r.doc.length,i=>{i==e&&(t=!0)}),t}function lh(r,e){let t=r.sliceString(e,e+2);return t.slice(0,Kt(rt(t,0)))}function ZL(r,e){let t=r.sliceString(e-2,e);return Kt(rt(t,0))==t.length?t:t.slice(1)}function NL(r,e,t,i){let n=null,s=r.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Xn.of(o.to+e.length),range:D.range(o.anchor+e.length,o.head+e.length)};let a=lh(r.doc,o.head);return!a||/\s/.test(a)||i.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Xn.of(o.head+e.length),range:D.cursor(o.head+e.length)}:{range:n=o}});return n?null:r.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function FL(r,e,t){let i=null,n=r.changeByRange(s=>s.empty&&lh(r.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:D.cursor(s.head+t.length)}:i={range:s});return i?null:r.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function IL(r,e,t,i){let n=i.stringPrefixes||tl.stringPrefixes,s=null,o=r.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Xn.of(a.to+e.length),range:D.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=lh(r.doc,l),u;if(c==e){if(r1(r,l))return{changes:{insert:e+e,from:l},effects:Xn.of(l+e.length),range:D.cursor(l+e.length)};if(vQ(r,l)){let h=t&&r.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+h.length,insert:h},range:D.cursor(l+h.length)}}}else{if(t&&r.sliceDoc(l-2*e.length,l)==e+e&&(u=i1(r,l-2*e.length,n))>-1&&r1(r,u))return{changes:{insert:e+e+e+e,from:l},effects:Xn.of(l+e.length),range:D.cursor(l+e.length)};if(r.charCategorizer(l)(c)!=Te.Word&&i1(r,l,n)>-1&&!BL(r,l,e,n))return{changes:{insert:e+e,from:l},effects:Xn.of(l+e.length),range:D.cursor(l+e.length)}}return{range:s=a}});return s?null:r.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function r1(r,e){let t=Oe(r).resolveInner(e+1);return t.parent&&t.from==e}function BL(r,e,t,i){let n=Oe(r).resolveInner(e,-1),s=i.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=r.sliceDoc(n.from,Math.min(n.to,n.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&i.indexOf(a.slice(0,l))>-1){let u=n.firstChild;for(;u&&u.from==n.from&&u.to-u.from>t.length+l;){if(r.sliceDoc(u.to-t.length,u.to)==t)return!1;u=u.firstChild}return!0}let c=n.to==e&&n.parent;if(!c)break;n=c}return!1}function i1(r,e,t){let i=r.charCategorizer(e);if(i(r.sliceDoc(e-1,e))!=Te.Word)return e;for(let n of t){let s=e-n.length;if(r.sliceDoc(s,e)==n&&i(r.sliceDoc(s-1,s))!=Te.Word)return s}return-1}function qL(r={}){return[Bt,lt.of(r),OL,LL,gQ]}const kQ=[{key:"Ctrl-Space",run:dL},{key:"Escape",run:fL},{key:"ArrowDown",run:jl(!0)},{key:"ArrowUp",run:jl(!1)},{key:"PageDown",run:jl(!0,"page")},{key:"PageUp",run:jl(!1,"page")},{key:"Enter",run:hL}],LL=bn.highest(yo.computeN([lt],r=>r.facet(lt).defaultKeymap?[kQ]:[]));class XL{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class Zn{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let n=e,s=i.facet(Yn).markerFilter;s&&(n=s(n,i));let o=U.set(n.map(a=>a.from==a.to||a.from==a.to-1&&i.doc.lineAt(a.from).to==a.from?U.widget({widget:new HL(a),diagnostic:a}).range(a.from):U.mark({attributes:{class:"cm-lintRange cm-lintRange-"+a.severity+(a.markClass?" "+a.markClass:"")},diagnostic:a,inclusive:!0}).range(a.from,a.to)),!0);return new Zn(o,t,uo(o))}}function uo(r,e=null,t=0){let i=null;return r.between(t,1e9,(n,s,{spec:o})=>{if(!(e&&o.diagnostic!=e))return i=new XL(n,s,o.diagnostic),!1}),i}function xQ(r,e){let t=r.startState.doc.lineAt(e.pos);return!!(r.effects.some(i=>i.is(ch))||r.changes.touchesRange(t.from,t.to))}function SQ(r,e){return r.field(Xt,!1)?e:e.concat(ee.appendConfig.of(PQ))}function YL(r,e){return{effects:SQ(r,[ch.of(e)])}}const ch=ee.define(),Cg=ee.define(),CQ=ee.define(),Xt=Ye.define({create(){return new Zn(U.none,null,null)},update(r,e){if(e.docChanged){let t=r.diagnostics.map(e.changes),i=null;if(r.selected){let n=e.changes.mapPos(r.selected.from,1);i=uo(t,r.selected.diagnostic,n)||uo(t,null,n)}r=new Zn(t,r.panel,i)}for(let t of e.effects)t.is(ch)?r=Zn.init(t.value,r.panel,e.state):t.is(Cg)?r=new Zn(r.diagnostics,t.value?uh.open:null,r.selected):t.is(CQ)&&(r=new Zn(r.diagnostics,r.panel,t.value));return r},provide:r=>[Wa.from(r,e=>e.panel),q.decorations.from(r,e=>e.diagnostics)]}),VL=U.mark({class:"cm-lintRange cm-lintRange-active",inclusive:!0});function zL(r,e,t){let{diagnostics:i}=r.state.field(Xt),n=[],s=2e8,o=0;i.between(e-(t<0?1:0),e+(t>0?1:0),(l,c,{spec:u})=>{e>=l&&e<=c&&(l==c||(e>l||t>0)&&(eAQ(r,t,!1)))}const WL=r=>{let e=r.state.field(Xt,!1);(!e||!e.panel)&&r.dispatch({effects:SQ(r.state,[Cg.of(!0)])});let t=za(r,uh.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},n1=r=>{let e=r.state.field(Xt,!1);return!e||!e.panel?!1:(r.dispatch({effects:Cg.of(!1)}),!0)},jL=r=>{let e=r.state.field(Xt,!1);if(!e)return!1;let t=r.state.selection.main,i=e.diagnostics.iter(t.to+1);return!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==t.from&&i.to==t.to)?!1:(r.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)},UL=[{key:"Mod-Shift-m",run:WL,preventDefault:!0},{key:"F8",run:jL}],_L=Ne.fromClass(class{constructor(r){this.view=r,this.timeout=-1,this.set=!0;let{delay:e}=r.state.facet(Yn);this.lintTime=Date.now()+e,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,e)}run(){let r=Date.now();if(rPromise.resolve(i(this.view)))).then(i=>{let n=i.reduce((s,o)=>s.concat(o));this.view.state.doc==e.doc&&this.view.dispatch(YL(this.view.state,n))},i=>{Ot(this.view.state,i)})}}update(r){let e=r.state.facet(Yn);(r.docChanged||e!=r.startState.facet(Yn)||e.needsRefresh&&e.needsRefresh(r))&&(this.lintTime=Date.now()+e.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,e.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}}),Yn=Y.define({combine(r){return Object.assign({sources:r.map(e=>e.source).filter(e=>e!=null)},Ar(r.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t}))}});function GL(r,e={}){return[Yn.of({source:r,config:e}),_L,PQ]}function $Q(r){let e=[];if(r)e:for(let{name:t}of r){for(let i=0;is.toLowerCase()==n.toLowerCase())){e.push(n);continue e}}e.push("")}return e}function AQ(r,e,t){var i;let n=t?$Q(e.actions):[];return be("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},be("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage():e.message),(i=e.actions)===null||i===void 0?void 0:i.map((s,o)=>{let a=!1,l=d=>{if(d.preventDefault(),a)return;a=!0;let f=uo(r.state.field(Xt).diagnostics,e);f&&s.apply(r,f.from,f.to)},{name:c}=s,u=n[o]?c.indexOf(n[o]):-1,h=u<0?c:[c.slice(0,u),be("u",c.slice(u,u+1)),c.slice(u+1)];return be("button",{type:"button",class:"cm-diagnosticAction",onclick:l,onmousedown:l,"aria-label":` Action: ${c}${u<0?"":` (access key "${n[o]})"`}.`},h)}),e.source&&be("div",{class:"cm-diagnosticSource"},e.source))}class HL extends si{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return be("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class s1{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=AQ(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class uh{constructor(e){this.view=e,this.items=[];let t=n=>{if(n.keyCode==27)n1(this.view),this.view.focus();else if(n.keyCode==38||n.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(n.keyCode==40||n.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(n.keyCode==36)this.moveSelection(0);else if(n.keyCode==35)this.moveSelection(this.items.length-1);else if(n.keyCode==13)this.view.focus();else if(n.keyCode>=65&&n.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],o=$Q(s.actions);for(let a=0;a{for(let s=0;sn1(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Xt).selected;if(!e)return-1;for(let t=0;t{let c=-1,u;for(let h=i;hi&&(this.items.splice(i,c-i),n=!0)),t&&u.diagnostic==t.diagnostic?u.dom.hasAttribute("aria-selected")||(u.dom.setAttribute("aria-selected","true"),s=u):u.dom.hasAttribute("aria-selected")&&u.dom.removeAttribute("aria-selected"),i++});i({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:o,panel:a})=>{let l=a.height/this.list.offsetHeight;o.topa.bottom&&(this.list.scrollTop+=(o.bottom-a.bottom)/l)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),n&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(Xt),i=uo(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:CQ.of(i)})}static open(e){return new uh(e)}}function qc(r,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(r)}')`}function Ul(r){return qc(``,'width="6" height="3"')}const KL=q.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Ul("#d11")},".cm-lintRange-warning":{backgroundImage:Ul("orange")},".cm-lintRange-info":{backgroundImage:Ul("#999")},".cm-lintRange-hint":{backgroundImage:Ul("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function o1(r){return r=="error"?4:r=="warning"?3:r=="info"?2:1}class JL extends ri{constructor(e){super(),this.diagnostics=e,this.severity=e.reduce((t,i)=>o1(t)tX(e,t,i)),t}}function eX(r,e){let t=i=>{let n=e.getBoundingClientRect();if(!(i.clientX>n.left-10&&i.clientXn.top-10&&i.clientYe.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,eX(r,e)}let{hoverTime:n}=r.state.facet(hh),s=setTimeout(i,n);e.onmouseout=()=>{clearTimeout(s),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(s),s=setTimeout(i,n)}}function rX(r,e){let t=Object.create(null);for(let n of e){let s=r.lineAt(n.from);(t[s.from]||(t[s.from]=[])).push(n)}let i=[];for(let n in t)i.push(new JL(t[n]).range(+n));return se.of(i,!0)}const iX=qS({class:"cm-gutter-lint",markers:r=>r.state.field(DQ)}),DQ=Ye.define({create(){return se.empty},update(r,e){r=r.map(e.changes);let t=e.state.facet(hh).markerFilter;for(let i of e.effects)if(i.is(ch)){let n=i.value;t&&(n=t(n||[],e.state)),r=rX(e.state.doc,n.slice(0))}return r}}),Qg=ee.define(),TQ=Ye.define({create(){return null},update(r,e){return r&&e.docChanged&&(r=xQ(e,r)?null:Object.assign(Object.assign({},r),{pos:e.changes.mapPos(r.pos)})),e.effects.reduce((t,i)=>i.is(Qg)?i.value:t,r)},provide:r=>Ku.from(r)}),nX=q.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:qc('')},".cm-lint-marker-warning":{content:qc('')},".cm-lint-marker-error":{content:qc('')}}),PQ=[Xt,q.decorations.compute([Xt],r=>{let{selected:e,panel:t}=r.field(Xt);return!e||!t||e.from==e.to?U.none:U.set([VL.range(e.from,e.to)])}),L5(zL,{hideOn:xQ}),KL],hh=Y.define({combine(r){return Ar(r,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function sX(r={}){return[hh.of(r),DQ,iX,nX,TQ]}const oX=[_5(),K5(),g5(),wB(),YI(),s5(),u5(),re.allowMultipleSelections.of(!0),PI(),uC(jI,{fallback:!0}),eB(),DL(),qL(),T5(),M5(),k5(),Qq(),yo.of([...ML,...wq,...zq,...DB,...BI,...kQ,...UL])];/*! +* VueCodemirror v6.1.1 +* Copyright (c) Surmon. All rights reserved. +* Released under the MIT License. +* Surmon +*/var aX=Object.freeze({autofocus:!1,disabled:!1,indentWithTab:!0,tabSize:2,placeholder:"",autoDestroy:!0,extensions:[oX]}),lX=Symbol("vue-codemirror-global-config"),gt,cX=function(r){var e=r.onUpdate,t=r.onChange,i=r.onFocus,n=r.onBlur,s=function(o,a){var l={};for(var c in o)Object.prototype.hasOwnProperty.call(o,c)&&a.indexOf(c)<0&&(l[c]=o[c]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function"){var u=0;for(c=Object.getOwnPropertySymbols(o);u=0&&(t=Math.max(t,this.positions[i]+this.children[i].length+this.from)),new ne(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(n,s,o)=>new ne(Xe.none,n,s,o,this.hashProp)})}}var N;(function(r){r[r.Document=1]="Document",r[r.CodeBlock=2]="CodeBlock",r[r.FencedCode=3]="FencedCode",r[r.Blockquote=4]="Blockquote",r[r.HorizontalRule=5]="HorizontalRule",r[r.BulletList=6]="BulletList",r[r.OrderedList=7]="OrderedList",r[r.ListItem=8]="ListItem",r[r.ATXHeading1=9]="ATXHeading1",r[r.ATXHeading2=10]="ATXHeading2",r[r.ATXHeading3=11]="ATXHeading3",r[r.ATXHeading4=12]="ATXHeading4",r[r.ATXHeading5=13]="ATXHeading5",r[r.ATXHeading6=14]="ATXHeading6",r[r.SetextHeading1=15]="SetextHeading1",r[r.SetextHeading2=16]="SetextHeading2",r[r.HTMLBlock=17]="HTMLBlock",r[r.LinkReference=18]="LinkReference",r[r.Paragraph=19]="Paragraph",r[r.CommentBlock=20]="CommentBlock",r[r.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",r[r.Escape=22]="Escape",r[r.Entity=23]="Entity",r[r.HardBreak=24]="HardBreak",r[r.Emphasis=25]="Emphasis",r[r.StrongEmphasis=26]="StrongEmphasis",r[r.Link=27]="Link",r[r.Image=28]="Image",r[r.InlineCode=29]="InlineCode",r[r.HTMLTag=30]="HTMLTag",r[r.Comment=31]="Comment",r[r.ProcessingInstruction=32]="ProcessingInstruction",r[r.URL=33]="URL",r[r.HeaderMark=34]="HeaderMark",r[r.QuoteMark=35]="QuoteMark",r[r.ListMark=36]="ListMark",r[r.LinkMark=37]="LinkMark",r[r.EmphasisMark=38]="EmphasisMark",r[r.CodeMark=39]="CodeMark",r[r.CodeText=40]="CodeText",r[r.CodeInfo=41]="CodeInfo",r[r.LinkTitle=42]="LinkTitle",r[r.LinkLabel=43]="LinkLabel"})(N||(N={}));class gX{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class OX{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Aa(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,i=0){for(let n=t;n=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let i=(r.type==N.OrderedList?Dg:Ag)(t,e,!1);return i>0&&(r.type!=N.BulletList||$g(t,e,!1)<0)&&t.text.charCodeAt(t.pos+i-1)==r.value}const MQ={[N.Blockquote](r,e,t){return t.next!=62?!1:(t.markers.push(de(N.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(cr(t.text.charCodeAt(t.pos+1))?2:1)),r.end=e.lineStart+t.text.length,!0)},[N.ListItem](r,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+r.value),!0)},[N.OrderedList]:l1,[N.BulletList]:l1,[N.Document](){return!0}};function cr(r){return r==32||r==9||r==10||r==13}function Aa(r,e=0){for(;et&&cr(r.charCodeAt(e-1));)e--;return e}function RQ(r){if(r.next!=96&&r.next!=126)return-1;let e=r.pos+1;for(;e-1&&r.depth==e.stack.length||i<3?-1:1}function NQ(r,e){for(let t=r.stack.length-1;t>=0;t--)if(r.stack[t].type==e)return!0;return!1}function Ag(r,e,t){return(r.next==45||r.next==43||r.next==42)&&(r.pos==r.text.length-1||cr(r.text.charCodeAt(r.pos+1)))&&(!t||NQ(e,N.BulletList)||r.skipSpace(r.pos+2)=48&&n<=57;){if(i++,i==r.text.length)return-1;n=r.text.charCodeAt(i)}return i==r.pos||i>r.pos+9||n!=46&&n!=41||ir.pos+1||r.next!=49)?-1:i+1-r.pos}function FQ(r){if(r.next!=35)return-1;let e=r.pos+1;for(;e6?-1:t}function IQ(r){if(r.next!=45&&r.next!=61||r.indent>=r.baseIndent+4)return-1;let e=r.pos+1;for(;e/,qQ=/\?>/,Up=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(i);if(s)return r.append(de(N.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(i);if(o)return r.append(de(N.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(i);return a?r.append(de(N.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(r,e,t){if(e!=95&&e!=42)return-1;let i=t+1;for(;r.char(i)==e;)i++;let n=r.slice(t-1,t),s=r.slice(i,i+1),o=il.test(n),a=il.test(s),l=/\s|^$/.test(n),c=/\s|^$/.test(s),u=!c&&(!a||l||o),h=!l&&(!o||c||a),d=u&&(e==42||!h||o),f=h&&(e==42||!u||a);return r.append(new mr(e==95?WQ:jQ,t,i,(d?1:0)|(f?2:0)))},HardBreak(r,e,t){if(e==92&&r.char(t+1)==10)return r.append(de(N.HardBreak,t,t+2));if(e==32){let i=t+1;for(;r.char(i)==32;)i++;if(r.char(i)==10&&i>=t+2)return r.append(de(N.HardBreak,t,i+1))}return-1},Link(r,e,t){return e==91?r.append(new mr(qo,t,t+1,1)):-1},Image(r,e,t){return e==33&&r.char(t+1)==91?r.append(new mr(h1,t,t+2,1)):-1},LinkEnd(r,e,t){if(e!=93)return-1;for(let i=r.parts.length-1;i>=0;i--){let n=r.parts[i];if(n instanceof mr&&(n.type==qo||n.type==h1)){if(!n.side||r.skipSpace(n.to)==t&&!/[(\[]/.test(r.slice(t+1,t+2)))return r.parts[i]=null,-1;let s=r.takeContent(i),o=r.parts[i]=SX(r,s,n.type==qo?N.Link:N.Image,n.from,t+1);if(n.type==qo)for(let a=0;ae?de(N.URL,e+t,n+t):n==r.length?null:!1}}function _Q(r,e,t){let i=r.charCodeAt(e);if(i!=39&&i!=34&&i!=40)return!1;let n=i==40?41:i;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,i,n,s){return this.append(new mr(e,t,i,(n?1:0)|(s?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let i=e;i=e;l--){let p=this.parts[l];if(p instanceof mr&&p.side&1&&p.type==n.type&&!(s&&(n.side&1||p.side&2)&&(p.to-p.from+o)%3==0&&((p.to-p.from)%3||o%3))){a=p;break}}if(!a)continue;let c=n.type.resolve,u=[],h=a.from,d=n.to;if(s){let p=Math.min(2,a.to-a.from,o);h=a.to-p,d=n.from+p,c=p==1?"Emphasis":"StrongEmphasis"}a.type.mark&&u.push(this.elt(a.type.mark,h,a.to));for(let p=l+1;p=0;t--){let i=this.parts[t];if(i instanceof mr&&i.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return Aa(this.text,e-this.offset)+this.offset}elt(e,t,i,n){return typeof e=="string"?de(this.parser.getNodeType(e),t,i,n):new zQ(e,t)}}function Gp(r,e){if(!e.length)return r;if(!r.length)return e;let t=r.slice(),i=0;for(let n of e){for(;i(r?r-1:0))return!1;if(this.fragmentEnd<0){let n=this.fragment.to;for(;n>0&&this.input.read(n-1,n)!=` +`;)n--;this.fragmentEnd=n?n-1:0}let t=this.cursor;t||(t=this.cursor=this.fragment.tree.cursor(),t.firstChild());let i=r+this.fragment.offset;for(;t.to<=i;)if(!t.parent())return!1;for(;;){if(t.from>=i)return this.fragment.from<=e;if(!t.childAfter(i))return!1}}matches(r){let e=this.cursor.tree;return e&&e.prop(K.contextHash)==r}takeNodes(r){let e=this.cursor,t=this.fragment.offset,i=this.fragmentEnd-(this.fragment.openEnd?1:0),n=r.absoluteLineStart,s=n,o=r.block.children.length,a=s,l=o;for(;;){if(e.to-t>i){if(e.type.isAnonymous&&e.firstChild())continue;break}let c=HQ(e.from-t,r.ranges);if(e.to-t<=r.ranges[r.rangeI].to)r.addNode(e.tree,c);else{let u=new ne(r.parser.nodeSet.types[N.Paragraph],[],[],0,r.block.hashProp);r.reusePlaceholders.set(u,e.tree),r.addNode(u,c)}if(e.type.is("Block")&&(QX.indexOf(e.type.id)<0?(s=e.to-t,o=r.block.children.length):(s=a,o=l,a=e.to-t,l=r.block.children.length)),!e.nextSibling())break}for(;r.block.children.length>o;)r.block.children.pop(),r.block.positions.pop();return s-n}};function HQ(r,e){let t=r;for(let i=1;iGl[r]),Object.keys(Gl).map(r=>wX[r]),Object.keys(Gl),vX,MQ,Object.keys(Rd).map(r=>Rd[r]),Object.keys(Rd),[]);function TX(r,e,t){let i=[];for(let n=r.firstChild,s=e;;n=n.nextSibling){let o=n?n.from:t;if(o>s&&i.push({from:s,to:o}),!n)break;s=n.to}return i}function PX(r){let{codeParser:e,htmlParser:t}=r;return{wrap:US((i,n)=>{let s=i.type.id;if(e&&(s==N.CodeBlock||s==N.FencedCode)){let o="";if(s==N.FencedCode){let l=i.node.getChild(N.CodeInfo);l&&(o=n.read(l.from,l.to))}let a=e(o);if(a)return{parser:a,overlay:l=>l.type.id==N.CodeText}}else if(t&&(s==N.HTMLBlock||s==N.HTMLTag))return{parser:t,overlay:TX(i.node,i.from,i.to)};return null})}}const EX={resolve:"Strikethrough",mark:"StrikethroughMark"},MX={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":y.strikethrough}},{name:"StrikethroughMark",style:y.processingInstruction}],parseInline:[{name:"Strikethrough",parse(r,e,t){if(e!=126||r.char(t+1)!=126||r.char(t+2)==126)return-1;let i=r.slice(t-1,t),n=r.slice(t+2,t+3),s=/\s|^$/.test(i),o=/\s|^$/.test(n),a=il.test(i),l=il.test(n);return r.addDelimiter(EX,t,t+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function Da(r,e,t=0,i,n=0){let s=0,o=!0,a=-1,l=-1,c=!1,u=()=>{i.push(r.elt("TableCell",n+a,n+l,r.parser.parseInline(e.slice(a,l),n+a)))};for(let h=t;h-1)&&s++,o=!1,i&&(a>-1&&u(),i.push(r.elt("TableDelimiter",h+n,h+n+1))),a=l=-1):(c||d!=32&&d!=9)&&(a<0&&(a=h),l=h+1),c=!c&&d==92}return a>-1&&(s++,i&&u()),s}function f1(r,e){for(let t=e;tn instanceof p1)||!f1(e.text,e.basePos))return!1;let i=r.scanLine(r.absoluteLineEnd+1).text;return KQ.test(i)&&Da(r,e.text,e.basePos)==Da(r,i,e.basePos)},before:"SetextHeading"}]};class ZX{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}const NX={defineNodes:[{name:"Task",block:!0,style:y.list},{name:"TaskMarker",style:y.atom}],parseBlock:[{name:"TaskList",leaf(r,e){return/^\[[ xX]\][ \t]/.test(e.content)&&r.parentType().name=="ListItem"?new ZX:null},after:"SetextHeading"}]},m1=/(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy,g1=/[\w-]+(\.\w+(\.\w+)?)(\/[^\s<]*)?/gy,O1=/[\w.+-]+@[\w-]+\.[\w.-]+/gy,y1=/\/[a-zA-Z\d@.]+/gy;function b1(r,e,t,i){let n=0;for(let s=e;sb1(r,e,i,"("))i--;else if(n==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(r.slice(e,i))))i=e+s.index;else break}return i}function w1(r,e){O1.lastIndex=e;let t=O1.exec(r);if(!t)return-1;let i=t[0][t[0].length-1];return i=="_"||i=="-"?-1:e+t[0].length-(i=="."?1:0)}const IX={parseInline:[{name:"Autolink",parse(r,e,t){let i=t-r.offset;m1.lastIndex=i;let n=m1.exec(r.text),s=-1;return!n||(n[1]||n[2]?s=FX(r.text,i+n[0].length):n[3]?s=w1(r.text,i):(s=w1(r.text,i+n[0].length),s>-1&&n[0]=="xmpp:"&&(y1.lastIndex=s,n=y1.exec(r.text),n&&(s=n.index+n[0].length))),s<0)?-1:(r.addElement(r.elt("URL",t,s+r.offset)),s+r.offset)}}]},BX=[RX,NX,MX,IX];function JQ(r,e,t){return(i,n,s)=>{if(n!=r||i.char(s+1)==r)return-1;let o=[i.elt(t,s,s+1)];for(let a=s+1;at%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let n=e.parser.context;return new Cu(e,[],t,i,i,0,[],0,n?new v1(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,n=e&65535,{parser:s}=this.p,o=s.dynamicPrecedence(n);if(o&&(this.score+=o),i==0){this.pushState(s.getGoto(this.state,n,!0),this.reducePos),n=2e3&&!(!((t=this.p.parser.nodeSet.types[n])===null||t===void 0)&&t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizea;)this.stack.pop();this.reduceContext(n,l)}storeNode(e,t,i,n=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(t==i)return;if(o.buffer[a-2]>=t){o.buffer[a-2]=i;return}}}if(!s||this.pos==i)this.buffer.push(e,t,i,n);else{let o=this.buffer.length;if(o>0&&this.buffer[o-4]!=0)for(;o>0&&this.buffer[o-2]>i;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,n>4&&(n-=4);this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=i,this.buffer[o+3]=n}}shift(e,t,i,n){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=n,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,n,4);else{let s=e,{parser:o}=this.p;(n>this.pos||t<=o.maxNode)&&(this.pos=n,o.stateFlag(s,1)||(this.reducePos=n)),this.pushState(s,i),this.shiftContext(t,i),t<=o.maxNode&&this.buffer.push(t,i,n,4)}}apply(e,t,i,n){e&65536?this.reduce(e):this.shift(e,t,i,n)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(t,n),this.buffer.push(i,n,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),n=e.bufferBase+t;for(;e&&n==e.bufferBase;)e=e.parent;return new Cu(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new YX(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(i==0)return!1;if(!(i&65536))return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let n=[];for(let s=0,o;sl&1&&a==o)||n.push(t[s],o)}t=n}let i=[];for(let n=0;n>19,n=t&65535,s=this.stack.length-i*3;if(s<0||e.getGoto(this.stack[s],n,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(n,s)=>{if(!t.includes(n))return t.push(n),e.allActions(n,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=i(o,s+1);if(a!=null)return a}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class v1{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class YX{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let n=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=n}}class Qu{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Qu(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Qu(this.stack,this.pos,this.index)}}function ha(r,e=Uint16Array){if(typeof r!="string")return r;let t=null;for(let i=0,n=0;i=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[n++]=s:t=new e(s)}return t}class Lc{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const k1=new Lc;class VX{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=k1,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,n=this.rangeIndex,s=this.pos+e;for(;si.to:s>=i.to;){if(n==this.ranges.length-1)return null;let o=this.ranges[++n];s+=o.from-i.to,i=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,n;if(t>=0&&t=this.chunk2Pos&&ia.to&&(this.chunk2=this.chunk2.slice(0,a.to-i)),n=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),n}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=k1,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let n of this.ranges){if(n.from>=t)break;n.to>e&&(i+=this.input.read(Math.max(n.from,e),Math.min(n.to,t)))}return i}}class Gs{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;e$(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}Gs.prototype.contextual=Gs.prototype.fallback=Gs.prototype.extend=!1;class $u{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data=typeof e=="string"?ha(e):e}token(e,t){let i=e.pos,n=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(e$(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||n++,o==null)break;e.reset(o,e.token)}n&&(e.reset(i,e.token),e.acceptToken(this.elseToken,n))}}$u.prototype.contextual=Gs.prototype.fallback=Gs.prototype.extend=!1;class ai{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function e$(r,e,t,i,n,s){let o=0,a=1<0){let p=r[f];if(l.allows(p)&&(e.token.value==-1||e.token.value==p||zX(p,e.token.value,n,s))){e.acceptToken(p);break}}let u=e.next,h=0,d=r[o+2];if(e.next<0&&d>h&&r[c+d*3-3]==65535&&r[c+d*3-3]==65535){o=r[c+d*3-1];continue e}for(;h>1,p=c+f+(f<<1),m=r[p],g=r[p+1]||65536;if(u=g)h=f+1;else{o=r[p+2],e.advance();continue e}}break}}function x1(r,e,t){for(let i=e,n;(n=r[i])!=65535;i++)if(n==t)return i-e;return-1}function zX(r,e,t,i){let n=x1(t,i,e);return n<0||x1(t,i,r)e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(r.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:r.length}}class WX{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?S1(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?S1(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof ne){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}}class jX{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new Lc)}getActions(e){let t=0,i=null,{parser:n}=e.p,{tokenizers:s}=n,o=n.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;ch.end+25&&(l=Math.max(h.lookAhead,l)),h.value!=0)){let d=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!u.extend&&(i=h,t>d))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!i&&e.pos==this.stream.end&&(i=new Lc,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Lc,{pos:i,p:n}=e;return t.start=i,t.end=Math.min(i+1,n.stream.end),t.value=i==n.stream.end?n.parser.eofTerm:0,t}updateCachedToken(e,t,i){let n=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(n,e),i),e.value>-1){let{parser:s}=i.p;for(let o=0;o=0&&i.p.parser.dialect.allows(a>>1)){a&1?e.extended=a>>1:e.value=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,t,i,n){for(let s=0;se.bufferLength*4?new WX(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,i=this.stacks=[],n,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)i.push(a);else{if(this.advanceStack(a,i,e))continue;{n||(n=[],s=[]),n.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!i.length){let o=n&&GX(n);if(o)return Zt&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Zt&&n&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&n){let o=this.stoppedAt!=null&&n[0].pos>this.stoppedAt?n[0]:this.runRecovery(n,s,i);if(o)return Zt&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(i.length>o)for(i.sort((a,l)=>l.score-a.score);i.length>o;)i.pop();i.some(a=>a.reducePos>t)&&this.recovering--}else if(i.length>1){e:for(let o=0;o500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)i.splice(l--,1);else{i.splice(o--,1);continue e}}}i.length>12&&i.splice(12,i.length-12)}this.minStackPos=i[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,u=c?e.curContext.hash:0;for(let h=this.fragments.nodeAt(n);h;){let d=this.parser.nodeSet.types[h.type.id]==h.type?s.getGoto(e.state,h.type.id):-1;if(d>-1&&h.length&&(!c||(h.prop(K.contextHash)||0)==u))return e.useNode(h,d),Zt&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(h.type.id)})`),!0;if(!(h instanceof ne)||h.children.length==0||h.positions[0]>0)break;let f=h.children[0];if(f instanceof ne&&h.positions[0]==0)h=f;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Zt&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=9e3)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;cn?t.push(p):i.push(p)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return C1(e,t),!0}}runRecovery(e,t,i){let n=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Zt&&console.log(u+this.stackID(a)+" (restarted)"),this.advanceFully(a,i))))continue;let h=a.split(),d=u;for(let f=0;h.forceReduce()&&f<10&&(Zt&&console.log(d+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,i));f++)Zt&&(d=this.stackID(h)+" -> ");for(let f of a.recoverByInsert(l))Zt&&console.log(u+this.stackID(f)+" (via recover-insert)"),this.advanceFully(f,i);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Zt&&console.log(u+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),C1(a,i)):(!n||n.scorer;class t${constructor(e){this.start=e.start,this.shift=e.shift||Nd,this.reduce=e.reduce||Nd,this.reuse=e.reuse||Nd,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class fo extends eh{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),n=[];for(let a=0;a=0)s(u,l,a[c++]);else{let h=a[c+-u];for(let d=-u;d>0;d--)s(a[c++],l,h);c++}}}this.nodeSet=new bo(t.map((a,l)=>Xe.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:n[l],top:i.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=YS;let o=ha(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new Gs(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let n=new UX(this,e,t,i);for(let s of this.wrappers)n=s(n,e,t,i);return n}getGoto(e,t,i=!1){let n=this.goto;if(t>=n[0])return-1;for(let s=n[t+1];;){let o=n[s++],a=o&1,l=n[s++];if(a&&i)return l;for(let c=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,i=>i==t?!0:null)}allActions(e,t){let i=this.stateSlot(e,4),n=i?t(i):void 0;for(let s=this.stateSlot(e,1);n==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=pi(this.data,s+2);else break;n=t(pi(this.data,s+1))}return n}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=pi(this.data,i+2);else break;if(!(this.data[i+2]&1)){let n=this.data[i+1];t.some((s,o)=>o&1&&s==n)||t.push(this.data[i],n)}}return t}configure(e){let t=Object.assign(Object.create(fo.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(i=>{let n=e.tokenizers.find(s=>s.from==i);return n?n.to:i})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,n)=>{let s=e.specializers.find(a=>a.from==i.external);if(!s)return i;let o=Object.assign(Object.assign({},i),{external:s.to});return t.specializers[n]=Q1(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(i[o]=!0)}let n=null;for(let s=0;si)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorer.external(t,i)<<1|e}return r.get}const HX=54,KX=1,JX=55,eY=2,tY=56,rY=3,$1=4,iY=5,Au=6,r$=7,i$=8,n$=9,s$=10,nY=11,sY=12,oY=13,Fd=57,aY=14,A1=58,o$=20,lY=22,a$=23,cY=24,Hp=26,l$=27,uY=28,hY=31,dY=34,fY=36,pY=37,mY=0,gY=1,OY={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},yY={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},D1={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function bY(r){return r==45||r==46||r==58||r>=65&&r<=90||r==95||r>=97&&r<=122||r>=161}function c$(r){return r==9||r==10||r==13||r==32}let T1=null,P1=null,E1=0;function Kp(r,e){let t=r.pos+e;if(E1==t&&P1==r)return T1;let i=r.peek(e);for(;c$(i);)i=r.peek(++e);let n="";for(;bY(i);)n+=String.fromCharCode(i),i=r.peek(++e);return P1=r,E1=t,T1=n?n.toLowerCase():i==wY||i==vY?void 0:null}const u$=60,Du=62,Tg=47,wY=63,vY=33,kY=45;function M1(r,e){this.name=r,this.parent=e,this.hash=e?e.hash:0;for(let t=0;t-1?new M1(Kp(i,1)||"",r):r},reduce(r,e){return e==o$&&r?r.parent:r},reuse(r,e,t,i){let n=e.type.id;return n==Au||n==fY?new M1(Kp(i,1)||"",r):r},hash(r){return r?r.hash:0},strict:!1}),CY=new ai((r,e)=>{if(r.next!=u$){r.next<0&&e.context&&r.acceptToken(Fd);return}r.advance();let t=r.next==Tg;t&&r.advance();let i=Kp(r,0);if(i===void 0)return;if(!i)return r.acceptToken(t?aY:Au);let n=e.context?e.context.name:null;if(t){if(i==n)return r.acceptToken(nY);if(n&&yY[n])return r.acceptToken(Fd,-2);if(e.dialectEnabled(mY))return r.acceptToken(sY);for(let s=e.context;s;s=s.parent)if(s.name==i)return;r.acceptToken(oY)}else{if(i=="script")return r.acceptToken(r$);if(i=="style")return r.acceptToken(i$);if(i=="textarea")return r.acceptToken(n$);if(OY.hasOwnProperty(i))return r.acceptToken(s$);n&&D1[n]&&D1[n][i]?r.acceptToken(Fd,-1):r.acceptToken(Au)}},{contextual:!0}),QY=new ai(r=>{for(let e=0,t=0;;t++){if(r.next<0){t&&r.acceptToken(A1);break}if(r.next==kY)e++;else if(r.next==Du&&e>=2){t>3&&r.acceptToken(A1,-2);break}else e=0;r.advance()}});function $Y(r){for(;r;r=r.parent)if(r.name=="svg"||r.name=="math")return!0;return!1}const AY=new ai((r,e)=>{if(r.next==Tg&&r.peek(1)==Du){let t=e.dialectEnabled(gY)||$Y(e.context);r.acceptToken(t?iY:$1,2)}else r.next==Du&&r.acceptToken($1,1)});function Pg(r,e,t){let i=2+r.length;return new ai(n=>{for(let s=0,o=0,a=0;;a++){if(n.next<0){a&&n.acceptToken(e);break}if(s==0&&n.next==u$||s==1&&n.next==Tg||s>=2&&so?n.acceptToken(e,-o):n.acceptToken(t,-(o-2));break}else if((n.next==10||n.next==13)&&a){n.acceptToken(e,1);break}else s=o=0;n.advance()}})}const DY=Pg("script",HX,KX),TY=Pg("style",JX,eY),PY=Pg("textarea",tY,rY),EY=wo({"Text RawText":y.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":y.angleBracket,TagName:y.tagName,"MismatchedCloseTag/TagName":[y.tagName,y.invalid],AttributeName:y.attributeName,"AttributeValue UnquotedAttributeValue":y.attributeValue,Is:y.definitionOperator,"EntityReference CharacterReference":y.character,Comment:y.blockComment,ProcessingInst:y.processingInstruction,DoctypeDecl:y.documentMeta}),MY=fo.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:SY,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[EY],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let c=a.type.id;if(c==uY)return Id(a,l,t);if(c==hY)return Id(a,l,i);if(c==dY)return Id(a,l,n);if(c==o$&&s.length){let u=a.node,h=u.firstChild,d=h&&R1(h,l),f;if(d){for(let p of s)if(p.tag==d&&(!p.attrs||p.attrs(f||(f=h$(u,l))))){let m=u.lastChild;return{parser:p.parser,overlay:[{from:h.to,to:m.type.id==pY?m.from:u.to}]}}}}if(o&&c==a$){let u=a.node,h;if(h=u.firstChild){let d=o[l.read(h.from,h.to)];if(d)for(let f of d){if(f.tagName&&f.tagName!=R1(u.parent,l))continue;let p=u.lastChild;if(p.type.id==Hp){let m=p.from+1,g=p.lastChild,O=p.to-(g&&g.isError?0:1);if(O>m)return{parser:f.parser,overlay:[{from:m,to:O}]}}else if(p.type.id==l$)return{parser:f.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}const RY=96,Z1=1,ZY=97,NY=98,N1=2,f$=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],FY=58,IY=40,p$=95,BY=91,Xc=45,qY=46,LY=35,XY=37;function Tu(r){return r>=65&&r<=90||r>=97&&r<=122||r>=161}function YY(r){return r>=48&&r<=57}const VY=new ai((r,e)=>{for(let t=!1,i=0,n=0;;n++){let{next:s}=r;if(Tu(s)||s==Xc||s==p$||t&&YY(s))!t&&(s!=Xc||n>0)&&(t=!0),i===n&&s==Xc&&i++,r.advance();else{t&&r.acceptToken(s==IY?ZY:i==2&&e.canShift(N1)?N1:NY);break}}}),zY=new ai(r=>{if(f$.includes(r.peek(-1))){let{next:e}=r;(Tu(e)||e==p$||e==LY||e==qY||e==BY||e==FY||e==Xc)&&r.acceptToken(RY)}}),WY=new ai(r=>{if(!f$.includes(r.peek(-1))){let{next:e}=r;if(e==XY&&(r.advance(),r.acceptToken(Z1)),Tu(e)){do r.advance();while(Tu(r.next));r.acceptToken(Z1)}}}),jY=wo({"AtKeyword import charset namespace keyframes media supports":y.definitionKeyword,"from to selector":y.keyword,NamespaceName:y.namespace,KeyframeName:y.labelName,KeyframeRangeName:y.operatorKeyword,TagName:y.tagName,ClassName:y.className,PseudoClassName:y.constant(y.className),IdName:y.labelName,"FeatureName PropertyName":y.propertyName,AttributeName:y.attributeName,NumberLiteral:y.number,KeywordQuery:y.keyword,UnaryQueryOp:y.operatorKeyword,"CallTag ValueName":y.atom,VariableName:y.variableName,Callee:y.operatorKeyword,Unit:y.unit,"UniversalSelector NestingSelector":y.definitionOperator,MatchOp:y.compareOperator,"ChildOp SiblingOp, LogicOp":y.logicOperator,BinOp:y.arithmeticOperator,Important:y.modifier,Comment:y.blockComment,ColorLiteral:y.color,"ParenthesizedContent StringLiteral":y.string,":":y.punctuation,"PseudoOp #":y.derefOperator,"; ,":y.separator,"( )":y.paren,"[ ]":y.squareBracket,"{ }":y.brace}),UY={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},_Y={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},GY={__proto__:null,not:128,only:128},HY=fo.deserialize({version:14,states:"9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[zY,WY,VY,1,2,3,4,new $u("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~",28,102)],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:97,get:r=>UY[r]||-1},{term:56,get:r=>_Y[r]||-1},{term:98,get:r=>GY[r]||-1}],tokenPrec:1169});let Bd=null;function qd(){if(!Bd&&typeof document=="object"&&document.body){let{style:r}=document.body,e=[],t=new Set;for(let i in r)i!="cssText"&&i!="cssFloat"&&typeof r[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,n=>"-"+n.toLowerCase())),t.has(i)||(e.push(i),t.add(i)));Bd=e.sort().map(i=>({type:"property",label:i}))}return Bd||[]}const F1=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(r=>({type:"class",label:r})),I1=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(r=>({type:"keyword",label:r})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(r=>({type:"constant",label:r}))),KY=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(r=>({type:"type",label:r})),Ti=/^(\w[\w-]*|-\w[\w-]*|)$/,JY=/^-(-[\w-]*)?$/;function e3(r,e){var t;if((r.name=="("||r.type.isError)&&(r=r.parent||r),r.name!="ArgList")return!1;let i=(t=r.parent)===null||t===void 0?void 0:t.firstChild;return(i==null?void 0:i.name)!="Callee"?!1:e.sliceString(i.from,i.to)=="var"}const B1=new jS,t3=["Declaration"];function r3(r){for(let e=r;;){if(e.type.isTop)return e;if(!(e=e.parent))return r}}function m$(r,e,t){if(e.to-e.from>4096){let i=B1.get(e);if(i)return i;let n=[],s=new Set,o=e.cursor(we.IncludeAnonymous);if(o.firstChild())do for(let a of m$(r,o.node,t))s.has(a.label)||(s.add(a.label),n.push(a));while(o.nextSibling());return B1.set(e,n),n}else{let i=[],n=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(t3)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=r.sliceString(s.from,s.to);n.has(a)||(n.add(a),i.push({label:a,type:"variable"}))}}),i}}const i3=r=>e=>{let{state:t,pos:i}=e,n=Oe(t).resolveInner(i,-1),s=n.type.isError&&n.from==n.to-1&&t.doc.sliceString(n.from,n.to)=="-";if(n.name=="PropertyName"||(s||n.name=="TagName")&&/^(Block|Styles)$/.test(n.resolve(n.to).name))return{from:n.from,options:qd(),validFor:Ti};if(n.name=="ValueName")return{from:n.from,options:I1,validFor:Ti};if(n.name=="PseudoClassName")return{from:n.from,options:F1,validFor:Ti};if(r(n)||(e.explicit||s)&&e3(n,t.doc))return{from:r(n)||s?n.from:i,options:m$(t.doc,r3(n),r),validFor:JY};if(n.name=="TagName"){for(let{parent:l}=n;l;l=l.parent)if(l.name=="Block")return{from:n.from,options:qd(),validFor:Ti};return{from:n.from,options:KY,validFor:Ti}}if(!e.explicit)return null;let o=n.resolve(i),a=o.childBefore(i);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:i,options:F1,validFor:Ti}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:i,options:I1,validFor:Ti}:o.name=="Block"||o.name=="Styles"?{from:i,options:qd(),validFor:Ti}:null},n3=i3(r=>r.name=="VariableName"),Pu=ao.define({name:"css",parser:HY.configure({props:[dl.add({Declaration:Bc()}),ko.add({"Block KeyframeList":rC})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function s3(){return new _a(Pu,Pu.data.of({autocomplete:n3}))}const o3=304,q1=1,a3=2,l3=305,c3=307,u3=308,h3=3,d3=4,f3=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],g$=125,p3=59,L1=47,m3=42,g3=43,O3=45,y3=new t$({start:!1,shift(r,e){return e==h3||e==d3||e==c3?r:e==u3},strict:!1}),b3=new ai((r,e)=>{let{next:t}=r;(t==g$||t==-1||e.context)&&r.acceptToken(l3)},{contextual:!0,fallback:!0}),w3=new ai((r,e)=>{let{next:t}=r,i;f3.indexOf(t)>-1||t==L1&&((i=r.peek(1))==L1||i==m3)||t!=g$&&t!=p3&&t!=-1&&!e.context&&r.acceptToken(o3)},{contextual:!0}),v3=new ai((r,e)=>{let{next:t}=r;if((t==g3||t==O3)&&(r.advance(),t==r.next)){r.advance();let i=!e.context&&e.canShift(q1);r.acceptToken(i?q1:a3)}},{contextual:!0}),k3=wo({"get set async static":y.modifier,"for while do if else switch try catch finally return throw break continue default case":y.controlKeyword,"in of await yield void typeof delete instanceof":y.operatorKeyword,"let var const using function class extends":y.definitionKeyword,"import export from":y.moduleKeyword,"with debugger as new":y.keyword,TemplateString:y.special(y.string),super:y.atom,BooleanLiteral:y.bool,this:y.self,null:y.null,Star:y.modifier,VariableName:y.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":y.function(y.variableName),VariableDefinition:y.definition(y.variableName),Label:y.labelName,PropertyName:y.propertyName,PrivatePropertyName:y.special(y.propertyName),"CallExpression/MemberExpression/PropertyName":y.function(y.propertyName),"FunctionDeclaration/VariableDefinition":y.function(y.definition(y.variableName)),"ClassDeclaration/VariableDefinition":y.definition(y.className),PropertyDefinition:y.definition(y.propertyName),PrivatePropertyDefinition:y.definition(y.special(y.propertyName)),UpdateOp:y.updateOperator,"LineComment Hashbang":y.lineComment,BlockComment:y.blockComment,Number:y.number,String:y.string,Escape:y.escape,ArithOp:y.arithmeticOperator,LogicOp:y.logicOperator,BitOp:y.bitwiseOperator,CompareOp:y.compareOperator,RegExp:y.regexp,Equals:y.definitionOperator,Arrow:y.function(y.punctuation),": Spread":y.punctuation,"( )":y.paren,"[ ]":y.squareBracket,"{ }":y.brace,"InterpolationStart InterpolationEnd":y.special(y.brace),".":y.derefOperator,", ;":y.separator,"@":y.meta,TypeName:y.typeName,TypeDefinition:y.definition(y.typeName),"type enum interface implements namespace module declare":y.definitionKeyword,"abstract global Privacy readonly override":y.modifier,"is keyof unique infer":y.operatorKeyword,JSXAttributeValue:y.attributeValue,JSXText:y.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":y.angleBracket,"JSXIdentifier JSXNameSpacedName":y.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":y.attributeName,"JSXBuiltin/JSXIdentifier":y.standard(y.tagName)}),x3={__proto__:null,export:16,as:21,from:29,default:32,async:37,function:38,extends:48,this:52,true:60,false:60,null:72,void:76,typeof:80,super:98,new:132,delete:148,yield:157,await:161,class:166,public:223,private:223,protected:223,readonly:225,instanceof:244,satisfies:247,in:248,const:250,import:282,keyof:337,unique:341,infer:347,is:383,abstract:403,implements:405,type:407,let:410,var:412,using:415,interface:421,enum:425,namespace:431,module:433,declare:437,global:441,for:460,of:469,while:472,with:476,do:480,if:484,else:486,switch:490,case:496,try:502,catch:506,finally:510,return:514,throw:518,break:522,continue:526,debugger:530},S3={__proto__:null,async:119,get:121,set:123,declare:183,public:185,private:185,protected:185,static:187,abstract:189,override:191,readonly:197,accessor:199,new:387},C3={__proto__:null,"<":139},Q3=fo.deserialize({version:14,states:"$6zO%TQUOOO%[QUOOO'_QWOOP(lOSOOO*zQ(CjO'#CgO+ROpO'#ChO+aO!bO'#ChO+oO07`O'#D[O.QQUO'#DbO.bQUO'#DmO%[QUO'#DwO0fQUO'#EPOOQ(CY'#EX'#EXO1PQSO'#EUOOQO'#Ej'#EjOOQO'#Id'#IdO1XQSO'#GlO1dQSO'#EiO1iQSO'#EiO3kQ(CjO'#JeO6[Q(CjO'#JfO6xQSO'#FXO6}Q#tO'#FpOOQ(CY'#Fa'#FaO7YO&jO'#FaO7hQ,UO'#FwO9OQSO'#FvOOQ(CY'#Jf'#JfOOQ(CW'#Je'#JeO9TQSO'#GpOOQQ'#KQ'#KQO9`QSO'#IQO9eQ(C[O'#IROOQQ'#JR'#JROOQQ'#IV'#IVQ`QUOOO`QUOOO%[QUO'#DoO9mQUO'#D{O9tQUO'#D}O9ZQSO'#GlO9{Q,UO'#CmO:ZQSO'#EhO:fQSO'#EsO:kQ,UO'#F`O;YQSO'#GlOOQO'#KR'#KRO;_QSO'#KRO;mQSO'#GtO;mQSO'#GuO;mQSO'#GwO9ZQSO'#GzO]QSO'#HZO>eQSO'#HaO>eQSO'#HcO`QUO'#HeO>eQSO'#HgO>eQSO'#HjO>jQSO'#HpO>oQ(C]O'#HvO%[QUO'#HxO>zQ(C]O'#HzO?VQ(C]O'#H|O9eQ(C[O'#IOO?bQ(CjO'#CgO@dQWO'#DgQOQSOOO%[QUO'#D}O@zQSO'#EQO9{Q,UO'#EhOAVQSO'#EhOAbQ`O'#F`OOQQ'#Ce'#CeOOQ(CW'#Dl'#DlOOQ(CW'#Ji'#JiO%[QUO'#JiOOQO'#Jm'#JmOOQO'#Ia'#IaOBbQWO'#EaOOQ(CW'#E`'#E`OC^Q(C`O'#EaOChQWO'#ETOOQO'#Jl'#JlOC|QWO'#JmOEZQWO'#ETOChQWO'#EaPEhO?MpO'#C`POOO)CDp)CDpOOOO'#IW'#IWOEsOpO,59SOOQ(CY,59S,59SOOOO'#IX'#IXOFRO!bO,59SO%[QUO'#D^OOOO'#IZ'#IZOFaO07`O,59vOOQ(CY,59v,59vOFoQUO'#I[OGSQSO'#JgOIUQbO'#JgO+}QUO'#JgOI]QSO,59|OIsQSO'#EjOJQQSO'#JuOJ]QSO'#JtOJ]QSO'#JtOJeQSO,5;WOJjQSO'#JsOOQ(CY,5:X,5:XOJqQUO,5:XOLrQ(CjO,5:cOMcQSO,5:kOM|Q(C[O'#JrONTQSO'#JqO9TQSO'#JqONiQSO'#JqONqQSO,5;VONvQSO'#JqO!#OQbO'#JfOOQ(CY'#Cg'#CgO%[QUO'#EPO!#nQ`O,5:pOOQO'#Jn'#JnOOQO-ElOOQQ'#JZ'#JZOOQQ,5>m,5>mOOQQ-ExQ(CjO,5:iOOQO,5@m,5@mO!?iQ,UO,5=WO!?wQ(C[O'#J[O9OQSO'#J[O!@YQ(C[O,59XO!@eQWO,59XO!@mQ,UO,59XO9{Q,UO,59XO!@xQSO,5;TO!AQQSO'#HYO!AcQSO'#KVO%[QUO,5;xO!7cQWO,5;zO!AkQSO,5=sO!ApQSO,5=sO!AuQSO,5=sO9eQ(C[O,5=sO;mQSO,5=cOOQO'#Cs'#CsO!BTQWO,5=`O!B]Q,UO,5=aO!BhQSO,5=cO!BmQ`O,5=fO!BuQSO'#KRO>jQSO'#HPO9ZQSO'#HRO!BzQSO'#HRO9{Q,UO'#HTO!CPQSO'#HTOOQQ,5=i,5=iO!CUQSO'#HUO!C^QSO'#CmO!CcQSO,58}O!CmQSO,58}O!ErQUO,58}OOQQ,58},58}O!FSQ(C[O,58}O%[QUO,58}O!H_QUO'#H]OOQQ'#H^'#H^OOQQ'#H_'#H_O`QUO,5=uO!HuQSO,5=uO`QUO,5={O`QUO,5=}O!HzQSO,5>PO`QUO,5>RO!IPQSO,5>UO!IUQUO,5>[OOQQ,5>b,5>bO%[QUO,5>bO9eQ(C[O,5>dOOQQ,5>f,5>fO!M`QSO,5>fOOQQ,5>h,5>hO!M`QSO,5>hOOQQ,5>j,5>jO!MeQWO'#DYO%[QUO'#JiO!NSQWO'#JiO!NqQWO'#DhO# SQWO'#DhO##eQUO'#DhO##lQSO'#JhO##tQSO,5:RO##yQSO'#EnO#$XQSO'#JvO#$aQSO,5;XO#$fQWO'#DhO#$sQWO'#ESOOQ(CY,5:l,5:lO%[QUO,5:lO#$zQSO,5:lO>jQSO,5;SO!@eQWO,5;SO!@mQ,UO,5;SO9{Q,UO,5;SO#%SQSO,5@TO#%XQ!LQO,5:pOOQO-E<_-E<_O#&_Q(C`O,5:{OChQWO,5:oO#&iQWO,5:oOChQWO,5:{O!@YQ(C[O,5:oOOQ(CW'#Ed'#EdOOQO,5:{,5:{O%[QUO,5:{O#&vQ(C[O,5:{O#'RQ(C[O,5:{O!@eQWO,5:oOOQO,5;R,5;RO#'aQ(C[O,5:{POOO'#IU'#IUP#'uO?MpO,58zPOOO,58z,58zOOOO-EvO+}QUO,5>vOOQO,5>|,5>|O#(aQUO'#I[OOQO-ERQ(CjO1G0yO#?yQ(CjO1G0yO#ByQ$IUO'#CgO#DwQ$IUO1G1[O#EOQ$IUO'#JfO!,YQSO1G1bO#E`Q(CjO,5?SOOQ(CW-EeQSO1G3kO$.VQUO1G3mO$2ZQUO'#HlOOQQ1G3p1G3pO$2hQSO'#HrO>jQSO'#HtOOQQ1G3v1G3vO$2pQUO1G3vO9eQ(C[O1G3|OOQQ1G4O1G4OOOQ(CW'#GX'#GXO9eQ(C[O1G4QO9eQ(C[O1G4SO$6wQSO,5@TO!*SQUO,5;YO9TQSO,5;YO>jQSO,5:SO!*SQUO,5:SO!@eQWO,5:SO$6|Q$IUO,5:SOOQO,5;Y,5;YO$7WQWO'#I]O$7nQSO,5@SOOQ(CY1G/m1G/mO$7vQWO'#IcO$8QQSO,5@bOOQ(CW1G0s1G0sO# SQWO,5:SOOQO'#I`'#I`O$8YQWO,5:nOOQ(CY,5:n,5:nO#$}QSO1G0WOOQ(CY1G0W1G0WO%[QUO1G0WOOQ(CY1G0n1G0nO>jQSO1G0nO!@eQWO1G0nO!@mQ,UO1G0nOOQ(CW1G5o1G5oO!@YQ(C[O1G0ZOOQO1G0g1G0gO%[QUO1G0gO$8aQ(C[O1G0gO$8lQ(C[O1G0gO!@eQWO1G0ZOChQWO1G0ZO$8zQ(C[O1G0gOOQO1G0Z1G0ZO$9`Q(CjO1G0gPOOO-EvO$9|QSO1G5mO$:UQSO1G5zO$:^QbO1G5{O9TQSO,5>|O$:hQ(CjO1G5xO%[QUO1G5xO$:xQ(C[O1G5xO$;ZQSO1G5wO$;ZQSO1G5wO9TQSO1G5wO$;cQSO,5?PO9TQSO,5?POOQO,5?P,5?PO$;wQSO,5?PO$$XQSO,5?POOQO-ExQ(CjO,5WOOQQ,5>W,5>WO%[QUO'#HmO%(ZQSO'#HoOOQQ,5>^,5>^O9TQSO,5>^OOQQ,5>`,5>`OOQQ7+)b7+)bOOQQ7+)h7+)hOOQQ7+)l7+)lOOQQ7+)n7+)nO%(`QWO1G5oO%(tQ$IUO1G0tO%)OQSO1G0tOOQO1G/n1G/nO%)ZQ$IUO1G/nO>jQSO1G/nO!*SQUO'#DhOOQO,5>w,5>wOOQO-E},5>}OOQO-EjQSO7+&YO!@eQWO7+&YOOQO7+%u7+%uO$9`Q(CjO7+&ROOQO7+&R7+&RO%[QUO7+&RO%)eQ(C[O7+&RO!@YQ(C[O7+%uO!@eQWO7+%uO%)pQ(C[O7+&RO%*OQ(CjO7++dO%[QUO7++dO%*`QSO7++cO%*`QSO7++cOOQO1G4k1G4kO9TQSO1G4kO%*hQSO1G4kOOQO7+%z7+%zO#$}QSO<xOOQO-E<[-E<[O%2^QbO,5>yO%[QUO,5>yOOQO-E<]-E<]O%2hQSO1G5qOOQ(CY<XQ$IUO1G0yO%>`Q$IUO1G0yO%@WQ$IUO1G0yO%@kQ(CjO<XOOQQ,5>Z,5>ZO%NUQSO1G3xO9TQSO7+&`O!*SQUO7+&`OOQO7+%Y7+%YO%NZQ$IUO1G5{O>jQSO7+%YOOQ(CY<jQSO<jQSO7+)dO&5rQSO<{AN>{O%[QUOAN?XOOQO<SQSO7++uO%LgQSOANAyOOQQANAyANAyO!&^Q,UOANAyO&>[QSOANAyOOQQANA{ANA{O9eQ(C[OANA{O#MzQSOANA{OOQO'#HW'#HWOOQO7+*e7+*eOOQQG22uG22uOOQQANEPANEPOOQQANEQANEQOOQQANBTANBTO&>dQSOANBTOOQQ<iQSOLD,jO&>qQ$IUO7+'tO&@gQ$IUO7+'vO&B]Q,UOG26|OOQO<YOPZXYZXlZXzZX{ZX}ZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(TZX(dZX(kZX(lZX!WZX!XZX~O#zZX~P#@sOP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO#t:RO#v:TO#w:UO(TVO(d$ZO(k#|O(l#}O~O#z.iO~P#CQO#Y:ZO#|:ZO#z(YX!X(YX~P! UO_'[a!W'[a'm'[a'k'[a!h'[a!T'[ap'[a!Y'[a%b'[a!b'[a~P!7zOP#giY#gi_#gil#gi{#gi!W#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'm#gi(T#gi(d#gi'k#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~P#,gO_#{i!W#{i'm#{i'k#{i!T#{i!h#{ip#{i!Y#{i%b#{i!b#{i~P!7zO$X.nO$Z.nO~O$X.oO$Z.oO~O!b)_O#Y.pO!Y$_X$U$_X$X$_X$Z$_X$b$_X~O!V.qO~O!Y)bO$U.sO$X)aO$Z)aO$b.tO~O!W:VO!X(XX~P#CQO!X.uO~O!b)_O$b(mX~O$b.wO~Or)qO(U)rO(V.zO~O!T/OO~P!&^O!WdX!bdX!hdX!h$tX(ddX~P!/bO!h/UO~P#,gO!W/VO!b#uO(d'gO!h(qX~O!h/[O~O!V*SO'v%`O!h(qP~O#e/^O~O!T$tX!W$tX!b${X~P!/bO!W/_O!T(rX~P#,gO!b/aO~O!T/cO~Ol/gO!b#uO!i%^O(P%RO(d'gO~O'v/iO~O!b+YO~O_%gO!W/mO'm%gO~O!X/oO~P!3`O!^/pO!_/pO'w!lO(W!mO~O}/rO(W!mO~O#U/sO~O'v&QOe'aX!W'aX~O!W*lOe(Qa~Oe/xO~Oz/yO{/yO}/zOhwa(kwa(lwa!Wwa#Ywa~Oewa#zwa~P$ hOz)vO})wOh$ma(k$ma(l$ma!W$ma#Y$ma~Oe$ma#z$ma~P$!^Oz)vO})wOh$oa(k$oa(l$oa!W$oa#Y$oa~Oe$oa#z$oa~P$#PO#e/|O~Oe$}a!W$}a#Y$}a#z$}a~P!0kO!b#uO~O#e0PO~O!W*}O_(va'm(va~Oz#yO{#zO}#{O!g#wO!i#xO(TVOP!oiY!oil!oi!W!oi!f!oi!m!oi#h!oi#i!oi#j!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#r!oi#t!oi#v!oi#w!oi(d!oi(k!oi(l!oi~O_!oi'm!oi'k!oi!T!oi!h!oip!oi!Y!oi%b!oi!b!oi~P$$nOh.UO!Y'VO%b.TO~Oj0ZO'v0YO~P!1]O!b+YO_(Oa!Y(Oa'm(Oa!W(Oa~O#e0aO~OYZX!WdX!XdX~O!W0bO!X(zX~O!X0dO~OY0eO~O'v+bO'xTO'{UO~O!Y%wO'v%`O^'iX!W'iX~O!W+gO^(ya~O!h0jO~P!7zOY0mO~O^0nO~O#Y0qO~Oh0tO!Y$|O~O(W(tO!X(wP~Oh0}O!Y0zO%b0|O(P%RO~OY1XO!W1VO!X(xX~O!X1YO~O^1[O_%gO'm%gO~O'v#mO'xTO'{UO~O#Y$eO#|$eOP(YXY(YXl(YXz(YX{(YX}(YX!W(YX!f(YX!i(YX!m(YX#h(YX#i(YX#j(YX#k(YX#l(YX#m(YX#n(YX#o(YX#r(YX#t(YX#v(YX#w(YX(T(YX(d(YX(k(YX(l(YX~O#p1_O&S1`O_(YX!g(YX~P$+dO#Y$eO#p1_O&S1`O~O_1bO~P%[O_1dO~O&]1gOP&ZiQ&ZiW&Zi_&Zib&Zic&Zij&Zil&Zim&Zin&Zit&Ziv&Zix&Zi}&Zi!R&Zi!S&Zi!Y&Zi!d&Zi!i&Zi!l&Zi!m&Zi!n&Zi!p&Zi!r&Zi!u&Zi!y&Zi#q&Zi$R&Zi$V&Zi%a&Zi%c&Zi%e&Zi%f&Zi%g&Zi%j&Zi%l&Zi%o&Zi%p&Zi%r&Zi&O&Zi&U&Zi&W&Zi&Y&Zi&[&Zi&_&Zi&e&Zi&k&Zi&m&Zi&o&Zi&q&Zi&s&Zi'k&Zi'v&Zi'x&Zi'{&Zi(T&Zi(c&Zi(p&Zi!X&Zi`&Zi&b&Zi~O`1mO!X1kO&b1lO~P`O!YXO!i1oO~O&i,jOP&diQ&diW&di_&dib&dic&dij&dil&dim&din&dit&div&dix&di}&di!R&di!S&di!Y&di!d&di!i&di!l&di!m&di!n&di!p&di!r&di!u&di!y&di#q&di$R&di$V&di%a&di%c&di%e&di%f&di%g&di%j&di%l&di%o&di%p&di%r&di&O&di&U&di&W&di&Y&di&[&di&_&di&e&di&k&di&m&di&o&di&q&di&s&di'k&di'v&di'x&di'{&di(T&di(c&di(p&di!X&di&]&di`&di&b&di~O!T1uO~O!W![a!X![a~P#CQOm!nO}!oO!V1{O(W!mO!W'PX!X'PX~P@OO!W,zO!X([a~O!W'VX!X'VX~P!7SO!W,}O!X(ja~O!X2SO~P'_O_%gO#Y2]O'm%gO~O_%gO!b#uO#Y2]O'm%gO~O_%gO!b#uO!m2aO#Y2]O'm%gO(d'gO~O_%gO'm%gO~P!7zO!W$aOp$la~O!T'Oi!W'Oi~P!7zO!W'{O!T(Zi~O!W(SO!T(hi~O!T(ii!W(ii~P!7zO!W(fi!h(fi_(fi'm(fi~P!7zO#Y2cO!W(fi!h(fi_(fi'm(fi~O!W(`O!h(ei~O}%aO!Y%bO!y]O#c2hO#d2gO'v%`O~O}%aO!Y%bO#d2gO'v%`O~Oh2oO!Y'VO%b2nO~Oh2oO!Y'VO%b2nO(P%RO~O#ewaPwaYwa_walwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa'mwa(Twa(dwa!hwa!Twa'kwapwa!Ywa%bwa!bwa~P$ hO#e$maP$maY$ma_$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma'm$ma(T$ma(d$ma!h$ma!T$ma'k$map$ma!Y$ma%b$ma!b$ma~P$!^O#e$oaP$oaY$oa_$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa'm$oa(T$oa(d$oa!h$oa!T$oa'k$oap$oa!Y$oa%b$oa!b$oa~P$#PO#e$}aP$}aY$}a_$}al$}a{$}a!W$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a'm$}a(T$}a(d$}a!h$}a!T$}a'k$}a#Y$}ap$}a!Y$}a%b$}a!b$}a~P#,gO_#]q!W#]q'm#]q'k#]q!T#]q!h#]qp#]q!Y#]q%b#]q!b#]q~P!7zOe'QX!W'QX~P!'vO!W._Oe(^a~O!V2wO!W'RX!h'RX~P%[O!W.bO!h(_a~O!W.bO!h(_a~P!7zO!T2zO~O#z!ka!X!ka~PJxO#z!ca!W!ca!X!ca~P#CQO#z!oa!X!oa~P!:eO#z!qa!X!qa~P!=OO!Y3^O$VfO$`3_O~O!X3cO~Op3dO~P#,gO_$iq!W$iq'm$iq'k$iq!T$iq!h$iqp$iq!Y$iq%b$iq!b$iq~P!7zO!T3eO~P#,gOz)vO})wO(l){Oh%Yi(k%Yi!W%Yi#Y%Yi~Oe%Yi#z%Yi~P$I|Oz)vO})wOh%[i(k%[i(l%[i!W%[i#Y%[i~Oe%[i#z%[i~P$JoO(d$ZO~P#,gO!V3hO'v%`O!W']X!h']X~O!W/VO!h(qa~O!W/VO!b#uO!h(qa~O!W/VO!b#uO(d'gO!h(qa~Oe$vi!W$vi#Y$vi#z$vi~P!0kO!V3pO'v*XO!T'_X!W'_X~P!1YO!W/_O!T(ra~O!W/_O!T(ra~P#,gO!b#uO#p3xO~Ol3{O!b#uO(d'gO~Oe(Ri!W(Ri~P!0kO#Y4OOe(Ri!W(Ri~P!0kO!h4RO~O_$jq!W$jq'm$jq'k$jq!T$jq!h$jqp$jq!Y$jq%b$jq!b$jq~P!7zO!T4VO~O!W4WO!Y(sX~P#,gO!g#wO~P4XO_$tX!Y$tX%VZX'm$tX!W$tX~P!/bO%V4YO_iXhiXziX}iX!YiX'miX(kiX(liX!WiX~O%V4YO~O%c4aO'v+bO'xTO'{UO!W'hX!X'hX~O!W0bO!X(za~OY4eO~O^4fO~O_%gO'm%gO~P#,gO!Y$|O~P#,gO!W4nO#Y4pO!X(wX~O!X4qO~Om!nO}4rO!]!xO!^!uO!_!uO!y9rO!}!pO#O!pO#P!pO#Q!pO#R!pO#U4wO#V!yO'w!lO'xTO'{UO(W!mO(c!sO~O!X4vO~P%$nOh4|O!Y0zO%b4{O~Oh4|O!Y0zO%b4{O(P%RO~O'v#mO!W'gX!X'gX~O!W1VO!X(xa~O'xTO'{UO(W5VO~O^5ZO~O#p5^O&S5_O~PMhO!h5`O~P%[O_5bO~O_5bO~P%[O`1mO!X5gO&b1lO~P`O!b5iO~O!b5kO!W(]i!X(]i!b(]i!i(]i(P(]i~O!W#bi!X#bi~P#CQO#Y5lO!W#bi!X#bi~O!W![i!X![i~P#CQO_%gO#Y5uO'm%gO~O_%gO!b#uO#Y5uO'm%gO~O!W(fq!h(fq_(fq'm(fq~P!7zO!W(`O!h(eq~O}%aO!Y%bO#d5|O'v%`O~O!Y'VO%b6PO~Oh6SO!Y'VO%b6PO~O#e%YiP%YiY%Yi_%Yil%Yi{%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi'm%Yi(T%Yi(d%Yi!h%Yi!T%Yi'k%Yip%Yi!Y%Yi%b%Yi!b%Yi~P$I|O#e%[iP%[iY%[i_%[il%[i{%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i'm%[i(T%[i(d%[i!h%[i!T%[i'k%[ip%[i!Y%[i%b%[i!b%[i~P$JoO#e$viP$viY$vi_$vil$vi{$vi!W$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi'm$vi(T$vi(d$vi!h$vi!T$vi'k$vi#Y$vip$vi!Y$vi%b$vi!b$vi~P#,gOe'Qa!W'Qa~P!0kO!W'Ra!h'Ra~P!7zO!W.bO!h(_i~O#z#]i!W#]i!X#]i~P#CQOP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O(TVOY#gil#gi!f#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(d#gi(k#gi(l#gi!W#gi!X#gi~O#h#gi~P%2}O#h9zO~P%2}OP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O(TVOY#gi!f#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(d#gi(k#gi(l#gi!W#gi!X#gi~Ol#gi~P%5YOl9|O~P%5YOP$]Ol9|Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O(TVO#r#gi#t#gi#v#gi#w#gi#z#gi(d#gi(k#gi(l#gi!W#gi!X#gi~OY#gi!f#gi#m#gi#n#gi#o#gi#p#gi~P%7eOY:YO!f:OO#m:OO#n:OO#o:XO#p:OO~P%7eOP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO(TVO#t#gi#v#gi#w#gi#z#gi(d#gi(l#gi!W#gi!X#gi~O(k#gi~P%:PO(k#|O~P%:POP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO#t:RO(TVO(k#|O#v#gi#w#gi#z#gi(d#gi!W#gi!X#gi~O(l#gi~P%<[O(l#}O~P%<[OP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO#t:RO#v:TO(TVO(k#|O(l#}O~O#w#gi#z#gi(d#gi!W#gi!X#gi~P%>gO_#xy!W#xy'm#xy'k#xy!T#xy!h#xyp#xy!Y#xy%b#xy!b#xy~P!7zOh;mOz)vO})wO(k)yO(l){O~OP#giY#gil#gi{#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(T#gi(d#gi!W#gi!X#gi~P%A_O!g#wOP(SXY(SXh(SXl(SXz(SX{(SX}(SX!f(SX!i(SX!m(SX#h(SX#i(SX#j(SX#k(SX#l(SX#m(SX#n(SX#o(SX#p(SX#r(SX#t(SX#v(SX#w(SX#z(SX(T(SX(d(SX(k(SX(l(SX!W(SX!X(SX~O#z#{i!W#{i!X#{i~P#CQO#z!oi!X!oi~P$$nO!X6`O~O!W'[a!X'[a~P#CQO!b#uO(d'gO!W']a!h']a~O!W/VO!h(qi~O!W/VO!b#uO!h(qi~Oe$vq!W$vq#Y$vq#z$vq~P!0kO!T'_a!W'_a~P#,gO!b6gO~O!W/_O!T(ri~P#,gO!W/_O!T(ri~O!T6kO~O!b#uO#p6pO~Ol6qO!b#uO(d'gO~O!T6sO~Oe$xq!W$xq#Y$xq#z$xq~P!0kO_$jy!W$jy'm$jy'k$jy!T$jy!h$jyp$jy!Y$jy%b$jy!b$jy~P!7zO!b5kO~O!W4WO!Y(sa~O_#]y!W#]y'm#]y'k#]y!T#]y!h#]yp#]y!Y#]y%b#]y!b#]y~P!7zOY6xO~O!W0bO!X(zi~O^7OO~O(W(tO!W'dX!X'dX~O!W4nO!X(wa~OjkO'v7VO~P.iO!X7YO~P%$nOm!nO}7ZO'xTO'{UO(W!mO(c!sO~O!Y0zO~O!Y0zO%b7]O~Oh7`O!Y0zO%b7]O~OY7eO!W'ga!X'ga~O!W1VO!X(xi~O!h7iO~O!h7jO~O!h7mO~O!h7mO~P%[O_7oO~O!b7pO~O!h7qO~O!W(ii!X(ii~P#CQO_%gO#Y7yO'm%gO~O!W(fy!h(fy_(fy'm(fy~P!7zO!W(`O!h(ey~O!Y'VO%b7|O~O#e$vqP$vqY$vq_$vql$vq{$vq!W$vq!f$vq!g$vq!i$vq!m$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#o$vq#p$vq#r$vq#t$vq#v$vq#w$vq'm$vq(T$vq(d$vq!h$vq!T$vq'k$vq#Y$vqp$vq!Y$vq%b$vq!b$vq~P#,gO#e$xqP$xqY$xq_$xql$xq{$xq!W$xq!f$xq!g$xq!i$xq!m$xq#h$xq#i$xq#j$xq#k$xq#l$xq#m$xq#n$xq#o$xq#p$xq#r$xq#t$xq#v$xq#w$xq'm$xq(T$xq(d$xq!h$xq!T$xq'k$xq#Y$xqp$xq!Y$xq%b$xq!b$xq~P#,gO!W'Ri!h'Ri~P!7zO#z#]q!W#]q!X#]q~P#CQOz/yO{/yO}/zOPwaYwahwalwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa#zwa(Twa(dwa(kwa(lwa!Wwa!Xwa~Oz)vO})wOP$maY$mah$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma#z$ma(T$ma(d$ma(k$ma(l$ma!W$ma!X$ma~Oz)vO})wOP$oaY$oah$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa#z$oa(T$oa(d$oa(k$oa(l$oa!W$oa!X$oa~OP$}aY$}al$}a{$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a#z$}a(T$}a(d$}a!W$}a!X$}a~P%A_O#z$iq!W$iq!X$iq~P#CQO#z$jq!W$jq!X$jq~P#CQO!X8WO~O#z8XO~P!0kO!b#uO!W']i!h']i~O!b#uO(d'gO!W']i!h']i~O!W/VO!h(qq~O!T'_i!W'_i~P#,gO!W/_O!T(rq~O!T8_O~P#,gO!T8_O~Oe(Ry!W(Ry~P!0kO!W'ba!Y'ba~P#,gO_%Uq!Y%Uq'm%Uq!W%Uq~P#,gOY8dO~O!W0bO!X(zq~O#Y8hO!W'da!X'da~O!W4nO!X(wi~P#CQOPZXYZXlZXzZX{ZX}ZX!TZX!WZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(TZX(dZX(kZX(lZX~O!b%SX#p%SX~P&2_O!Y0zO%b8lO~O'xTO'{UO(W8qO~O!W1VO!X(xq~O!h8tO~O!h8uO~O!h8vO~O!h8vO~P%[O#Y8yO!W#by!X#by~O!W#by!X#by~P#CQO!Y'VO%b9OO~O#z#xy!W#xy!X#xy~P#CQOP$viY$vil$vi{$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi#z$vi(T$vi(d$vi!W$vi!X$vi~P%A_Oz)vO})wO(l){OP%YiY%Yih%Yil%Yi{%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi#z%Yi(T%Yi(d%Yi(k%Yi!W%Yi!X%Yi~Oz)vO})wOP%[iY%[ih%[il%[i{%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i#z%[i(T%[i(d%[i(k%[i(l%[i!W%[i!X%[i~O#z$jy!W$jy!X$jy~P#CQO#z#]y!W#]y!X#]y~P#CQO!b#uO!W']q!h']q~O!W/VO!h(qy~O!T'_q!W'_q~P#,gO!T9VO~P#,gO!W0bO!X(zy~O!W4nO!X(wq~O!Y0zO%b9^O~O!h9aO~O!Y'VO%b9fO~OP$vqY$vql$vq{$vq!f$vq!g$vq!i$vq!m$vq#h$vq#i$vq#j$vq#k$vq#l$vq#m$vq#n$vq#o$vq#p$vq#r$vq#t$vq#v$vq#w$vq#z$vq(T$vq(d$vq!W$vq!X$vq~P%A_OP$xqY$xql$xq{$xq!f$xq!g$xq!i$xq!m$xq#h$xq#i$xq#j$xq#k$xq#l$xq#m$xq#n$xq#o$xq#p$xq#r$xq#t$xq#v$xq#w$xq#z$xq(T$xq(d$xq!W$xq!X$xq~P%A_Oe%^!Z!W%^!Z#Y%^!Z#z%^!Z~P!0kO!W'dq!X'dq~P#CQO!W#b!Z!X#b!Z~P#CQO#e%^!ZP%^!ZY%^!Z_%^!Zl%^!Z{%^!Z!W%^!Z!f%^!Z!g%^!Z!i%^!Z!m%^!Z#h%^!Z#i%^!Z#j%^!Z#k%^!Z#l%^!Z#m%^!Z#n%^!Z#o%^!Z#p%^!Z#r%^!Z#t%^!Z#v%^!Z#w%^!Z'm%^!Z(T%^!Z(d%^!Z!h%^!Z!T%^!Z'k%^!Z#Y%^!Zp%^!Z!Y%^!Z%b%^!Z!b%^!Z~P#,gOP%^!ZY%^!Zl%^!Z{%^!Z!f%^!Z!g%^!Z!i%^!Z!m%^!Z#h%^!Z#i%^!Z#j%^!Z#k%^!Z#l%^!Z#m%^!Z#n%^!Z#o%^!Z#p%^!Z#r%^!Z#t%^!Z#v%^!Z#w%^!Z#z%^!Z(T%^!Z(d%^!Z!W%^!Z!X%^!Z~P%A_Op(XX~P1qO'w!lO~P!*SO!TdX!WdX#YdX~P&2_OPZXYZXlZXzZX{ZX}ZX!WZX!WdX!fZX!gZX!iZX!mZX#YZX#YdX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(TZX(dZX(kZX(lZX~O!bdX!hZX!hdX(ddX~P&GuOP9qOQ9qOb;bOc!iOjkOl9qOmkOnkOtkOv9qOx9qO}WO!RkO!SkO!YXO!d9tO!iZO!l9qO!m9qO!n9qO!p9uO!r9xO!u!hO$R!kO$VfO'v)UO'xTO'{UO(TVO(c[O(p;`O~O!W:VO!X$la~Oj%SOl$tOm$sOn$sOt%TOv%UOx:]O}${O!Y$|O!d;gO!i$xO#d:cO$R%YO$n:_O$p:aO$s%ZO'v(lO'xTO'{UO(P%RO(T$uO~O#q)]O~P&LkO!XZX!XdX~P&GuO#e9yO~O!b#uO#e9yO~O#Y:ZO~O#p:OO~O#Y:eO!W(iX!X(iX~O#Y:ZO!W(gX!X(gX~O#e:fO~Oe:hO~P!0kO#e:mO~O#e:nO~O!b#uO#e:oO~O!b#uO#e:fO~O#z:pO~P#CQO#e:qO~O#e:rO~O#e:sO~O#e:tO~O#e:uO~O#e:vO~O#z:wO~P!0kO#z:xO~P!0kO$V~!g!}#O#Q#R#U#c#d#o(p$n$p$s%V%a%b%c%j%l%o%p%r%t~'qR$V(p#i!S'o'w#jm#h#klz'p(W'p'v$X$Z$X~",goto:"$'R)OPPPP)PPP)SP)eP*t.xPPPP5YPP5pP;l>sP?WP?WPPP?WP@xP?WP?WP?WP@|PPARPAlPFdPPPFhPPPPFhIiPPPIoJjPFhPLxPPPP! WFhPPPFhPFhP!#fFhP!&z!'|!(VP!(y!(}!(yPPPPP!,Y!'|PP!,v!-pP!0dFhFh!0i!3s!8Y!8Y!wP#@W#@_#@gPPPP#Du#Gl#NT#NW#NZ$ S$ V$ Y$ a$ iPP$ o$ s$!k$#j$#n$$SPP$$W$$^$$bP$$e$$i$$l$%b$%y$&b$&f$&i$&l$&r$&u$&y$&}R!{RoqOXst!Z#c%f&i&k&l&n,b,g1g1jY!uQ'V-S0z4uQ%lvQ%tyQ%{|Q&a!VS&}!e,zQ']!iS'c!r!xS*_$|*dQ+`%uQ+m%}Q,R&ZQ-Q'UQ-['^Q-d'dQ/p*fQ1U,SR:d9u%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|,_,b,g-W-`-n-t.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2w4r4|5^5_5b5u7Z7`7o7yS#p]9r!r)W$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ*o%VQ+e%wQ,T&^Q,[&fQ.X:[Q0W+WQ0[+YQ0g+fQ1^,YQ2k.UQ4`0bQ5T1VQ6R2oQ6X:]Q6z4aR8P6S&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;ct!nQ!r!u!x!y&}'U'V'c'd'e,z-Q-S-d0z4u4w$^$si#u#w$c$d$x${%W%X%])q)w)z)|)}*U*[*j*k+V+Y+q+t.T._/P/^/_/a/|0q0t0|2n3f3p3x4O4W4Y4{6P6g6p7]7|8X8l9O9^9f:X:Y:^:_:`:a:b:c:i:j:k:l:m:n:q:r:s:t:w:x;`;h;i;l;mQ&O|Q&{!eS'R%b,}Q+e%wQ/{*sQ0g+fQ0l+lQ1],XQ1^,YQ4`0bQ4i0nQ5W1XQ5X1[Q6z4aQ6}4fQ7h5ZQ8g7OR8r7ernOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jR,V&b&v^OPXYstuvwz!Z!`!g!j!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'X'i'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;b;c[#[WZ#V#Y'O'y!S%cm#g#h#k%^%a(S(^(_(`*z*{*},^,t-r-x-y-z-|1o2g2h5k5|Q%oxQ%syS%x|%}Q&U!TQ'Y!hQ'[!iQ(g#rS*R$x*VS+_%t%uQ+c%wQ+|&XQ,Q&ZS-Z']'^Q.W(hQ/Z*SQ0`+`Q0f+fQ0h+gQ0k+kQ1P+}S1T,R,SQ2X-[Q3g/VQ4_0bQ4c0eQ4h0mQ5S1UQ6d3hQ6y4aQ6|4eQ8c6xR9X8dv$zi#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;i!S%qy!i!t%s%t%u&|'[']'^'b'l*^+_+`,w-Z-[-c/h0`2Q2X2`3zQ+X%oQ+r&RQ+u&SQ,P&ZQ.V(gQ1O+|U1S,Q,R,SQ2p.WQ4}1PS5R1T1UQ7d5S#O;d#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mg;e:X:Y:_:a:c:j:l:n:r:t:xW%Pi%R*l;`S&R!Q&`Q&S!RQ&T!SR+p&P$_%Oi#u#w$c$d$x${%W%X%])q)w)z)|)}*U*[*j*k+V+Y+q+t.T._/P/^/_/a/|0q0t0|2n3f3p3x4O4W4Y4{6P6g6p7]7|8X8l9O9^9f:X:Y:^:_:`:a:b:c:i:j:k:l:m:n:q:r:s:t:w:x;`;h;i;l;mT)r$u)sV*p%V:[:]U'R!e%b,}S(u#y#zQ+j%zS.P(c(dQ0u+vQ4P/yR7S4n&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;c$i$`c#X#d%j%k%m'x(O(j(q(y(z({(|(})O)P)Q)R)S)T)V)Y)^)h+T+i,x-g-l-q-s.^.d.h.j.k.l.{/}1v1y2Z2b2v2{2|2}3O3P3Q3R3S3T3U3V3W3X3[3]3b4T4]5n5t5y6V6W6]6^7U7s7w8Q8U8V8{9Z9b9s;VT#SV#T&}kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ'P!eR1|,zv!nQ!e!r!u!x!y&}'U'V'c'd'e,z-Q-S-d0z4u4wS*^$|*dS/h*_*fQ/q*gQ0w+xQ3z/pR3}/snqOXst!Z#c%f&i&k&l&n,b,g1g1jQ&p!^Q'm!wS(i#t9yQ+]%rQ+z&UQ+{&WQ-X'ZQ-f'fS.](n:fS0O*x:oQ0^+^Q0y+yQ1n,iQ1p,jQ1x,uQ2V-YQ2Y-^S4U0P:uQ4Z0_S4^0a:vQ5m1zQ5q2WQ5v2_Q6w4[Q7t5oQ7u5rQ7x5wR8x7q$d$_c#X#d%k%m'x(O(j(q(y(z({(|(})O)P)Q)R)S)T)V)Y)^)h+T+i,x-g-l-q-s.^.d.h.k.l.{/}1v1y2Z2b2v2{2|2}3O3P3Q3R3S3T3U3V3W3X3[3]3b4T4]5n5t5y6V6W6]6^7U7s7w8Q8U8V8{9Z9b9s;VS(f#o'`U*i$}(m3ZS+S%j.jQ2l0WQ6O2kQ8O6RR9P8P$d$^c#X#d%k%m'x(O(j(q(y(z({(|(})O)P)Q)R)S)T)V)Y)^)h+T+i,x-g-l-q-s.^.d.h.k.l.{/}1v1y2Z2b2v2{2|2}3O3P3Q3R3S3T3U3V3W3X3[3]3b4T4]5n5t5y6V6W6]6^7U7s7w8Q8U8V8{9Z9b9s;VS(e#o'`S(w#z$_S+R%j.jS.Q(d(fQ.m)XQ0T+SR2i.R&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cS#p]9rQ&k!XQ&l!YQ&n![Q&o!]R1f,eQ'W!hQ+U%oQ-V'YS.S(g+XQ2T-UW2m.V.W0V0XQ5p2UU5}2j2l2pS7{6O6QS8}7}8OS9d8|9PQ9l9eR9o9mU!vQ'V-ST4s0z4u!Q_OXZ`st!V!Z#c#g%^%f&`&b&i&k&l&n(`,b,g-y1g1j]!pQ!r'V-S0z4uT#p]9r%Y{OPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yS(u#y#zS.P(c(d!s:|$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cY!tQ'V-S0z4uQ'b!rS'l!u!xS'n!y4wS-c'c'dQ-e'eR2`-dQ'k!tS([#f1aS-b'b'nQ/Y*RQ/f*^Q2a-eQ3l/ZS3u/g/qQ6c3gS6n3{3}Q8Z6dR8b6qQ#vbQ'j!tS(Z#f1aS(]#l*wQ*y%_Q+Z%pQ+a%vU-a'b'k'nQ-u([Q/X*RQ/e*^Q/k*aQ0]+[Q1Q,OS2^-b-eQ2f-}S3k/Y/ZS3t/f/qQ3w/jQ3y/lQ5P1RQ5x2aQ6b3gQ6f3lS6j3u3}Q6o3|Q7b5QS8Y6c6dQ8^6kQ8`6nQ8o7cQ9T8ZQ9U8_Q9W8bQ9`8pQ9h9VQ;P:zQ;[;TR;];UV!vQ'V-S%YaOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yS#vz!j!r:y$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cR;P;b%YbOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yQ%_j!S%py!i!t%s%t%u&|'[']'^'b'l*^+_+`,w-Z-[-c/h0`2Q2X2`3zS%vz!jQ+[%qQ,O&ZW1R,P,Q,R,SU5Q1S1T1US7c5R5SQ8p7d!r:z$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ;T;aR;U;b$|eOPXYstuvw!Z!`!g!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&i&k&l&n&r&z'X'i'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yY#aWZ#V#Y'y!S%cm#g#h#k%^%a(S(^(_(`*z*{*},^,t-r-x-y-z-|1o2g2h5k5|Q,]&f!p:{$[$m)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cR;O'OS'S!e%bR2O,}%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|,_,b,g-W-`-n-t.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2w4r4|5^5_5b5u7Z7`7o7y!r)W$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ,[&fQ0W+WQ2k.UQ6R2oR8P6S!f$Uc#X%j'x(O(j(q)Q)R)S)T)Y)^+i-g-l-q-s.^.d.{/}2Z2b2v3X4T4]5t5y6V7w8{9s!T:Q)V)h,x.j1v1y2{3T3U3V3W3[3b5n6W6]6^7U7s8Q8U8V9Z9b;V!b$Wc#X%j'x(O(j(q)S)T)Y)^+i-g-l-q-s.^.d.{/}2Z2b2v3X4T4]5t5y6V7w8{9s!P:S)V)h,x.j1v1y2{3V3W3[3b5n6W6]6^7U7s8Q8U8V9Z9b;V!^$[c#X%j'x(O(j(q)Y)^+i-g-l-q-s.^.d.{/}2Z2b2v3X4T4]5t5y6V7w8{9sQ3f/Tz;c)V)h,x.j1v1y2{3[3b5n6W6]6^7U7s8Q8U8V9Z9b;VQ;h;jR;i;k&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cS$nh$oR3_.p'TgOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.p.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cT$jf$pQ$hfS)a$k)eR)m$pT$if$pT)c$k)e'ThOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.p.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cT$nh$oQ$qhR)l$o%YjOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7y!s;a$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;c#clOPXZst!Z!`!o#R#c#n#{$m%f&b&e&f&i&k&l&n&r&z'X(v)j*|+W,_,b,g-W.U.q/z0}1_1`1b1d1g1j1l2o3^4r4|5^5_5b6S7Z7`7ov$}i#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;i#O(m#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mQ*t%ZQ.|)vg3Z:X:Y:_:a:c:j:l:n:r:t:xv$yi#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;iQ*W$zS*a$|*dQ*u%[Q/l*b#O;R#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mf;S:X:Y:_:a:c:j:l:n:r:t:xQ;W;dQ;X;eQ;Y;fR;Z;gv$}i#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;i#O(m#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mg3Z:X:Y:_:a:c:j:l:n:r:t:xnoOXst!Z#c%f&i&k&l&n,b,g1g1jQ*Z${Q,p&uQ,q&wR3o/_$^%Oi#u#w$c$d$x${%W%X%])q)w)z)|)}*U*[*j*k+V+Y+q+t.T._/P/^/_/a/|0q0t0|2n3f3p3x4O4W4Y4{6P6g6p7]7|8X8l9O9^9f:X:Y:^:_:`:a:b:c:i:j:k:l:m:n:q:r:s:t:w:x;`;h;i;l;mQ+s&SQ0s+uQ4l0rR7R4mT*c$|*dS*c$|*dT4t0z4uS/j*`4rT3|/r7ZQ+Z%pQ/k*aQ0]+[Q1Q,OQ5P1RQ7b5QQ8o7cR9`8pn)z$v(o*v/]/t/u2t3m4S6a6r9S;Q;^;_!Y:i(k)[*Q*Y.[.x.}/T/b0U0p0r2s3n3r4k4m6T6U6h6l6t6v8]8a9g;j;k]:j3Y6[8R9Q9R9pp)|$v(o*v/R/]/t/u2t3m4S6a6r9S;Q;^;_![:k(k)[*Q*Y.[.x.}/T/b0U0p0r2q2s3n3r4k4m6T6U6h6l6t6v8]8a9g;j;k_:l3Y6[8R8S9Q9R9prnOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jQ&]!UR,_&frnOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jR&]!UQ+w&TR0o+psnOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jQ0{+|S4z1O1PU7[4x4y4}S8k7^7_S9[8j8mQ9i9]R9n9jQ&d!VR,W&`R5W1XS%x|%}R0h+gQ&i!WR,b&jR,h&oT1h,g1jR,l&pQ,k&pR1q,lQ'p!zR-h'pSsOtQ#cXT%is#cQ!}TR'r!}Q#QUR't#QQ)s$uR.y)sQ#TVR'v#TQ#WWU'|#W'}-oQ'}#XR-o(OQ,{'PR1},{Q.`(oR2u.`Q.c(qS2x.c2yR2y.dQ-S'VR2R-SY!rQ'V-S0z4uR'a!rS#^W%aU(T#^(U-pQ(U#_R-p(PQ-O'SR2P-Ot`OXst!V!Z#c%f&`&b&i&k&l&n,b,g1g1jS#gZ%^U#q`#g-yR-y(`Q(a#iQ-v(]W.O(a-v2d5zQ2d-wR5z2eQ)e$kR.r)eQ$ohR)k$oQ$bcU)Z$b-k:WQ-k9sR:W)hQ/W*RW3i/W3j6e8[U3j/X/Y/ZS6e3k3lR8[6f#o)x$v(k(o)[*Q*Y*q*r*v.Y.Z.[.x.}/R/S/T/]/b/t/u0U0p0r2q2r2s2t3Y3m3n3r4S4k4m6T6U6Y6Z6[6a6h6l6r6t6v8R8S8T8]8a9Q9R9S9g9p;Q;^;_;j;kQ/`*YU3q/`3s6iQ3s/bR6i3rQ*d$|R/n*dQ*m%QR/w*mQ4X0UR6u4XQ+O%dR0S+OQ4o0uS7T4o8iR8i7UQ+y&UR0x+yQ4u0zR7X4uQ1W,TS5U1W7fR7f5WQ0c+cW4b0c4d6{8eQ4d0fQ6{4cR8e6|Q+h%xR0i+hQ1j,gR5f1jYrOXst#cQ&m!ZQ+Q%fQ,a&iQ,c&kQ,d&lQ,f&nQ1e,bS1h,g1jR5e1gQ%hpQ&q!_Q&t!aQ&v!bQ&x!cQ'h!tQ+P%eQ+]%rQ+o&OQ,V&dQ,n&sW-_'b'j'k'nQ-f'fQ/m*cQ0^+^S1Z,W,ZQ1r,mQ1s,pQ1t,qQ2Y-^W2[-a-b-e-gQ4Z0_Q4g0lQ4j0pQ5O1QQ5Y1]Q5d1fU5s2Z2^2aQ5v2_Q6w4[Q7P4iQ7Q4kQ7W4tQ7a5PQ7g5XS7v5t5xQ7x5wQ8f6}Q8n7bQ8s7hQ8z7wQ9Y8gQ9_8oQ9c8{R9k9`Q%ryQ'Z!iQ'f!tU+^%s%t%uQ,u&|U-Y'[']'^S-^'b'lQ/d*^S0_+_+`Q1z,wS2W-Z-[Q2_-cQ3v/hQ4[0`Q5o2QQ5r2XQ5w2`R6m3zS$wi;`R*n%RU%Qi%R;`R/v*lQ$viS(k#u+YQ(o#wS)[$c$dQ*Q$xQ*Y${Q*q%WQ*r%XQ*v%]Q.Y:^Q.Z:`Q.[:bQ.x)qS.})w/PQ/R)zQ/S)|Q/T)}Q/]*UQ/b*[Q/t*jQ/u*kh0U+V.T0|2n4{6P7]7|8l9O9^9fQ0p+qQ0r+tQ2q:iQ2r:kQ2s:mQ2t._S3Y:X:YQ3m/^Q3n/_Q3r/aQ4S/|Q4k0qQ4m0tQ6T:qQ6U:sQ6Y:_Q6Z:aQ6[:cQ6a3fQ6h3pQ6l3xQ6r4OQ6t4WQ6v4YQ8R:nQ8S:jQ8T:lQ8]6gQ8a6pQ9Q:rQ9R:tQ9S8XQ9g:wQ9p:xQ;Q;`Q;^;hQ;_;iQ;j;lR;k;mnpOXst!Z#c%f&i&k&l&n,b,g1g1jQ!fPS#eZ#nQ&s!`U'_!o4r7ZQ'u#RQ(x#{Q)i$mS,Z&b&eQ,`&fQ,m&rQ,r&zQ-U'XQ.f(vQ.v)jQ0Q*|Q0X+WQ1c,_Q2U-WQ2l.UQ3a.qQ4Q/zQ4y0}Q5[1_Q5]1`Q5a1bQ5c1dQ5h1lQ6O2oQ6_3^Q7_4|Q7k5^Q7l5_Q7n5bQ8O6SQ8m7`R8w7o#WcOPXZst!Z!`!o#c#n#{%f&b&e&f&i&k&l&n&r&z'X(v*|+W,_,b,g-W.U/z0}1_1`1b1d1g1j1l2o4r4|5^5_5b6S7Z7`7oQ#XWQ#dYQ%juQ%kvS%mw!gS'x#V'{Q(O#YQ(j#tQ(q#xQ(y$OQ(z$PQ({$QQ(|$RQ(}$SQ)O$TQ)P$UQ)Q$VQ)R$WQ)S$XQ)T$YQ)V$[Q)Y$aQ)^$eW)h$m)j.q3^Q+T%lQ+i%yS,x'O1{Q-g'iS-l'y-nQ-q(RQ-s(YQ.^(nQ.d(rQ.h9qQ.j9tQ.k9uQ.l9xQ.{)uQ/}*xQ1v,sQ1y,vQ2Z-`Q2b-tQ2v.bQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S:QQ3T:RQ3U:SQ3V:TQ3W:UQ3X.iQ3[:ZQ3]:dQ3b:VQ4T0PQ4]0aQ5n:eQ5t2]Q5y2cQ6V2wQ6W:fQ6]:hQ6^:oQ7U4pQ7s5lQ7w5uQ8Q:pQ8U:uQ8V:vQ8{7yQ9Z8hQ9b8yQ9s#RR;V;cR#ZWR'Q!eY!tQ'V-S0z4uS&|!e,zQ'b!rS'l!u!xS'n!y4wS,w&}'US-c'c'dQ-e'eQ2Q-QR2`-dR(p#wR(s#xQ!fQT-R'V-S]!qQ!r'V-S0z4uQ#o]R'`9rT#jZ%^S#iZ%^S%dm,^U(]#g#h#kS-w(^(_Q-{(`Q0R*}Q2e-xU2f-y-z-|S5{2g2hR7z5|`#]W#V#Y%a'y(S*z-rr#fZm#g#h#k%^(^(_(`*}-x-y-z-|2g2h5|Q1a,^Q1w,tQ5j1oQ7r5kT:}'O*{T#`W%aS#_W%aS'z#V(SS(P#Y*zS,y'O*{T-m'y-rT'T!e%bQ$kfR)o$pT)d$k)eR3`.pT*T$x*VR*]${Q0V+VQ2j.TQ4x0|Q6Q2nQ7^4{Q7}6PQ8j7]Q8|7|Q9]8lQ9e9OQ9j9^R9m9fnqOXst!Z#c%f&i&k&l&n,b,g1g1jQ&c!VR,V&`tmOXst!U!V!Z#c%f&`&i&k&l&n,b,g1g1jR,^&fT%em,^R0v+vR,U&^Q%||R+n%}R+d%wT&g!W&jT&h!W&jT1i,g1j",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:367,context:y3,nodeProps:[["group",-26,7,15,17,63,200,204,208,209,211,214,217,227,229,235,237,239,241,244,250,256,258,260,262,264,266,267,"Statement",-32,11,12,26,29,30,36,46,49,50,52,57,65,73,77,79,81,82,104,105,114,115,132,135,137,138,139,140,142,143,163,164,166,"Expression",-23,25,27,31,35,37,39,167,169,171,172,174,175,176,178,179,180,182,183,184,194,196,198,199,"Type",-3,85,97,103,"ClassItem"],["openedBy",32,"InterpolationStart",51,"[",55,"{",70,"(",144,"JSXStartTag",156,"JSXStartTag JSXStartCloseTag"],["closedBy",34,"InterpolationEnd",45,"]",56,"}",71,")",145,"JSXSelfCloseEndTag JSXEndTag",161,"JSXEndTag"]],propSources:[k3],skippedNodes:[0,3,4,270],repeatNodeCount:33,tokenData:"$Fl(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Nu!`!a$#a!a!b$(n!b!c$,m!c!}Er!}#O$-w#O#P$/R#P#Q$4j#Q#R$5t#R#SEr#S#T$7R#T#o$8]#o#p$s#r#s$@P#s$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$I|Er$I|$I}$Df$I}$JO$Df$JO$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(n%d_$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$e&j'|!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU'|!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$e&j'ypOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'ypOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'yp'|!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$e&j'yp'|!b'o(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST'z#S$e&j'p(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$e&j'yp'|!b'p(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$e&j!m$Ip'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#r$Id$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#r$Id$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'x$(n$e&j'|!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$e&j'|!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$e&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$`#t$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$`#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$`#t$e&j'|!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'|!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$`#t'|!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hh$e&j'yp'|!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXUS$e&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSUSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWUS'|!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]US$e&j'ypOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWUS'ypOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYUS'yp'|!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%lQ^$e&j!SSOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$e&j!SSO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!SSOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!SS#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$e&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$e&j'|!b!SSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ'|!b!SSOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb'|!b!SSOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX'|!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$e&j'|!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#Zd$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$e&j'yp'|!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#x3[r]||-1},{term:330,get:r=>S3[r]||-1},{term:68,get:r=>C3[r]||-1}],tokenPrec:12827}),O$=[Qt("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),Qt("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),Qt("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Qt("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Qt("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),Qt(`try { + \${} +} catch (\${error}) { + \${} +}`,{label:"try",detail:"/ catch block",type:"keyword"}),Qt("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),Qt(`if (\${}) { + \${} +} else { + \${} +}`,{label:"if",detail:"/ else block",type:"keyword"}),Qt(`class \${name} { + constructor(\${params}) { + \${} + } +}`,{label:"class",detail:"definition",type:"keyword"}),Qt('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Qt('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],$3=O$.concat([Qt("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Qt("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Qt("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),X1=new jS,y$=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Lo(r){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,r),!0}}const A3=["FunctionDeclaration"],D3={FunctionDeclaration:Lo("function"),ClassDeclaration:Lo("class"),ClassExpression:()=>!0,EnumDeclaration:Lo("constant"),TypeAliasDeclaration:Lo("type"),NamespaceDeclaration:Lo("namespace"),VariableDefinition(r,e){r.matchContext(A3)||e(r,"variable")},TypeDefinition(r,e){e(r,"type")},__proto__:null};function b$(r,e){let t=X1.get(e);if(t)return t;let i=[],n=!0;function s(o,a){let l=r.sliceString(o.from,o.to);i.push({label:l,type:a})}return e.cursor(we.IncludeAnonymous).iterate(o=>{if(n)n=!1;else if(o.name){let a=D3[o.name];if(a&&a(o,s)||y$.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of b$(r,o.node))i.push(a);return!1}}),X1.set(e,i),i}const Y1=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,w$=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function T3(r){let e=Oe(r.state).resolveInner(r.pos,-1);if(w$.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Y1.test(r.state.sliceDoc(e.from,e.to));if(!t&&!r.explicit)return null;let i=[];for(let n=e;n;n=n.parent)y$.has(n.name)&&(i=i.concat(b$(r.state.doc,n)));return{options:i,from:t?e.from:r.pos,validFor:Y1}}const Hr=ao.define({name:"javascript",parser:Q3.configure({props:[dl.add({IfStatement:Bc({except:/^\s*({|else\b)/}),TryStatement:Bc({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:DI,SwitchBody:r=>{let e=r.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return r.baseIndent+(t?0:i?1:2)*r.unit},Block:AI({closing:"}"}),ArrowFunction:r=>r.baseIndent+r.unit,"TemplateString BlockComment":()=>null,"Statement Property":Bc({except:/^{/}),JSXElement(r){let e=/^\s*<\//.test(r.textAfter);return r.lineIndent(r.node.from)+(e?0:r.unit)},JSXEscape(r){let e=/\s*\}/.test(r.textAfter);return r.lineIndent(r.node.from)+(e?0:r.unit)},"JSXOpenTag JSXSelfClosingTag"(r){return r.column(r.node.from)+r.unit}}),ko.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":rC,BlockComment(r){return{from:r.from+2,to:r.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),v$={test:r=>/^JSX/.test(r.name),facet:th({commentTokens:{block:{open:"{/*",close:"*/}"}}})},k$=Hr.configure({dialect:"ts"},"typescript"),x$=Hr.configure({dialect:"jsx",props:[sg.add(r=>r.isTop?[v$]:void 0)]}),S$=Hr.configure({dialect:"jsx ts",props:[sg.add(r=>r.isTop?[v$]:void 0)]},"typescript");let C$=r=>({label:r,type:"keyword"});const Q$="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(C$),P3=Q$.concat(["declare","implements","private","protected","public"].map(C$));function E3(r={}){let e=r.jsx?r.typescript?S$:x$:r.typescript?k$:Hr,t=r.typescript?$3.concat(P3):O$.concat(Q$);return new _a(e,[Hr.data.of({autocomplete:Gq(w$,uQ(t))}),Hr.data.of({autocomplete:T3}),r.jsx?Z3:[]])}function M3(r){for(;;){if(r.name=="JSXOpenTag"||r.name=="JSXSelfClosingTag"||r.name=="JSXFragmentTag")return r;if(r.name=="JSXEscape"||!r.parent)return null;r=r.parent}}function V1(r,e,t=r.length){for(let i=e==null?void 0:e.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return r.sliceString(i.from,Math.min(i.to,t));return""}const R3=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Z3=q.inputHandler.of((r,e,t,i,n)=>{if((R3?r.composing:r.compositionStarted)||r.state.readOnly||e!=t||i!=">"&&i!="/"||!Hr.isActiveAt(r.state,e,-1))return!1;let s=n(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:u}=l,h=Oe(o).resolveInner(u-1,-1),d;if(h.name=="JSXStartTag"&&(h=h.parent),!(o.doc.sliceString(u-1,u)!=i||h.name=="JSXAttributeValue"&&h.to>u)){if(i==">"&&h.name=="JSXFragmentTag")return{range:l,changes:{from:u,insert:""}};if(i=="/"&&h.name=="JSXStartCloseTag"){let f=h.parent,p=f.parent;if(p&&f.from==u-2&&((d=V1(o.doc,p.firstChild,u))||((c=p.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let m=`${d}>`;return{range:D.cursor(u+m.length,-1),changes:{from:u,insert:m}}}}else if(i==">"){let f=M3(h);if(f&&!/^\/?>|^<\//.test(o.doc.sliceString(u,u+2))&&(d=V1(o.doc,f,u)))return{range:l,changes:{from:u,insert:``}}}}return{range:l}});return a.changes.empty?!1:(r.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Xo=["_blank","_self","_top","_parent"],Ld=["ascii","utf-8","utf-16","latin1","latin1"],Xd=["get","post","put","delete"],Yd=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Nt=["true","false"],W={},N3={a:{attrs:{href:null,ping:null,type:null,media:null,target:Xo,hreflang:null}},abbr:W,address:W,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:W,aside:W,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:W,base:{attrs:{href:null,target:Xo}},bdi:W,bdo:W,blockquote:{attrs:{cite:null}},body:W,br:W,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Yd,formmethod:Xd,formnovalidate:["novalidate"],formtarget:Xo,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:W,center:W,cite:W,code:W,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:W,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:W,div:W,dl:W,dt:W,em:W,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:W,figure:W,footer:W,form:{attrs:{action:null,name:null,"accept-charset":Ld,autocomplete:["on","off"],enctype:Yd,method:Xd,novalidate:["novalidate"],target:Xo}},h1:W,h2:W,h3:W,h4:W,h5:W,h6:W,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:W,hgroup:W,hr:W,html:{attrs:{manifest:null}},i:W,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Yd,formmethod:Xd,formnovalidate:["novalidate"],formtarget:Xo,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:W,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:W,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:W,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ld,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:W,noscript:W,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:W,param:{attrs:{name:null,value:null}},pre:W,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:W,rt:W,ruby:W,samp:W,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ld}},section:W,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:W,source:{attrs:{src:null,type:null,media:null}},span:W,strong:W,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:W,summary:W,sup:W,table:W,tbody:W,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:W,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:W,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:W,time:{attrs:{datetime:null}},title:W,tr:W,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:W,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:W},$$={accesskey:null,class:null,contenteditable:Nt,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Nt,autocorrect:Nt,autocapitalize:Nt,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Nt,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Nt,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Nt,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Nt,"aria-hidden":Nt,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Nt,"aria-multiselectable":Nt,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Nt,"aria-relevant":null,"aria-required":Nt,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},A$="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(r=>"on"+r);for(let r of A$)$$[r]=null;class nl{constructor(e,t){this.tags=Object.assign(Object.assign({},N3),e),this.globalAttrs=Object.assign(Object.assign({},$$),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}nl.default=new nl;function po(r,e,t=r.length){if(!e)return"";let i=e.firstChild,n=i&&i.getChild("TagName");return n?r.sliceString(n.from,Math.min(n.to,t)):""}function mo(r,e=!1){for(;r;r=r.parent)if(r.name=="Element")if(e)e=!1;else return r;return null}function D$(r,e,t){let i=t.tags[po(r,mo(e))];return(i==null?void 0:i.children)||t.allTags}function Eg(r,e){let t=[];for(let i=mo(e);i&&!i.type.isTop;i=mo(i.parent)){let n=po(r,i);if(n&&i.lastChild.name=="CloseTag")break;n&&t.indexOf(n)<0&&(e.name=="EndTag"||e.from>=i.firstChild.to)&&t.push(n)}return t}const T$=/^[:\-\.\w\u00b7-\uffff]*$/;function z1(r,e,t,i,n){let s=/\s*>/.test(r.sliceDoc(n,n+5))?"":">",o=mo(t,!0);return{from:i,to:n,options:D$(r.doc,o,e).map(a=>({label:a,type:"type"})).concat(Eg(r.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function W1(r,e,t,i){let n=/\s*>/.test(r.sliceDoc(i,i+5))?"":">";return{from:t,to:i,options:Eg(r.doc,e).map((s,o)=>({label:s,apply:s+n,type:"type",boost:99-o})),validFor:T$}}function F3(r,e,t,i){let n=[],s=0;for(let o of D$(r.doc,t,e))n.push({label:"<"+o,type:"type"});for(let o of Eg(r.doc,t))n.push({label:"",type:"type",boost:99-s++});return{from:i,to:i,options:n,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function I3(r,e,t,i,n){let s=mo(t),o=s?e.tags[po(r.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:i,to:n,options:l.map(c=>({label:c,type:"property"})),validFor:T$}}function B3(r,e,t,i,n){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=r.sliceDoc(o.from,o.to),u=e.globalAttrs[c];if(!u){let h=mo(t),d=h?e.tags[po(r.doc,h)]:null;u=(d==null?void 0:d.attrs)&&d.attrs[c]}if(u){let h=r.sliceDoc(i,n).toLowerCase(),d='"',f='"';/^['"]/.test(h)?(l=h[0]=='"'?/^[^"]*$/:/^[^']*$/,d="",f=r.sliceDoc(n,n+1)==h[0]?"":h[0],h=h.slice(1),i++):l=/^[^\s<>='"]*$/;for(let p of u)a.push({label:p,apply:d+p+f,type:"constant"})}}return{from:i,to:n,options:a,validFor:l}}function P$(r,e){let{state:t,pos:i}=e,n=Oe(t).resolveInner(i,-1),s=n.resolve(i);for(let o=i,a;s==n&&(a=n.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.fromP$(i,n)}const X3=Hr.parser.configure({top:"SingleExpression"}),E$=[{tag:"script",attrs:r=>r.type=="text/typescript"||r.lang=="ts",parser:k$.parser},{tag:"script",attrs:r=>r.type=="text/babel"||r.type=="text/jsx",parser:x$.parser},{tag:"script",attrs:r=>r.type=="text/typescript-jsx",parser:S$.parser},{tag:"script",attrs:r=>r.type=="importmap"||r.type=="speculationrules",parser:X3},{tag:"script",attrs(r){return!r.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(r.type)},parser:Hr.parser},{tag:"style",attrs(r){return(!r.lang||r.lang=="css")&&(!r.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(r.type))},parser:Pu.parser}],M$=[{name:"style",parser:Pu.parser.configure({top:"Styles"})}].concat(A$.map(r=>({name:r,parser:Hr.parser}))),R$=ao.define({name:"html",parser:MY.configure({props:[dl.add({Element(r){let e=/^(\s*)(<\/)?/.exec(r.textAfter);return r.node.to<=r.pos+e[0].length?r.continue():r.lineIndent(r.node.from)+(e[2]?0:r.unit)},"OpenTag CloseTag SelfClosingTag"(r){return r.column(r.node.from)+r.unit},Document(r){if(r.pos+/\s*/.exec(r.textAfter)[0].lengthr.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),Yc=R$.configure({wrap:d$(E$,M$)});function Y3(r={}){let e="",t;r.matchClosingTags===!1&&(e="noMatch"),r.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(r.nestedLanguages&&r.nestedLanguages.length||r.nestedAttributes&&r.nestedAttributes.length)&&(t=d$((r.nestedLanguages||[]).concat(E$),(r.nestedAttributes||[]).concat(M$)));let i=t?R$.configure({wrap:t,dialect:e}):e?Yc.configure({dialect:e}):Yc;return new _a(i,[Yc.data.of({autocomplete:L3(r)}),r.autoCloseTags!==!1?V3:[],E3().support,s3().support])}const j1=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),V3=q.inputHandler.of((r,e,t,i,n)=>{if(r.composing||r.state.readOnly||e!=t||i!=">"&&i!="/"||!Yc.isActiveAt(r.state,e,-1))return!1;let s=n(),{state:o}=s,a=o.changeByRange(l=>{var c,u,h;let d=o.doc.sliceString(l.from-1,l.to)==i,{head:f}=l,p=Oe(o).resolveInner(f-1,-1),m;if((p.name=="TagName"||p.name=="StartTag")&&(p=p.parent),d&&i==">"&&p.name=="OpenTag"){if(((u=(c=p.parent)===null||c===void 0?void 0:c.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(m=po(o.doc,p.parent,f))&&!j1.has(m)){let g=f+(o.doc.sliceString(f,f+1)===">"?1:0),O=``;return{range:l,changes:{from:f,to:g,insert:O}}}}else if(d&&i=="/"&&p.name=="IncompleteCloseTag"){let g=p.parent;if(p.from==f-2&&((h=g.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(m=po(o.doc,g,f))&&!j1.has(m)){let O=f+(o.doc.sliceString(f,f+1)===">"?1:0),w=`${m}>`;return{range:D.cursor(f+w.length,-1),changes:{from:f,to:O,insert:w}}}}return{range:l}});return a.changes.empty?!1:(r.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Z$=th({commentTokens:{block:{open:""}}}),N$=new K,F$=DX.configure({props:[ko.add(r=>!r.is("Block")||r.is("Document")||Jp(r)!=null?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),N$.add(Jp),dl.add({Document:()=>null}),Gi.add({Document:Z$})]});function Jp(r){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(r.name);return e?+e[1]:void 0}function z3(r,e){let t=r;for(;;){let i=t.nextSibling,n;if(!i||(n=Jp(i.type))!=null&&n<=e)break;t=i}return t.to}const W3=tC.of((r,e,t)=>{for(let i=Oe(r).resolveInner(t,-1);i&&!(i.fromt)return{from:t,to:s}}return null});function Mg(r){return new Lt(Z$,r,[W3],"markdown")}const j3=Mg(F$),U3=F$.configure([BX,LX,qX,XX,{props:[ko.add({Table:(r,e)=>({from:e.doc.lineAt(r.from).to,to:r.to})})]}]),I$=Mg(U3);function _3(r,e){return t=>{if(t&&r){let i=null;if(t=/\S*/.exec(t)[0],typeof r=="function"?i=r(t):i=fu.matchLanguageName(r,t,!0),i instanceof fu)return i.support?i.support.language.parser:cs.getSkippingParser(i.load());if(i)return i.parser}return e?e.parser:null}}class Kl{constructor(e,t,i,n,s,o,a){this.node=e,this.from=t,this.to=i,this.spaceBefore=n,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let i=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;i.length0;n--)i+=" ";return i+(t?this.spaceAfter:"")}}marker(e,t){let i=this.node.name=="OrderedList"?String(+q$(this.item,e)[2]+t):"";return this.spaceBefore+i+this.type+this.spaceAfter}}function B$(r,e){let t=[];for(let n=r;n&&n.name!="Document";n=n.parent)(n.name=="ListItem"||n.name=="Blockquote"||n.name=="FencedCode")&&t.push(n);let i=[];for(let n=t.length-1;n>=0;n--){let s=t[n],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="FencedCode")i.push(new Kl(s,l,l,"","","",null));else if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))i.push(new Kl(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let c=o[3],u=o[0].length;c.length>=4&&(c=c.slice(0,c.length-4),u-=4),i.push(new Kl(s.parent,l,l+u,o[1],c,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let c=o[4],u=o[0].length;c.length>4&&(c=c.slice(0,c.length-4),u-=4);let h=o[2];o[3]&&(h+=o[3].replace(/[xX]/," ")),i.push(new Kl(s.parent,l,l+u,o[1],c,h,s))}}return i}function q$(r,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(r.from,r.from+10))}function Vd(r,e,t,i=0){for(let n=-1,s=r;;){if(s.name=="ListItem"){let a=q$(s,e),l=+a[2];if(n>=0){if(l!=n+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(n+2+i)})}n=l}let o=s.nextSibling;if(!o)break;s=o}}function Rg(r,e){let t=/^[ \t]*/.exec(r)[0].length;if(!t||e.facet(vo)!=" ")return r;let i=Sr(r,4,t),n="";for(let s=i;s>0;)s>=4?(n+=" ",s-=4):(n+=" ",s--);return n+r.slice(t)}const G3=({state:r,dispatch:e})=>{let t=Oe(r),{doc:i}=r,n=null,s=r.changeByRange(o=>{if(!o.empty||!I$.isActiveAt(r,o.from))return n={range:o};let a=o.from,l=i.lineAt(a),c=B$(t.resolveInner(a,-1),i);for(;c.length&&c[c.length-1].from>a-l.from;)c.pop();if(!c.length)return n={range:o};let u=c[c.length-1];if(u.to-u.spaceAfter.length>a-l.from)return n={range:o};let h=a>=u.to-u.spaceAfter.length&&!/\S/.test(l.text.slice(u.to));if(u.item&&h){let g=u.node.firstChild,O=u.node.getChild("ListItem","ListItem");if(g.to>=a||O&&O.to0&&!/[^\s>]/.test(i.lineAt(l.from-1).text)){let w=c.length>1?c[c.length-2]:null,v,C="";w&&w.item?(v=l.from+w.from,C=w.marker(i,1)):v=l.from+(w?w.to:0);let Q=[{from:v,to:a,insert:C}];return u.node.name=="OrderedList"&&Vd(u.item,i,Q,-2),w&&w.node.name=="OrderedList"&&Vd(w.item,i,Q),{range:D.cursor(v+C.length),changes:Q}}else{let w=_1(c,r,l);return{range:D.cursor(a+w.length+1),changes:{from:l.from,insert:w+r.lineBreak}}}}if(u.node.name=="Blockquote"&&h&&l.from){let g=i.lineAt(l.from-1),O=/>\s*$/.exec(g.text);if(O&&O.index==u.from){let w=r.changes([{from:g.from+O.index,to:g.to},{from:l.from+u.from,to:l.to}]);return{range:o.map(w),changes:w}}}let d=[];u.node.name=="OrderedList"&&Vd(u.item,i,d);let f=u.item&&u.item.from]*/.exec(l.text)[0].length>=u.to)for(let g=0,O=c.length-1;g<=O;g++)p+=g==O&&!f?c[g].marker(i,1):c[g].blank(gl.from&&/\s/.test(l.text.charAt(m-l.from-1));)m--;return p=Rg(p,r),H3(u.node,r.doc)&&(p=_1(c,r,l)+r.lineBreak+p),d.push({from:m,to:a,insert:r.lineBreak+p}),{range:D.cursor(m+p.length+1),changes:d}});return n?!1:(e(r.update(s,{scrollIntoView:!0,userEvent:"input"})),!0)};function U1(r){return r.name=="QuoteMark"||r.name=="ListMark"}function H3(r,e){if(r.name!="OrderedList"&&r.name!="BulletList")return!1;let t=r.firstChild,i=r.getChild("ListItem","ListItem");if(!i)return!1;let n=e.lineAt(t.to),s=e.lineAt(i.from),o=/^[\s>]*$/.test(n.text);return n.number+(o?0:1){let t=Oe(r),i=null,n=r.changeByRange(s=>{let o=s.from,{doc:a}=r;if(s.empty&&I$.isActiveAt(r,s.from)){let l=a.lineAt(o),c=B$(K3(t,o),a);if(c.length){let u=c[c.length-1],h=u.to-u.spaceAfter.length+(u.spaceAfter?1:0);if(o-l.from>h&&!/\S/.test(l.text.slice(h,o-l.from)))return{range:D.cursor(l.from+h),changes:{from:l.from+h,to:o}};if(o-l.from==h&&(!u.item||l.from<=u.item.from||!/\S/.test(l.text.slice(0,u.to)))){let d=l.from+u.from;if(u.item&&u.node.from .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:bV},".cm-panels":{backgroundColor:yV,color:Vc},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:tw,color:tm,border:"none"},".cm-activeLineGutter":{backgroundColor:ew},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Wd},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Wd,borderBottomColor:Wd},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:ew,color:Vc}}},{dark:!0}),vV=pl.define([{tag:y.keyword,color:OV},{tag:[y.name,y.deleted,y.character,y.propertyName,y.macroName],color:K1},{tag:[y.function(y.variableName),y.labelName],color:mV},{tag:[y.color,y.constant(y.name),y.standard(y.name)],color:J1},{tag:[y.definition(y.name),y.separator],color:Vc},{tag:[y.typeName,y.className,y.number,y.changed,y.annotation,y.modifier,y.self,y.namespace],color:dV},{tag:[y.operator,y.operatorKeyword,y.url,y.escape,y.regexp,y.link,y.special(y.string)],color:fV},{tag:[y.meta,y.comment],color:tm},{tag:y.strong,fontWeight:"bold"},{tag:y.emphasis,fontStyle:"italic"},{tag:y.strikethrough,textDecoration:"line-through"},{tag:y.link,color:tm,textDecoration:"underline"},{tag:y.heading,fontWeight:"bold",color:K1},{tag:[y.atom,y.bool,y.special(y.variableName)],color:J1},{tag:[y.processingInstruction,y.string,y.inserted],color:gV},{tag:y.invalid,color:pV}]),kV=[wV,uC(vV)];var xV="Expected a function",iw=NaN,SV="[object Symbol]",CV=/^\s+|\s+$/g,QV=/^[-+]0x[0-9a-f]+$/i,$V=/^0b[01]+$/i,AV=/^0o[0-7]+$/i,DV=parseInt,TV=typeof Sl=="object"&&Sl&&Sl.Object===Object&&Sl,PV=typeof self=="object"&&self&&self.Object===Object&&self,EV=TV||PV||Function("return this")(),MV=Object.prototype,RV=MV.toString,ZV=Math.max,NV=Math.min,jd=function(){return EV.Date.now()};function FV(r,e,t){var i,n,s,o,a,l,c=0,u=!1,h=!1,d=!0;if(typeof r!="function")throw new TypeError(xV);e=nw(e)||0,rm(t)&&(u=!!t.leading,h="maxWait"in t,s=h?ZV(nw(t.maxWait)||0,e):s,d="trailing"in t?!!t.trailing:d);function f(b){var x=i,R=n;return i=n=void 0,c=b,o=r.apply(R,x),o}function p(b){return c=b,a=setTimeout(O,e),u?f(b):o}function m(b){var x=b-l,R=b-c,P=e-x;return h?NV(P,s-R):P}function g(b){var x=b-l,R=b-c;return l===void 0||x>=e||x<0||h&&R>=s}function O(){var b=jd();if(g(b))return w(b);a=setTimeout(O,m(b))}function w(b){return a=void 0,d&&i?f(b):(i=n=void 0,o)}function v(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function C(){return a===void 0?o:w(jd())}function Q(){var b=jd(),x=g(b);if(i=arguments,n=this,l=b,x){if(a===void 0)return p(l);if(h)return a=setTimeout(O,e),f(l)}return a===void 0&&(a=setTimeout(O,e)),o}return Q.cancel=v,Q.flush=C,Q}function rm(r){var e=typeof r;return!!r&&(e=="object"||e=="function")}function IV(r){return!!r&&typeof r=="object"}function BV(r){return typeof r=="symbol"||IV(r)&&RV.call(r)==SV}function nw(r){if(typeof r=="number")return r;if(BV(r))return iw;if(rm(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=rm(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=r.replace(CV,"");var t=$V.test(r);return t||AV.test(r)?DV(r.slice(2),t?2:8):QV.test(r)?iw:+r}var qV=FV;const LV=bm(qV);class L${constructor(){this.beforeMountedListeners=[],this.mountedListeners=[],this.updatedListeners=[],this.markdownUpdatedListeners=[],this.blurListeners=[],this.focusListeners=[],this.destroyListeners=[],this.beforeMount=e=>(this.beforeMountedListeners.push(e),this),this.mounted=e=>(this.mountedListeners.push(e),this),this.updated=e=>(this.updatedListeners.push(e),this)}get listeners(){return{beforeMount:this.beforeMountedListeners,mounted:this.mountedListeners,updated:this.updatedListeners,markdownUpdated:this.markdownUpdatedListeners,blur:this.blurListeners,focus:this.focusListeners,destroy:this.destroyListeners}}markdownUpdated(e){return this.markdownUpdatedListeners.push(e),this}blur(e){return this.blurListeners.push(e),this}focus(e){return this.focusListeners.push(e),this}destroy(e){return this.destroyListeners.push(e),this}}const im=he(new L$,"listener"),XV=new Wt("MILKDOWN_LISTENER"),X$=r=>(r.inject(im,new L$),async()=>{await r.wait(_n);const e=r.get(im),{listeners:t}=e;t.beforeMount.forEach(a=>a(r)),await r.wait(wa);const i=r.get(Ys);let n=null,s=null;const o=new St({key:XV,view:()=>({destroy:()=>{t.destroy.forEach(a=>a(r))}}),props:{handleDOMEvents:{focus:()=>(t.focus.forEach(a=>a(r)),!1),blur:()=>(t.blur.forEach(a=>a(r)),!1)}},state:{init:()=>{},apply:a=>!a.docChanged||a.getMeta("addToHistory")===!1?void 0:LV(()=>{const{doc:l}=a;if(t.updated.length>0&&(n==null||!n.eq(l))&&t.updated.forEach(c=>{c(r,l,n)}),t.markdownUpdated.length>0&&(n==null||!n.eq(l))){const c=i(l);t.markdownUpdated.forEach(u=>{u(r,c,s)}),s=c}n=l},200)()}});r.update(kr,a=>a.concat(o)),await r.wait(kc),t.mounted.forEach(a=>a(r))});X$.meta={package:"@milkdown/plugin-listener",displayName:"Listener"};function Ng(r){if(typeof r!="string")throw new TypeError("Expected a string");return r.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const YV=[["ß","ss"],["ẞ","Ss"],["ä","ae"],["Ä","Ae"],["ö","oe"],["Ö","Oe"],["ü","ue"],["Ü","Ue"],["À","A"],["Á","A"],["Â","A"],["Ã","A"],["Ä","Ae"],["Å","A"],["Æ","AE"],["Ç","C"],["È","E"],["É","E"],["Ê","E"],["Ë","E"],["Ì","I"],["Í","I"],["Î","I"],["Ï","I"],["Ð","D"],["Ñ","N"],["Ò","O"],["Ó","O"],["Ô","O"],["Õ","O"],["Ö","Oe"],["Ő","O"],["Ø","O"],["Ù","U"],["Ú","U"],["Û","U"],["Ü","Ue"],["Ű","U"],["Ý","Y"],["Þ","TH"],["ß","ss"],["à","a"],["á","a"],["â","a"],["ã","a"],["ä","ae"],["å","a"],["æ","ae"],["ç","c"],["è","e"],["é","e"],["ê","e"],["ë","e"],["ì","i"],["í","i"],["î","i"],["ï","i"],["ð","d"],["ñ","n"],["ò","o"],["ó","o"],["ô","o"],["õ","o"],["ö","oe"],["ő","o"],["ø","o"],["ù","u"],["ú","u"],["û","u"],["ü","ue"],["ű","u"],["ý","y"],["þ","th"],["ÿ","y"],["ẞ","SS"],["à","a"],["À","A"],["á","a"],["Á","A"],["â","a"],["Â","A"],["ã","a"],["Ã","A"],["è","e"],["È","E"],["é","e"],["É","E"],["ê","e"],["Ê","E"],["ì","i"],["Ì","I"],["í","i"],["Í","I"],["ò","o"],["Ò","O"],["ó","o"],["Ó","O"],["ô","o"],["Ô","O"],["õ","o"],["Õ","O"],["ù","u"],["Ù","U"],["ú","u"],["Ú","U"],["ý","y"],["Ý","Y"],["ă","a"],["Ă","A"],["Đ","D"],["đ","d"],["ĩ","i"],["Ĩ","I"],["ũ","u"],["Ũ","U"],["ơ","o"],["Ơ","O"],["ư","u"],["Ư","U"],["ạ","a"],["Ạ","A"],["ả","a"],["Ả","A"],["ấ","a"],["Ấ","A"],["ầ","a"],["Ầ","A"],["ẩ","a"],["Ẩ","A"],["ẫ","a"],["Ẫ","A"],["ậ","a"],["Ậ","A"],["ắ","a"],["Ắ","A"],["ằ","a"],["Ằ","A"],["ẳ","a"],["Ẳ","A"],["ẵ","a"],["Ẵ","A"],["ặ","a"],["Ặ","A"],["ẹ","e"],["Ẹ","E"],["ẻ","e"],["Ẻ","E"],["ẽ","e"],["Ẽ","E"],["ế","e"],["Ế","E"],["ề","e"],["Ề","E"],["ể","e"],["Ể","E"],["ễ","e"],["Ễ","E"],["ệ","e"],["Ệ","E"],["ỉ","i"],["Ỉ","I"],["ị","i"],["Ị","I"],["ọ","o"],["Ọ","O"],["ỏ","o"],["Ỏ","O"],["ố","o"],["Ố","O"],["ồ","o"],["Ồ","O"],["ổ","o"],["Ổ","O"],["ỗ","o"],["Ỗ","O"],["ộ","o"],["Ộ","O"],["ớ","o"],["Ớ","O"],["ờ","o"],["Ờ","O"],["ở","o"],["Ở","O"],["ỡ","o"],["Ỡ","O"],["ợ","o"],["Ợ","O"],["ụ","u"],["Ụ","U"],["ủ","u"],["Ủ","U"],["ứ","u"],["Ứ","U"],["ừ","u"],["Ừ","U"],["ử","u"],["Ử","U"],["ữ","u"],["Ữ","U"],["ự","u"],["Ự","U"],["ỳ","y"],["Ỳ","Y"],["ỵ","y"],["Ỵ","Y"],["ỷ","y"],["Ỷ","Y"],["ỹ","y"],["Ỹ","Y"],["ء","e"],["آ","a"],["أ","a"],["ؤ","w"],["إ","i"],["ئ","y"],["ا","a"],["ب","b"],["ة","t"],["ت","t"],["ث","th"],["ج","j"],["ح","h"],["خ","kh"],["د","d"],["ذ","dh"],["ر","r"],["ز","z"],["س","s"],["ش","sh"],["ص","s"],["ض","d"],["ط","t"],["ظ","z"],["ع","e"],["غ","gh"],["ـ","_"],["ف","f"],["ق","q"],["ك","k"],["ل","l"],["م","m"],["ن","n"],["ه","h"],["و","w"],["ى","a"],["ي","y"],["َ‎","a"],["ُ","u"],["ِ‎","i"],["٠","0"],["١","1"],["٢","2"],["٣","3"],["٤","4"],["٥","5"],["٦","6"],["٧","7"],["٨","8"],["٩","9"],["چ","ch"],["ک","k"],["گ","g"],["پ","p"],["ژ","zh"],["ی","y"],["۰","0"],["۱","1"],["۲","2"],["۳","3"],["۴","4"],["۵","5"],["۶","6"],["۷","7"],["۸","8"],["۹","9"],["ټ","p"],["ځ","z"],["څ","c"],["ډ","d"],["ﺫ","d"],["ﺭ","r"],["ړ","r"],["ﺯ","z"],["ږ","g"],["ښ","x"],["ګ","g"],["ڼ","n"],["ۀ","e"],["ې","e"],["ۍ","ai"],["ٹ","t"],["ڈ","d"],["ڑ","r"],["ں","n"],["ہ","h"],["ھ","h"],["ے","e"],["А","A"],["а","a"],["Б","B"],["б","b"],["В","V"],["в","v"],["Г","G"],["г","g"],["Д","D"],["д","d"],["ъе","ye"],["Ъе","Ye"],["ъЕ","yE"],["ЪЕ","YE"],["Е","E"],["е","e"],["Ё","Yo"],["ё","yo"],["Ж","Zh"],["ж","zh"],["З","Z"],["з","z"],["И","I"],["и","i"],["ый","iy"],["Ый","Iy"],["ЫЙ","IY"],["ыЙ","iY"],["Й","Y"],["й","y"],["К","K"],["к","k"],["Л","L"],["л","l"],["М","M"],["м","m"],["Н","N"],["н","n"],["О","O"],["о","o"],["П","P"],["п","p"],["Р","R"],["р","r"],["С","S"],["с","s"],["Т","T"],["т","t"],["У","U"],["у","u"],["Ф","F"],["ф","f"],["Х","Kh"],["х","kh"],["Ц","Ts"],["ц","ts"],["Ч","Ch"],["ч","ch"],["Ш","Sh"],["ш","sh"],["Щ","Sch"],["щ","sch"],["Ъ",""],["ъ",""],["Ы","Y"],["ы","y"],["Ь",""],["ь",""],["Э","E"],["э","e"],["Ю","Yu"],["ю","yu"],["Я","Ya"],["я","ya"],["ă","a"],["Ă","A"],["ș","s"],["Ș","S"],["ț","t"],["Ț","T"],["ţ","t"],["Ţ","T"],["ş","s"],["Ş","S"],["ç","c"],["Ç","C"],["ğ","g"],["Ğ","G"],["ı","i"],["İ","I"],["ա","a"],["Ա","A"],["բ","b"],["Բ","B"],["գ","g"],["Գ","G"],["դ","d"],["Դ","D"],["ե","ye"],["Ե","Ye"],["զ","z"],["Զ","Z"],["է","e"],["Է","E"],["ը","y"],["Ը","Y"],["թ","t"],["Թ","T"],["ժ","zh"],["Ժ","Zh"],["ի","i"],["Ի","I"],["լ","l"],["Լ","L"],["խ","kh"],["Խ","Kh"],["ծ","ts"],["Ծ","Ts"],["կ","k"],["Կ","K"],["հ","h"],["Հ","H"],["ձ","dz"],["Ձ","Dz"],["ղ","gh"],["Ղ","Gh"],["ճ","tch"],["Ճ","Tch"],["մ","m"],["Մ","M"],["յ","y"],["Յ","Y"],["ն","n"],["Ն","N"],["շ","sh"],["Շ","Sh"],["ո","vo"],["Ո","Vo"],["չ","ch"],["Չ","Ch"],["պ","p"],["Պ","P"],["ջ","j"],["Ջ","J"],["ռ","r"],["Ռ","R"],["ս","s"],["Ս","S"],["վ","v"],["Վ","V"],["տ","t"],["Տ","T"],["ր","r"],["Ր","R"],["ց","c"],["Ց","C"],["ու","u"],["ՈՒ","U"],["Ու","U"],["փ","p"],["Փ","P"],["ք","q"],["Ք","Q"],["օ","o"],["Օ","O"],["ֆ","f"],["Ֆ","F"],["և","yev"],["ა","a"],["ბ","b"],["გ","g"],["დ","d"],["ე","e"],["ვ","v"],["ზ","z"],["თ","t"],["ი","i"],["კ","k"],["ლ","l"],["მ","m"],["ნ","n"],["ო","o"],["პ","p"],["ჟ","zh"],["რ","r"],["ს","s"],["ტ","t"],["უ","u"],["ფ","ph"],["ქ","q"],["ღ","gh"],["ყ","k"],["შ","sh"],["ჩ","ch"],["ც","ts"],["ძ","dz"],["წ","ts"],["ჭ","tch"],["ხ","kh"],["ჯ","j"],["ჰ","h"],["č","c"],["ď","d"],["ě","e"],["ň","n"],["ř","r"],["š","s"],["ť","t"],["ů","u"],["ž","z"],["Č","C"],["Ď","D"],["Ě","E"],["Ň","N"],["Ř","R"],["Š","S"],["Ť","T"],["Ů","U"],["Ž","Z"],["ހ","h"],["ށ","sh"],["ނ","n"],["ރ","r"],["ބ","b"],["ޅ","lh"],["ކ","k"],["އ","a"],["ވ","v"],["މ","m"],["ފ","f"],["ދ","dh"],["ތ","th"],["ލ","l"],["ގ","g"],["ޏ","gn"],["ސ","s"],["ޑ","d"],["ޒ","z"],["ޓ","t"],["ޔ","y"],["ޕ","p"],["ޖ","j"],["ޗ","ch"],["ޘ","tt"],["ޙ","hh"],["ޚ","kh"],["ޛ","th"],["ޜ","z"],["ޝ","sh"],["ޞ","s"],["ޟ","d"],["ޠ","t"],["ޡ","z"],["ޢ","a"],["ޣ","gh"],["ޤ","q"],["ޥ","w"],["ަ","a"],["ާ","aa"],["ި","i"],["ީ","ee"],["ު","u"],["ޫ","oo"],["ެ","e"],["ޭ","ey"],["ޮ","o"],["ޯ","oa"],["ް",""],["α","a"],["β","v"],["γ","g"],["δ","d"],["ε","e"],["ζ","z"],["η","i"],["θ","th"],["ι","i"],["κ","k"],["λ","l"],["μ","m"],["ν","n"],["ξ","ks"],["ο","o"],["π","p"],["ρ","r"],["σ","s"],["τ","t"],["υ","y"],["φ","f"],["χ","x"],["ψ","ps"],["ω","o"],["ά","a"],["έ","e"],["ί","i"],["ό","o"],["ύ","y"],["ή","i"],["ώ","o"],["ς","s"],["ϊ","i"],["ΰ","y"],["ϋ","y"],["ΐ","i"],["Α","A"],["Β","B"],["Γ","G"],["Δ","D"],["Ε","E"],["Ζ","Z"],["Η","I"],["Θ","TH"],["Ι","I"],["Κ","K"],["Λ","L"],["Μ","M"],["Ν","N"],["Ξ","KS"],["Ο","O"],["Π","P"],["Ρ","R"],["Σ","S"],["Τ","T"],["Υ","Y"],["Φ","F"],["Χ","X"],["Ψ","PS"],["Ω","O"],["Ά","A"],["Έ","E"],["Ί","I"],["Ό","O"],["Ύ","Y"],["Ή","I"],["Ώ","O"],["Ϊ","I"],["Ϋ","Y"],["ā","a"],["ē","e"],["ģ","g"],["ī","i"],["ķ","k"],["ļ","l"],["ņ","n"],["ū","u"],["Ā","A"],["Ē","E"],["Ģ","G"],["Ī","I"],["Ķ","K"],["Ļ","L"],["Ņ","N"],["Ū","U"],["č","c"],["š","s"],["ž","z"],["Č","C"],["Š","S"],["Ž","Z"],["ą","a"],["č","c"],["ę","e"],["ė","e"],["į","i"],["š","s"],["ų","u"],["ū","u"],["ž","z"],["Ą","A"],["Č","C"],["Ę","E"],["Ė","E"],["Į","I"],["Š","S"],["Ų","U"],["Ū","U"],["Ќ","Kj"],["ќ","kj"],["Љ","Lj"],["љ","lj"],["Њ","Nj"],["њ","nj"],["Тс","Ts"],["тс","ts"],["ą","a"],["ć","c"],["ę","e"],["ł","l"],["ń","n"],["ś","s"],["ź","z"],["ż","z"],["Ą","A"],["Ć","C"],["Ę","E"],["Ł","L"],["Ń","N"],["Ś","S"],["Ź","Z"],["Ż","Z"],["Є","Ye"],["І","I"],["Ї","Yi"],["Ґ","G"],["є","ye"],["і","i"],["ї","yi"],["ґ","g"],["IJ","IJ"],["ij","ij"],["¢","c"],["¥","Y"],["߿","b"],["৳","t"],["૱","Bo"],["฿","B"],["₠","CE"],["₡","C"],["₢","Cr"],["₣","F"],["₥","m"],["₦","N"],["₧","Pt"],["₨","Rs"],["₩","W"],["₫","s"],["€","E"],["₭","K"],["₮","T"],["₯","Dp"],["₰","S"],["₱","P"],["₲","G"],["₳","A"],["₴","S"],["₵","C"],["₶","tt"],["₷","S"],["₸","T"],["₹","R"],["₺","L"],["₽","P"],["₿","B"],["﹩","$"],["¢","c"],["¥","Y"],["₩","W"],["𝐀","A"],["𝐁","B"],["𝐂","C"],["𝐃","D"],["𝐄","E"],["𝐅","F"],["𝐆","G"],["𝐇","H"],["𝐈","I"],["𝐉","J"],["𝐊","K"],["𝐋","L"],["𝐌","M"],["𝐍","N"],["𝐎","O"],["𝐏","P"],["𝐐","Q"],["𝐑","R"],["𝐒","S"],["𝐓","T"],["𝐔","U"],["𝐕","V"],["𝐖","W"],["𝐗","X"],["𝐘","Y"],["𝐙","Z"],["𝐚","a"],["𝐛","b"],["𝐜","c"],["𝐝","d"],["𝐞","e"],["𝐟","f"],["𝐠","g"],["𝐡","h"],["𝐢","i"],["𝐣","j"],["𝐤","k"],["𝐥","l"],["𝐦","m"],["𝐧","n"],["𝐨","o"],["𝐩","p"],["𝐪","q"],["𝐫","r"],["𝐬","s"],["𝐭","t"],["𝐮","u"],["𝐯","v"],["𝐰","w"],["𝐱","x"],["𝐲","y"],["𝐳","z"],["𝐴","A"],["𝐵","B"],["𝐶","C"],["𝐷","D"],["𝐸","E"],["𝐹","F"],["𝐺","G"],["𝐻","H"],["𝐼","I"],["𝐽","J"],["𝐾","K"],["𝐿","L"],["𝑀","M"],["𝑁","N"],["𝑂","O"],["𝑃","P"],["𝑄","Q"],["𝑅","R"],["𝑆","S"],["𝑇","T"],["𝑈","U"],["𝑉","V"],["𝑊","W"],["𝑋","X"],["𝑌","Y"],["𝑍","Z"],["𝑎","a"],["𝑏","b"],["𝑐","c"],["𝑑","d"],["𝑒","e"],["𝑓","f"],["𝑔","g"],["𝑖","i"],["𝑗","j"],["𝑘","k"],["𝑙","l"],["𝑚","m"],["𝑛","n"],["𝑜","o"],["𝑝","p"],["𝑞","q"],["𝑟","r"],["𝑠","s"],["𝑡","t"],["𝑢","u"],["𝑣","v"],["𝑤","w"],["𝑥","x"],["𝑦","y"],["𝑧","z"],["𝑨","A"],["𝑩","B"],["𝑪","C"],["𝑫","D"],["𝑬","E"],["𝑭","F"],["𝑮","G"],["𝑯","H"],["𝑰","I"],["𝑱","J"],["𝑲","K"],["𝑳","L"],["𝑴","M"],["𝑵","N"],["𝑶","O"],["𝑷","P"],["𝑸","Q"],["𝑹","R"],["𝑺","S"],["𝑻","T"],["𝑼","U"],["𝑽","V"],["𝑾","W"],["𝑿","X"],["𝒀","Y"],["𝒁","Z"],["𝒂","a"],["𝒃","b"],["𝒄","c"],["𝒅","d"],["𝒆","e"],["𝒇","f"],["𝒈","g"],["𝒉","h"],["𝒊","i"],["𝒋","j"],["𝒌","k"],["𝒍","l"],["𝒎","m"],["𝒏","n"],["𝒐","o"],["𝒑","p"],["𝒒","q"],["𝒓","r"],["𝒔","s"],["𝒕","t"],["𝒖","u"],["𝒗","v"],["𝒘","w"],["𝒙","x"],["𝒚","y"],["𝒛","z"],["𝒜","A"],["𝒞","C"],["𝒟","D"],["𝒢","g"],["𝒥","J"],["𝒦","K"],["𝒩","N"],["𝒪","O"],["𝒫","P"],["𝒬","Q"],["𝒮","S"],["𝒯","T"],["𝒰","U"],["𝒱","V"],["𝒲","W"],["𝒳","X"],["𝒴","Y"],["𝒵","Z"],["𝒶","a"],["𝒷","b"],["𝒸","c"],["𝒹","d"],["𝒻","f"],["𝒽","h"],["𝒾","i"],["𝒿","j"],["𝓀","h"],["𝓁","l"],["𝓂","m"],["𝓃","n"],["𝓅","p"],["𝓆","q"],["𝓇","r"],["𝓈","s"],["𝓉","t"],["𝓊","u"],["𝓋","v"],["𝓌","w"],["𝓍","x"],["𝓎","y"],["𝓏","z"],["𝓐","A"],["𝓑","B"],["𝓒","C"],["𝓓","D"],["𝓔","E"],["𝓕","F"],["𝓖","G"],["𝓗","H"],["𝓘","I"],["𝓙","J"],["𝓚","K"],["𝓛","L"],["𝓜","M"],["𝓝","N"],["𝓞","O"],["𝓟","P"],["𝓠","Q"],["𝓡","R"],["𝓢","S"],["𝓣","T"],["𝓤","U"],["𝓥","V"],["𝓦","W"],["𝓧","X"],["𝓨","Y"],["𝓩","Z"],["𝓪","a"],["𝓫","b"],["𝓬","c"],["𝓭","d"],["𝓮","e"],["𝓯","f"],["𝓰","g"],["𝓱","h"],["𝓲","i"],["𝓳","j"],["𝓴","k"],["𝓵","l"],["𝓶","m"],["𝓷","n"],["𝓸","o"],["𝓹","p"],["𝓺","q"],["𝓻","r"],["𝓼","s"],["𝓽","t"],["𝓾","u"],["𝓿","v"],["𝔀","w"],["𝔁","x"],["𝔂","y"],["𝔃","z"],["𝔄","A"],["𝔅","B"],["𝔇","D"],["𝔈","E"],["𝔉","F"],["𝔊","G"],["𝔍","J"],["𝔎","K"],["𝔏","L"],["𝔐","M"],["𝔑","N"],["𝔒","O"],["𝔓","P"],["𝔔","Q"],["𝔖","S"],["𝔗","T"],["𝔘","U"],["𝔙","V"],["𝔚","W"],["𝔛","X"],["𝔜","Y"],["𝔞","a"],["𝔟","b"],["𝔠","c"],["𝔡","d"],["𝔢","e"],["𝔣","f"],["𝔤","g"],["𝔥","h"],["𝔦","i"],["𝔧","j"],["𝔨","k"],["𝔩","l"],["𝔪","m"],["𝔫","n"],["𝔬","o"],["𝔭","p"],["𝔮","q"],["𝔯","r"],["𝔰","s"],["𝔱","t"],["𝔲","u"],["𝔳","v"],["𝔴","w"],["𝔵","x"],["𝔶","y"],["𝔷","z"],["𝔸","A"],["𝔹","B"],["𝔻","D"],["𝔼","E"],["𝔽","F"],["𝔾","G"],["𝕀","I"],["𝕁","J"],["𝕂","K"],["𝕃","L"],["𝕄","M"],["𝕆","N"],["𝕊","S"],["𝕋","T"],["𝕌","U"],["𝕍","V"],["𝕎","W"],["𝕏","X"],["𝕐","Y"],["𝕒","a"],["𝕓","b"],["𝕔","c"],["𝕕","d"],["𝕖","e"],["𝕗","f"],["𝕘","g"],["𝕙","h"],["𝕚","i"],["𝕛","j"],["𝕜","k"],["𝕝","l"],["𝕞","m"],["𝕟","n"],["𝕠","o"],["𝕡","p"],["𝕢","q"],["𝕣","r"],["𝕤","s"],["𝕥","t"],["𝕦","u"],["𝕧","v"],["𝕨","w"],["𝕩","x"],["𝕪","y"],["𝕫","z"],["𝕬","A"],["𝕭","B"],["𝕮","C"],["𝕯","D"],["𝕰","E"],["𝕱","F"],["𝕲","G"],["𝕳","H"],["𝕴","I"],["𝕵","J"],["𝕶","K"],["𝕷","L"],["𝕸","M"],["𝕹","N"],["𝕺","O"],["𝕻","P"],["𝕼","Q"],["𝕽","R"],["𝕾","S"],["𝕿","T"],["𝖀","U"],["𝖁","V"],["𝖂","W"],["𝖃","X"],["𝖄","Y"],["𝖅","Z"],["𝖆","a"],["𝖇","b"],["𝖈","c"],["𝖉","d"],["𝖊","e"],["𝖋","f"],["𝖌","g"],["𝖍","h"],["𝖎","i"],["𝖏","j"],["𝖐","k"],["𝖑","l"],["𝖒","m"],["𝖓","n"],["𝖔","o"],["𝖕","p"],["𝖖","q"],["𝖗","r"],["𝖘","s"],["𝖙","t"],["𝖚","u"],["𝖛","v"],["𝖜","w"],["𝖝","x"],["𝖞","y"],["𝖟","z"],["𝖠","A"],["𝖡","B"],["𝖢","C"],["𝖣","D"],["𝖤","E"],["𝖥","F"],["𝖦","G"],["𝖧","H"],["𝖨","I"],["𝖩","J"],["𝖪","K"],["𝖫","L"],["𝖬","M"],["𝖭","N"],["𝖮","O"],["𝖯","P"],["𝖰","Q"],["𝖱","R"],["𝖲","S"],["𝖳","T"],["𝖴","U"],["𝖵","V"],["𝖶","W"],["𝖷","X"],["𝖸","Y"],["𝖹","Z"],["𝖺","a"],["𝖻","b"],["𝖼","c"],["𝖽","d"],["𝖾","e"],["𝖿","f"],["𝗀","g"],["𝗁","h"],["𝗂","i"],["𝗃","j"],["𝗄","k"],["𝗅","l"],["𝗆","m"],["𝗇","n"],["𝗈","o"],["𝗉","p"],["𝗊","q"],["𝗋","r"],["𝗌","s"],["𝗍","t"],["𝗎","u"],["𝗏","v"],["𝗐","w"],["𝗑","x"],["𝗒","y"],["𝗓","z"],["𝗔","A"],["𝗕","B"],["𝗖","C"],["𝗗","D"],["𝗘","E"],["𝗙","F"],["𝗚","G"],["𝗛","H"],["𝗜","I"],["𝗝","J"],["𝗞","K"],["𝗟","L"],["𝗠","M"],["𝗡","N"],["𝗢","O"],["𝗣","P"],["𝗤","Q"],["𝗥","R"],["𝗦","S"],["𝗧","T"],["𝗨","U"],["𝗩","V"],["𝗪","W"],["𝗫","X"],["𝗬","Y"],["𝗭","Z"],["𝗮","a"],["𝗯","b"],["𝗰","c"],["𝗱","d"],["𝗲","e"],["𝗳","f"],["𝗴","g"],["𝗵","h"],["𝗶","i"],["𝗷","j"],["𝗸","k"],["𝗹","l"],["𝗺","m"],["𝗻","n"],["𝗼","o"],["𝗽","p"],["𝗾","q"],["𝗿","r"],["𝘀","s"],["𝘁","t"],["𝘂","u"],["𝘃","v"],["𝘄","w"],["𝘅","x"],["𝘆","y"],["𝘇","z"],["𝘈","A"],["𝘉","B"],["𝘊","C"],["𝘋","D"],["𝘌","E"],["𝘍","F"],["𝘎","G"],["𝘏","H"],["𝘐","I"],["𝘑","J"],["𝘒","K"],["𝘓","L"],["𝘔","M"],["𝘕","N"],["𝘖","O"],["𝘗","P"],["𝘘","Q"],["𝘙","R"],["𝘚","S"],["𝘛","T"],["𝘜","U"],["𝘝","V"],["𝘞","W"],["𝘟","X"],["𝘠","Y"],["𝘡","Z"],["𝘢","a"],["𝘣","b"],["𝘤","c"],["𝘥","d"],["𝘦","e"],["𝘧","f"],["𝘨","g"],["𝘩","h"],["𝘪","i"],["𝘫","j"],["𝘬","k"],["𝘭","l"],["𝘮","m"],["𝘯","n"],["𝘰","o"],["𝘱","p"],["𝘲","q"],["𝘳","r"],["𝘴","s"],["𝘵","t"],["𝘶","u"],["𝘷","v"],["𝘸","w"],["𝘹","x"],["𝘺","y"],["𝘻","z"],["𝘼","A"],["𝘽","B"],["𝘾","C"],["𝘿","D"],["𝙀","E"],["𝙁","F"],["𝙂","G"],["𝙃","H"],["𝙄","I"],["𝙅","J"],["𝙆","K"],["𝙇","L"],["𝙈","M"],["𝙉","N"],["𝙊","O"],["𝙋","P"],["𝙌","Q"],["𝙍","R"],["𝙎","S"],["𝙏","T"],["𝙐","U"],["𝙑","V"],["𝙒","W"],["𝙓","X"],["𝙔","Y"],["𝙕","Z"],["𝙖","a"],["𝙗","b"],["𝙘","c"],["𝙙","d"],["𝙚","e"],["𝙛","f"],["𝙜","g"],["𝙝","h"],["𝙞","i"],["𝙟","j"],["𝙠","k"],["𝙡","l"],["𝙢","m"],["𝙣","n"],["𝙤","o"],["𝙥","p"],["𝙦","q"],["𝙧","r"],["𝙨","s"],["𝙩","t"],["𝙪","u"],["𝙫","v"],["𝙬","w"],["𝙭","x"],["𝙮","y"],["𝙯","z"],["𝙰","A"],["𝙱","B"],["𝙲","C"],["𝙳","D"],["𝙴","E"],["𝙵","F"],["𝙶","G"],["𝙷","H"],["𝙸","I"],["𝙹","J"],["𝙺","K"],["𝙻","L"],["𝙼","M"],["𝙽","N"],["𝙾","O"],["𝙿","P"],["𝚀","Q"],["𝚁","R"],["𝚂","S"],["𝚃","T"],["𝚄","U"],["𝚅","V"],["𝚆","W"],["𝚇","X"],["𝚈","Y"],["𝚉","Z"],["𝚊","a"],["𝚋","b"],["𝚌","c"],["𝚍","d"],["𝚎","e"],["𝚏","f"],["𝚐","g"],["𝚑","h"],["𝚒","i"],["𝚓","j"],["𝚔","k"],["𝚕","l"],["𝚖","m"],["𝚗","n"],["𝚘","o"],["𝚙","p"],["𝚚","q"],["𝚛","r"],["𝚜","s"],["𝚝","t"],["𝚞","u"],["𝚟","v"],["𝚠","w"],["𝚡","x"],["𝚢","y"],["𝚣","z"],["𝚤","l"],["𝚥","j"],["𝛢","A"],["𝛣","B"],["𝛤","G"],["𝛥","D"],["𝛦","E"],["𝛧","Z"],["𝛨","I"],["𝛩","TH"],["𝛪","I"],["𝛫","K"],["𝛬","L"],["𝛭","M"],["𝛮","N"],["𝛯","KS"],["𝛰","O"],["𝛱","P"],["𝛲","R"],["𝛳","TH"],["𝛴","S"],["𝛵","T"],["𝛶","Y"],["𝛷","F"],["𝛸","x"],["𝛹","PS"],["𝛺","O"],["𝛻","D"],["𝛼","a"],["𝛽","b"],["𝛾","g"],["𝛿","d"],["𝜀","e"],["𝜁","z"],["𝜂","i"],["𝜃","th"],["𝜄","i"],["𝜅","k"],["𝜆","l"],["𝜇","m"],["𝜈","n"],["𝜉","ks"],["𝜊","o"],["𝜋","p"],["𝜌","r"],["𝜍","s"],["𝜎","s"],["𝜏","t"],["𝜐","y"],["𝜑","f"],["𝜒","x"],["𝜓","ps"],["𝜔","o"],["𝜕","d"],["𝜖","E"],["𝜗","TH"],["𝜘","K"],["𝜙","f"],["𝜚","r"],["𝜛","p"],["𝜜","A"],["𝜝","V"],["𝜞","G"],["𝜟","D"],["𝜠","E"],["𝜡","Z"],["𝜢","I"],["𝜣","TH"],["𝜤","I"],["𝜥","K"],["𝜦","L"],["𝜧","M"],["𝜨","N"],["𝜩","KS"],["𝜪","O"],["𝜫","P"],["𝜬","S"],["𝜭","TH"],["𝜮","S"],["𝜯","T"],["𝜰","Y"],["𝜱","F"],["𝜲","X"],["𝜳","PS"],["𝜴","O"],["𝜵","D"],["𝜶","a"],["𝜷","v"],["𝜸","g"],["𝜹","d"],["𝜺","e"],["𝜻","z"],["𝜼","i"],["𝜽","th"],["𝜾","i"],["𝜿","k"],["𝝀","l"],["𝝁","m"],["𝝂","n"],["𝝃","ks"],["𝝄","o"],["𝝅","p"],["𝝆","r"],["𝝇","s"],["𝝈","s"],["𝝉","t"],["𝝊","y"],["𝝋","f"],["𝝌","x"],["𝝍","ps"],["𝝎","o"],["𝝏","a"],["𝝐","e"],["𝝑","i"],["𝝒","k"],["𝝓","f"],["𝝔","r"],["𝝕","p"],["𝝖","A"],["𝝗","B"],["𝝘","G"],["𝝙","D"],["𝝚","E"],["𝝛","Z"],["𝝜","I"],["𝝝","TH"],["𝝞","I"],["𝝟","K"],["𝝠","L"],["𝝡","M"],["𝝢","N"],["𝝣","KS"],["𝝤","O"],["𝝥","P"],["𝝦","R"],["𝝧","TH"],["𝝨","S"],["𝝩","T"],["𝝪","Y"],["𝝫","F"],["𝝬","X"],["𝝭","PS"],["𝝮","O"],["𝝯","D"],["𝝰","a"],["𝝱","v"],["𝝲","g"],["𝝳","d"],["𝝴","e"],["𝝵","z"],["𝝶","i"],["𝝷","th"],["𝝸","i"],["𝝹","k"],["𝝺","l"],["𝝻","m"],["𝝼","n"],["𝝽","ks"],["𝝾","o"],["𝝿","p"],["𝞀","r"],["𝞁","s"],["𝞂","s"],["𝞃","t"],["𝞄","y"],["𝞅","f"],["𝞆","x"],["𝞇","ps"],["𝞈","o"],["𝞉","a"],["𝞊","e"],["𝞋","i"],["𝞌","k"],["𝞍","f"],["𝞎","r"],["𝞏","p"],["𝞐","A"],["𝞑","V"],["𝞒","G"],["𝞓","D"],["𝞔","E"],["𝞕","Z"],["𝞖","I"],["𝞗","TH"],["𝞘","I"],["𝞙","K"],["𝞚","L"],["𝞛","M"],["𝞜","N"],["𝞝","KS"],["𝞞","O"],["𝞟","P"],["𝞠","S"],["𝞡","TH"],["𝞢","S"],["𝞣","T"],["𝞤","Y"],["𝞥","F"],["𝞦","X"],["𝞧","PS"],["𝞨","O"],["𝞩","D"],["𝞪","av"],["𝞫","g"],["𝞬","d"],["𝞭","e"],["𝞮","z"],["𝞯","i"],["𝞰","i"],["𝞱","th"],["𝞲","i"],["𝞳","k"],["𝞴","l"],["𝞵","m"],["𝞶","n"],["𝞷","ks"],["𝞸","o"],["𝞹","p"],["𝞺","r"],["𝞻","s"],["𝞼","s"],["𝞽","t"],["𝞾","y"],["𝞿","f"],["𝟀","x"],["𝟁","ps"],["𝟂","o"],["𝟃","a"],["𝟄","e"],["𝟅","i"],["𝟆","k"],["𝟇","f"],["𝟈","r"],["𝟉","p"],["𝟊","F"],["𝟋","f"],["⒜","(a)"],["⒝","(b)"],["⒞","(c)"],["⒟","(d)"],["⒠","(e)"],["⒡","(f)"],["⒢","(g)"],["⒣","(h)"],["⒤","(i)"],["⒥","(j)"],["⒦","(k)"],["⒧","(l)"],["⒨","(m)"],["⒩","(n)"],["⒪","(o)"],["⒫","(p)"],["⒬","(q)"],["⒭","(r)"],["⒮","(s)"],["⒯","(t)"],["⒰","(u)"],["⒱","(v)"],["⒲","(w)"],["⒳","(x)"],["⒴","(y)"],["⒵","(z)"],["Ⓐ","(A)"],["Ⓑ","(B)"],["Ⓒ","(C)"],["Ⓓ","(D)"],["Ⓔ","(E)"],["Ⓕ","(F)"],["Ⓖ","(G)"],["Ⓗ","(H)"],["Ⓘ","(I)"],["Ⓙ","(J)"],["Ⓚ","(K)"],["Ⓛ","(L)"],["Ⓝ","(N)"],["Ⓞ","(O)"],["Ⓟ","(P)"],["Ⓠ","(Q)"],["Ⓡ","(R)"],["Ⓢ","(S)"],["Ⓣ","(T)"],["Ⓤ","(U)"],["Ⓥ","(V)"],["Ⓦ","(W)"],["Ⓧ","(X)"],["Ⓨ","(Y)"],["Ⓩ","(Z)"],["ⓐ","(a)"],["ⓑ","(b)"],["ⓒ","(b)"],["ⓓ","(c)"],["ⓔ","(e)"],["ⓕ","(f)"],["ⓖ","(g)"],["ⓗ","(h)"],["ⓘ","(i)"],["ⓙ","(j)"],["ⓚ","(k)"],["ⓛ","(l)"],["ⓜ","(m)"],["ⓝ","(n)"],["ⓞ","(o)"],["ⓟ","(p)"],["ⓠ","(q)"],["ⓡ","(r)"],["ⓢ","(s)"],["ⓣ","(t)"],["ⓤ","(u)"],["ⓥ","(v)"],["ⓦ","(w)"],["ⓧ","(x)"],["ⓨ","(y)"],["ⓩ","(z)"],["Ċ","C"],["ċ","c"],["Ġ","G"],["ġ","g"],["Ħ","H"],["ħ","h"],["Ż","Z"],["ż","z"],["𝟎","0"],["𝟏","1"],["𝟐","2"],["𝟑","3"],["𝟒","4"],["𝟓","5"],["𝟔","6"],["𝟕","7"],["𝟖","8"],["𝟗","9"],["𝟘","0"],["𝟙","1"],["𝟚","2"],["𝟛","3"],["𝟜","4"],["𝟝","5"],["𝟞","6"],["𝟟","7"],["𝟠","8"],["𝟡","9"],["𝟢","0"],["𝟣","1"],["𝟤","2"],["𝟥","3"],["𝟦","4"],["𝟧","5"],["𝟨","6"],["𝟩","7"],["𝟪","8"],["𝟫","9"],["𝟬","0"],["𝟭","1"],["𝟮","2"],["𝟯","3"],["𝟰","4"],["𝟱","5"],["𝟲","6"],["𝟳","7"],["𝟴","8"],["𝟵","9"],["𝟶","0"],["𝟷","1"],["𝟸","2"],["𝟹","3"],["𝟺","4"],["𝟻","5"],["𝟼","6"],["𝟽","7"],["𝟾","8"],["𝟿","9"],["①","1"],["②","2"],["③","3"],["④","4"],["⑤","5"],["⑥","6"],["⑦","7"],["⑧","8"],["⑨","9"],["⑩","10"],["⑪","11"],["⑫","12"],["⑬","13"],["⑭","14"],["⑮","15"],["⑯","16"],["⑰","17"],["⑱","18"],["⑲","19"],["⑳","20"],["⑴","1"],["⑵","2"],["⑶","3"],["⑷","4"],["⑸","5"],["⑹","6"],["⑺","7"],["⑻","8"],["⑼","9"],["⑽","10"],["⑾","11"],["⑿","12"],["⒀","13"],["⒁","14"],["⒂","15"],["⒃","16"],["⒄","17"],["⒅","18"],["⒆","19"],["⒇","20"],["⒈","1."],["⒉","2."],["⒊","3."],["⒋","4."],["⒌","5."],["⒍","6."],["⒎","7."],["⒏","8."],["⒐","9."],["⒑","10."],["⒒","11."],["⒓","12."],["⒔","13."],["⒕","14."],["⒖","15."],["⒗","16."],["⒘","17."],["⒙","18."],["⒚","19."],["⒛","20."],["⓪","0"],["⓫","11"],["⓬","12"],["⓭","13"],["⓮","14"],["⓯","15"],["⓰","16"],["⓱","17"],["⓲","18"],["⓳","19"],["⓴","20"],["⓵","1"],["⓶","2"],["⓷","3"],["⓸","4"],["⓹","5"],["⓺","6"],["⓻","7"],["⓼","8"],["⓽","9"],["⓾","10"],["⓿","0"],["🙰","&"],["🙱","&"],["🙲","&"],["🙳","&"],["🙴","&"],["🙵","&"],["🙶",'"'],["🙷",'"'],["🙸",'"'],["‽","?!"],["🙹","?!"],["🙺","?!"],["🙻","?!"],["🙼","/"],["🙽","\\"],["🜇","AR"],["🜈","V"],["🜉","V"],["🜆","VR"],["🜅","VF"],["🜩","2"],["🜪","5"],["🝡","f"],["🝢","W"],["🝣","U"],["🝧","V"],["🝨","T"],["🝪","V"],["🝫","MB"],["🝬","VB"],["🝲","3B"],["🝳","3B"],["💯","100"],["🔙","BACK"],["🔚","END"],["🔛","ON!"],["🔜","SOON"],["🔝","TOP"],["🔞","18"],["🔤","abc"],["🔠","ABCD"],["🔡","abcd"],["🔢","1234"],["🔣","T&@%"],["#️⃣","#"],["*️⃣","*"],["0️⃣","0"],["1️⃣","1"],["2️⃣","2"],["3️⃣","3"],["4️⃣","4"],["5️⃣","5"],["6️⃣","6"],["7️⃣","7"],["8️⃣","8"],["9️⃣","9"],["🔟","10"],["🅰️","A"],["🅱️","B"],["🆎","AB"],["🆑","CL"],["🅾️","O"],["🅿","P"],["🆘","SOS"],["🅲","C"],["🅳","D"],["🅴","E"],["🅵","F"],["🅶","G"],["🅷","H"],["🅸","I"],["🅹","J"],["🅺","K"],["🅻","L"],["🅼","M"],["🅽","N"],["🆀","Q"],["🆁","R"],["🆂","S"],["🆃","T"],["🆄","U"],["🆅","V"],["🆆","W"],["🆇","X"],["🆈","Y"],["🆉","Z"]],VV=(r,e)=>{for(const[t,i]of e)r=r.replace(new RegExp(Ng(t),"g"),i);return r};function zV(r,e){if(typeof r!="string")throw new TypeError(`Expected a string, got \`${typeof r}\``);e={customReplacements:[],...e};const t=new Map([...YV,...e.customReplacements]);return r=r.normalize(),r=VV(r,t),r=r.normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"").normalize(),r}const WV=[["&"," and "],["🦄"," unicorn "],["♥"," love "]],jV=r=>r.replace(/([A-Z]{2,})(\d+)/g,"$1 $2").replace(/([a-z\d]+)([A-Z]{2,})/g,"$1 $2").replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-rt-z\d]+)/g,"$1 $2"),UV=(r,e)=>{const t=Ng(e);return r.replace(new RegExp(`${t}{2,}`,"g"),e).replace(new RegExp(`^${t}|${t}$`,"g"),"")},_V=r=>{let e="a-z\\d";if(e+=r.lowercase?"":"A-Z",r.preserveCharacters.length>0)for(const t of r.preserveCharacters){if(t===r.separator)throw new Error(`The separator character \`${r.separator}\` cannot be included in preserved characters: ${r.preserveCharacters}`);e+=Ng(t)}return new RegExp(`[^${e}]+`,"g")};function GV(r,e){if(typeof r!="string")throw new TypeError(`Expected a string, got \`${typeof r}\``);e={separator:"-",lowercase:!0,decamelize:!0,customReplacements:[],preserveLeadingUnderscore:!1,preserveTrailingDash:!1,preserveCharacters:[],...e};const t=e.preserveLeadingUnderscore&&r.startsWith("_"),i=e.preserveTrailingDash&&r.endsWith("-"),n=new Map([...WV,...e.customReplacements]);r=zV(r,{customReplacements:n}),e.decamelize&&(r=jV(r));const s=_V(e);return e.lowercase&&(r=r.toLowerCase()),r=r.replace(/([a-zA-Z\d]+)'([ts])(\s|$)/g,"$1$2$3"),r=r.replace(s,e.separator),r=r.replace(/\\/g,""),e.separator&&(r=UV(r,e.separator)),t&&(r=`_${r}`),i&&(r=`${r}-`),r}function HV(r,e){return function(t,i){let{$from:n,$to:s,node:o}=t.selection;if(o&&o.isBlock||n.depth<2||!n.sameParent(s))return!1;let a=n.node(-1);if(a.type!=r)return!1;if(n.parent.content.size==0&&n.node(-1).childCount==n.indexAfter(-1)){if(n.depth==3||n.node(-3).type!=r||n.index(-2)!=n.node(-2).childCount-1)return!1;if(i){let h=Z.empty,d=n.index(-1)?1:n.index(-2)?2:3;for(let O=n.depth-d;O>=n.depth-3;O--)h=Z.from(n.node(O).copy(h));let f=n.indexAfter(-1){if(g>-1)return!1;O.isTextblock&&O.content.size==0&&(g=w+1)}),g>-1&&m.setSelection(ie.near(m.doc.resolve(g))),i(m.scrollIntoView())}return!0}let l=s.pos==n.end()?a.contentMatchAt(0).defaultType:null,c=t.tr.delete(n.pos,s.pos),u=l?[e?{type:r,attrs:e}:null,{type:l}]:void 0;return ga(c.doc,n.pos,2,u)?(i&&i(c.split(n.pos,2,u).scrollIntoView()),!0):!1}}function Y$(r){return function(e,t){let{$from:i,$to:n}=e.selection,s=i.blockRange(n,o=>o.childCount>0&&o.firstChild.type==r);return s?t?i.node(s.depth-1).type==r?KV(e,t,r,s):JV(e,t,s):!0:!1}}function KV(r,e,t,i){let n=r.tr,s=i.end,o=i.$to.end(i.depth);sm;p--)f-=n.child(p).nodeSize,i.delete(f-1,f+1);let s=i.doc.resolve(t.start),o=s.nodeAfter;if(i.mapping.map(t.end)!=t.start+s.nodeAfter.nodeSize)return!1;let a=t.startIndex==0,l=t.endIndex==n.childCount,c=s.node(-1),u=s.index(-1);if(!c.canReplace(u+(a?0:1),u+1,o.content.append(l?Z.empty:Z.from(n))))return!1;let h=s.pos,d=h+o.nodeSize;return i.step(new ut(h-(a?1:0),d+(l?1:0),h+1,d-1,new L((a?Z.empty:Z.from(n.copy(Z.empty))).append(l?Z.empty:Z.from(n.copy(Z.empty))),a?0:1,l?0:1),a?0:1)),e(i.scrollIntoView()),!0}function ez(r){return function(e,t){let{$from:i,$to:n}=e.selection,s=i.blockRange(n,c=>c.childCount>0&&c.firstChild.type==r);if(!s)return!1;let o=s.startIndex;if(o==0)return!1;let a=s.parent,l=a.child(o-1);if(l.type!=r)return!1;if(t){let c=l.lastChild&&l.lastChild.type==a.type,u=Z.from(c?r.create():null),h=new L(Z.from(r.create(null,Z.from(a.type.create(null,u)))),c?3:1,0),d=s.start,f=s.end;t(e.tr.step(new ut(d-(c?3:1),f,d,f,h,1,!0)).scrollIntoView())}return!0}}const V$=function(r){if(r==null)return nz;if(typeof r=="function")return ph(r);if(typeof r=="object")return Array.isArray(r)?tz(r):rz(r);if(typeof r=="string")return iz(r);throw new Error("Expected function, string, or object as test")};function tz(r){const e=[];let t=-1;for(;++t":""))+")"})}return d;function d(){let f=z$,p,m,g;if((!e||s(l,c,u[u.length-1]||void 0))&&(f=cz(t(l,u)),f[0]===sw))return f;if("children"in l&&l.children){const O=l;if(O.children&&f[0]!==az)for(m=(i?O.children.length:-1)+o,g=u.concat(O);m>-1&&m{const n=aw(i.identifier);n&&!ow.call(e,n)&&(e[n]=i)}),t;function t(i){const n=aw(i);return n&&ow.call(e,n)?e[n]:null}}function aw(r){return String(r||"").toUpperCase()}function hz(){return r=>{const e=uz(r);Fu(r,(t,i,n)=>{if(t.type==="definition"&&n!==null&&typeof i=="number")return n.children.splice(i,1),[yf,i];if(t.type==="imageReference"||t.type==="linkReference"){const s=e(t.identifier);if(s&&n!==null&&typeof i=="number"){const o=t.type==="imageReference"?{type:"image",url:s.url,title:s.title,alt:t.alt}:{type:"link",url:s.url,title:s.title,children:t.children};return n.children[i]=o,[yf,i]}}})}}const W$=(r,e)=>{var t;if(!(e.childCount>=1&&((t=e.lastChild)==null?void 0:t.type.name)==="hardbreak")){r.next(e.content);return}const i=[];e.content.forEach((n,s,o)=>{o!==e.childCount-1&&i.push(n)}),r.next(Z.fromArray(i))},M=(r,e)=>(Object.assign(r,{meta:{package:"@milkdown/preset-commonmark",...e}}),r),Fg=Wu("emphasis");M(Fg,{displayName:"Attr",group:"Emphasis"});const gh=zu("emphasis",r=>({attrs:{marker:{default:r.get(ba).emphasis||"*"}},parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style",getAttrs:e=>e==="italic"}],toDOM:e=>["em",r.get(Fg.key)(e)],parseMarkdown:{match:e=>e.type==="emphasis",runner:(e,t,i)=>{e.openMark(i,{marker:t.marker}),e.next(t.children),e.closeMark(i)}},toMarkdown:{match:e=>e.type.name==="emphasis",runner:(e,t)=>{e.withMark(t,"emphasis",void 0,{marker:t.attrs.marker})}}}));M(gh.mark,{displayName:"MarkSchema",group:"Emphasis"});M(gh.ctx,{displayName:"MarkSchemaCtx",group:"Emphasis"});const Oh=ke("ToggleEmphasis",r=>()=>Zm(gh.type(r)));M(Oh,{displayName:"Command",group:"Emphasis"});const Ig=ar("emphasisKeymap",{ToggleEmphasis:{shortcuts:"Mod-i",command:r=>{const e=r.get(pe);return()=>e.call(Oh.key)}}});M(Ig.ctx,{displayName:"KeymapCtx",group:"Emphasis"});M(Ig.shortcuts,{displayName:"Keymap",group:"Emphasis"});const Bg=Wu("strong");M(Bg,{displayName:"Attr",group:"Strong"});const yh=zu("strong",r=>({attrs:{marker:{default:r.get(ba).strong||"*"}},parseDOM:[{tag:"b"},{tag:"strong"},{style:"font-style",getAttrs:e=>e==="bold"}],toDOM:e=>["strong",r.get(Bg.key)(e)],parseMarkdown:{match:e=>e.type==="strong",runner:(e,t,i)=>{e.openMark(i,{marker:t.marker}),e.next(t.children),e.closeMark(i)}},toMarkdown:{match:e=>e.type.name==="strong",runner:(e,t)=>{e.withMark(t,"strong",void 0,{marker:t.attrs.marker})}}}));M(yh.mark,{displayName:"MarkSchema",group:"Strong"});M(yh.ctx,{displayName:"MarkSchemaCtx",group:"Strong"});const bh=ke("ToggleStrong",r=>()=>Zm(yh.type(r)));M(bh,{displayName:"Command",group:"Strong"});const qg=ar("strongKeymap",{ToggleBold:{shortcuts:["Mod-b"],command:r=>{const e=r.get(pe);return()=>e.call(bh.key)}}});M(qg.ctx,{displayName:"KeymapCtx",group:"Strong"});M(qg.shortcuts,{displayName:"Keymap",group:"Strong"});const Lg=Wu("inlineCode");M(Lg,{displayName:"Attr",group:"InlineCode"});const Vn=zu("inlineCode",r=>({priority:100,code:!0,inclusive:!1,parseDOM:[{tag:"code"}],toDOM:e=>["code",r.get(Lg.key)(e)],parseMarkdown:{match:e=>e.type==="inlineCode",runner:(e,t,i)=>{e.openMark(i),e.addText(t.value),e.closeMark(i)}},toMarkdown:{match:e=>e.type.name==="inlineCode",runner:(e,t,i)=>{e.withMark(t,"inlineCode",i.text||"")}}}));M(Vn.mark,{displayName:"MarkSchema",group:"InlineCode"});M(Vn.ctx,{displayName:"MarkSchemaCtx",group:"InlineCode"});const wh=ke("ToggleInlineCode",r=>()=>(e,t)=>{const{selection:i,tr:n}=e;if(i.empty)return!1;const{from:s,to:o}=i;return e.doc.rangeHasMark(s,o,Vn.type(r))?(t==null||t(n.removeMark(s,o,Vn.type(r))),!0):(Object.keys(e.schema.marks).filter(a=>a!==Vn.type.name).map(a=>e.schema.marks[a]).forEach(a=>{n.removeMark(s,o,a)}),t==null||t(n.addMark(s,o,Vn.type(r).create())),!0)});M(wh,{displayName:"Command",group:"InlineCode"});const Xg=ar("inlineCodeKeymap",{ToggleInlineCode:{shortcuts:"Mod-e",command:r=>{const e=r.get(pe);return()=>e.call(wh.key)}}});M(Xg.ctx,{displayName:"KeymapCtx",group:"InlineCode"});M(Xg.shortcuts,{displayName:"Keymap",group:"InlineCode"});const Yg=Wu("link");M(Yg,{displayName:"Attr",group:"Link"});const Hs=zu("link",r=>({attrs:{href:{},title:{default:null}},parseDOM:[{tag:"a[href]",getAttrs:e=>{if(!(e instanceof HTMLElement))throw ds(e);return{href:e.getAttribute("href"),title:e.getAttribute("title")}}}],toDOM:e=>["a",{...r.get(Yg.key)(e),...e.attrs}],parseMarkdown:{match:e=>e.type==="link",runner:(e,t,i)=>{const n=t.url,s=t.title;e.openMark(i,{href:n,title:s}),e.next(t.children),e.closeMark(i)}},toMarkdown:{match:e=>e.type.name==="link",runner:(e,t)=>{e.withMark(t,"link",void 0,{title:t.attrs.title,url:t.attrs.href})}}}));M(Hs.mark,{displayName:"MarkSchema",group:"Link"});const Eu=ke("ToggleLink",r=>(e={})=>Zm(Hs.type(r),e));M(Eu,{displayName:"Command",group:"Link"});const Vg=ke("UpdateLink",r=>(e={})=>(t,i)=>{if(!i)return!1;let n,s=-1;const{selection:o}=t,{from:a,to:l}=o;if(t.doc.nodesBetween(a,a===l?l+1:l,(p,m)=>{if(Hs.type(r).isInSet(p.marks))return n=p,s=m,!1}),!n)return!1;const c=n.marks.find(({type:p})=>p===Hs.type(r));if(!c)return!1;const u=s,h=s+n.nodeSize,{tr:d}=t,f=Hs.type(r).create({...c.attrs,...e});return f?(i(d.removeMark(u,h,c).addMark(u,h,f).setSelection(new oe(d.selection.$anchor)).scrollIntoView()),!0):!1});M(Vg,{displayName:"Command",group:"Link"});const j$=Im("doc",()=>({content:"block+",parseMarkdown:{match:({type:r})=>r==="root",runner:(r,e,t)=>{r.injectRoot(e,t)}},toMarkdown:{match:r=>r.type.name==="doc",runner:(r,e)=>{r.openNode("root"),r.next(e.content)}}}));M(j$,{displayName:"NodeSchema",group:"Doc"});const zg=ft("paragraph");M(zg,{displayName:"Attr",group:"Paragraph"});const $i=dt("paragraph",r=>({content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM:e=>["p",r.get(zg.key)(e),0],parseMarkdown:{match:e=>e.type==="paragraph",runner:(e,t,i)=>{e.openNode(i),t.children?e.next(t.children):e.addText(t.value||""),e.closeNode()}},toMarkdown:{match:e=>e.type.name==="paragraph",runner:(e,t)=>{e.openNode("paragraph"),W$(e,t),e.closeNode()}}}));M($i.node,{displayName:"NodeSchema",group:"Paragraph"});M($i.ctx,{displayName:"NodeSchemaCtx",group:"Paragraph"});const Wg=ke("TurnIntoText",r=>()=>Ra($i.type(r)));M(Wg,{displayName:"Command",group:"Paragraph"});const jg=ar("paragraphKeymap",{TurnIntoText:{shortcuts:"Mod-Alt-0",command:r=>{const e=r.get(pe);return()=>e.call(Wg.key)}}});M(jg.ctx,{displayName:"KeymapCtx",group:"Paragraph"});M(jg.shortcuts,{displayName:"Keymap",group:"Paragraph"});const dz=Array(6).fill(0).map((r,e)=>e+1),fz=r=>GV(r.textContent),vh=$r(fz,"headingIdGenerator");M(vh,{displayName:"Ctx",group:"Heading"});const Ug=ft("heading");M(Ug,{displayName:"Attr",group:"Heading"});const vn=dt("heading",r=>{const e=r.get(vh.key);return{content:"inline*",group:"block",defining:!0,attrs:{id:{default:""},level:{default:1}},parseDOM:dz.map(t=>({tag:`h${t}`,getAttrs:i=>{if(!(i instanceof HTMLElement))throw ds(i);return{level:t,id:i.id}}})),toDOM:t=>[`h${t.attrs.level}`,{...r.get(Ug.key)(t),id:t.attrs.id||e(t)},0],parseMarkdown:{match:({type:t})=>t==="heading",runner:(t,i,n)=>{const s=i.depth;t.openNode(n,{level:s}),t.next(i.children),t.closeNode()}},toMarkdown:{match:t=>t.type.name==="heading",runner:(t,i)=>{t.openNode("heading",void 0,{depth:i.attrs.level}),W$(t,i),t.closeNode()}}}});M(vn.node,{displayName:"NodeSchema",group:"Heading"});M(vn.ctx,{displayName:"NodeSchemaCtx",group:"Heading"});const U$=xr(r=>Zk(/^(?#+)\s$/,vn.type(r),e=>{var t,i;const n=((i=(t=e.groups)==null?void 0:t.hashes)==null?void 0:i.length)||0,s=r.get(rn),{$from:o}=s.state.selection,a=o.node();if(a.type.name==="heading"){let l=Number(a.attrs.level)+Number(n);return l>6&&(l=6),{level:l}}return{level:n}}));M(U$,{displayName:"InputRule",group:"Heading"});const mi=ke("WrapInHeading",r=>e=>(e??(e=1),e<1?Ra($i.type(r)):Ra(vn.type(r),{level:e})));M(mi,{displayName:"Command",group:"Heading"});const _g=ke("DowngradeHeading",r=>()=>(e,t,i)=>{const{$from:n}=e.selection,s=n.node();if(s.type!==vn.type(r)||!e.selection.empty||n.parentOffset!==0)return!1;const o=s.attrs.level-1;return o?(t==null||t(e.tr.setNodeMarkup(e.selection.$from.before(),void 0,{...s.attrs,level:o})),!0):Ra($i.type(r))(e,t,i)});M(_g,{displayName:"Command",group:"Heading"});const Gg=ar("headingKeymap",{TurnIntoH1:{shortcuts:"Mod-Alt-1",command:r=>{const e=r.get(pe);return()=>e.call(mi.key,1)}},TurnIntoH2:{shortcuts:"Mod-Alt-2",command:r=>{const e=r.get(pe);return()=>e.call(mi.key,2)}},TurnIntoH3:{shortcuts:"Mod-Alt-3",command:r=>{const e=r.get(pe);return()=>e.call(mi.key,3)}},TurnIntoH4:{shortcuts:"Mod-Alt-4",command:r=>{const e=r.get(pe);return()=>e.call(mi.key,4)}},TurnIntoH5:{shortcuts:"Mod-Alt-5",command:r=>{const e=r.get(pe);return()=>e.call(mi.key,5)}},TurnIntoH6:{shortcuts:"Mod-Alt-6",command:r=>{const e=r.get(pe);return()=>e.call(mi.key,6)}},DowngradeHeading:{shortcuts:["Delete","Backspace"],command:r=>{const e=r.get(pe);return()=>e.call(_g.key)}}});M(Gg.ctx,{displayName:"KeymapCtx",group:"Heading"});M(Gg.shortcuts,{displayName:"Keymap",group:"Heading"});const Hg=ft("blockquote");M(Hg,{displayName:"Attr

",group:"Blockquote"});const yl=dt("blockquote",r=>({content:"block+",group:"block",defining:!0,parseDOM:[{tag:"blockquote"}],toDOM:e=>["blockquote",r.get(Hg.key)(e),0],parseMarkdown:{match:({type:e})=>e==="blockquote",runner:(e,t,i)=>{e.openNode(i).next(t.children).closeNode()}},toMarkdown:{match:e=>e.type.name==="blockquote",runner:(e,t)=>{e.openNode("blockquote").next(t.content).closeNode()}}}));M(yl.node,{displayName:"NodeSchema
",group:"Blockquote"});M(yl.ctx,{displayName:"NodeSchemaCtx
",group:"Blockquote"});const _$=xr(r=>Pm(/^\s*>\s$/,yl.type(r)));M(_$,{displayName:"InputRule",group:"Blockquote"});const Kg=ke("WrapInBlockquote",r=>()=>Rm(yl.type(r)));M(Kg,{displayName:"Command",group:"Blockquote"});const Jg=ar("blockquoteKeymap",{WrapInBlockquote:{shortcuts:"Mod-Shift-b",command:r=>{const e=r.get(pe);return()=>e.call(Kg.key)}}});M(Jg.ctx,{displayName:"KeymapCtx
",group:"Blockquote"});M(Jg.shortcuts,{displayName:"Keymap
",group:"Blockquote"});const eO=ft("codeBlock",()=>({pre:{},code:{}}));M(eO,{displayName:"Attr",group:"CodeBlock"});const bl=dt("code_block",r=>({content:"text*",group:"block",marks:"",defining:!0,code:!0,attrs:{language:{default:""}},parseDOM:[{tag:"pre",preserveWhitespace:"full",getAttrs:e=>{if(!(e instanceof HTMLElement))throw ds(e);return{language:e.dataset.language}}}],toDOM:e=>{const t=r.get(eO.key)(e);return["pre",{...t.pre,"data-language":e.attrs.language},["code",t.code,0]]},parseMarkdown:{match:({type:e})=>e==="code",runner:(e,t,i)=>{const n=t.lang,s=t.value;e.openNode(i,{language:n}),s&&e.addText(s),e.closeNode()}},toMarkdown:{match:e=>e.type.name==="code_block",runner:(e,t)=>{var i;e.addNode("code",void 0,((i=t.content.firstChild)==null?void 0:i.text)||"",{lang:t.attrs.language})}}}));M(bl.node,{displayName:"NodeSchema",group:"CodeBlock"});M(bl.ctx,{displayName:"NodeSchemaCtx",group:"CodeBlock"});const G$=xr(r=>Zk(/^```(?[a-z]*)?[\s\n]$/,bl.type(r),e=>{var t;return{language:((t=e.groups)==null?void 0:t.language)??""}}));M(G$,{displayName:"InputRule",group:"CodeBlock"});const tO=ke("CreateCodeBlock",r=>(e="")=>Ra(bl.type(r),{language:e}));M(tO,{displayName:"Command",group:"CodeBlock"});const pz=ke("UpdateCodeBlockLanguage",()=>({pos:r,language:e}={pos:-1,language:""})=>(t,i)=>r>=0?(i==null||i(t.tr.setNodeAttribute(r,"language",e)),!0):!1);M(pz,{displayName:"Command",group:"CodeBlock"});const rO=ar("codeBlockKeymap",{CreateCodeBlock:{shortcuts:"Mod-Alt-c",command:r=>{const e=r.get(pe);return()=>e.call(tO.key)}}});M(rO.ctx,{displayName:"KeymapCtx",group:"CodeBlock"});M(rO.shortcuts,{displayName:"Keymap",group:"CodeBlock"});const iO=ft("image");M(iO,{displayName:"Attr",group:"Image"});const Qo=dt("image",r=>({inline:!0,group:"inline",selectable:!0,draggable:!0,marks:"",atom:!0,defining:!0,isolating:!0,attrs:{src:{default:""},alt:{default:""},title:{default:""}},parseDOM:[{tag:"img[src]",getAttrs:e=>{if(!(e instanceof HTMLElement))throw ds(e);return{src:e.getAttribute("src")||"",alt:e.getAttribute("alt")||"",title:e.getAttribute("title")||e.getAttribute("alt")||""}}}],toDOM:e=>["img",{...r.get(iO.key)(e),...e.attrs}],parseMarkdown:{match:({type:e})=>e==="image",runner:(e,t,i)=>{const n=t.url,s=t.alt,o=t.title;e.addNode(i,{src:n,alt:s,title:o})}},toMarkdown:{match:e=>e.type.name==="image",runner:(e,t)=>{e.addNode("image",void 0,void 0,{title:t.attrs.title,url:t.attrs.src,alt:t.attrs.alt})}}}));M(Qo.node,{displayName:"NodeSchema",group:"Image"});M(Qo.ctx,{displayName:"NodeSchemaCtx",group:"Image"});const H$=ke("InsertImage",r=>(e={})=>(t,i)=>{if(!i)return!0;const{src:n="",alt:s="",title:o=""}=e,a=Qo.type(r).create({src:n,alt:s,title:o});return a&&i(t.tr.replaceSelectionWith(a).scrollIntoView()),!0});M(H$,{displayName:"Command",group:"Image"});const K$=ke("UpdateImage",r=>(e={})=>(t,i)=>{const n=DR(t.selection,Qo.type(r));if(!n)return!1;const{node:s,pos:o}=n,a={...s.attrs},{src:l,alt:c,title:u}=e;return l!==void 0&&(a.src=l),c!==void 0&&(a.alt=c),u!==void 0&&(a.title=u),i==null||i(t.tr.setNodeMarkup(o,void 0,a).scrollIntoView()),!0});M(K$,{displayName:"Command",group:"Image"});const mz=xr(r=>new ln(/!\[(?.*?)]\((?.*?)\s*(?="|\))"?(?[^"]+)?"?\)/,(e,t,i,n)=>{const[s,o,a="",l]=t;return s?e.tr.replaceWith(i,n,Qo.type(r).create({src:a,alt:o,title:l})):null}));M(mz,{displayName:"InputRule<insertImageInputRule>",group:"Image"});const nO=ft("hardbreak",r=>({"data-is-inline":r.attrs.isInline}));M(nO,{displayName:"Attr<hardbreak>",group:"Hardbreak"});const Kn=dt("hardbreak",r=>({inline:!0,group:"inline",attrs:{isInline:{default:!1}},selectable:!1,parseDOM:[{tag:"br"}],toDOM:e=>["br",r.get(nO.key)(e)],parseMarkdown:{match:({type:e})=>e==="break",runner:(e,t,i)=>{var n;e.addNode(i,{isInline:!!((n=t.data)!=null&&n.isInline)})}},leafText:()=>` +`,toMarkdown:{match:e=>e.type.name==="hardbreak",runner:(e,t)=>{t.attrs.isInline?e.addNode("text",void 0,` +`):e.addNode("break")}}}));M(Kn.node,{displayName:"NodeSchema<hardbreak>",group:"Hardbreak"});M(Kn.ctx,{displayName:"NodeSchemaCtx<hardbreak>",group:"Hardbreak"});const sO=ke("InsertHardbreak",r=>()=>(e,t)=>{var i;const{selection:n,tr:s}=e;if(n.empty){const o=n.$from.node();if(o.childCount>0&&((i=o.lastChild)==null?void 0:i.type.name)==="hardbreak")return t==null||t(s.replaceRangeWith(n.to-1,n.to,e.schema.node("paragraph")).setSelection(ie.near(s.doc.resolve(n.to))).scrollIntoView()),!0}return t==null||t(s.setMeta("hardbreak",!0).replaceSelectionWith(Kn.type(r).create()).scrollIntoView()),!0});M(sO,{displayName:"Command<insertHardbreakCommand>",group:"Hardbreak"});const oO=ar("hardbreakKeymap",{InsertHardbreak:{shortcuts:"Shift-Enter",command:r=>{const e=r.get(pe);return()=>e.call(sO.key)}}});M(oO.ctx,{displayName:"KeymapCtx<hardbreak>",group:"Hardbreak"});M(oO.shortcuts,{displayName:"Keymap<hardbreak>",group:"Hardbreak"});const aO=ft("hr");M(aO,{displayName:"Attr<hr>",group:"Hr"});const wl=dt("hr",r=>({group:"block",parseDOM:[{tag:"hr"}],toDOM:e=>["hr",r.get(aO.key)(e)],parseMarkdown:{match:({type:e})=>e==="thematicBreak",runner:(e,t,i)=>{e.addNode(i)}},toMarkdown:{match:e=>e.type.name==="hr",runner:e=>{e.addNode("thematicBreak")}}}));M(wl.node,{displayName:"NodeSchema<hr>",group:"Hr"});M(wl.ctx,{displayName:"NodeSchemaCtx<hr>",group:"Hr"});const J$=xr(r=>new ln(/^(?:---|___\s|\*\*\*\s)$/,(e,t,i,n)=>{const{tr:s}=e;return t[0]&&s.replaceWith(i-1,n,wl.type(r).create()),s}));M(J$,{displayName:"InputRule<insertHrInputRule>",group:"Hr"});const eA=ke("InsertHr",r=>()=>(e,t)=>{if(!t)return!0;const i=$i.node.type(r).create(),{tr:n,selection:s}=e,{from:o}=s,a=wl.type(r).create();if(!a)return!0;const l=n.replaceSelectionWith(a).insert(o,i),c=ie.findFrom(l.doc.resolve(o),1,!0);return c&&t(l.setSelection(c).scrollIntoView()),!0});M(eA,{displayName:"Command<insertHrCommand>",group:"Hr"});const lO=ft("bulletList");M(lO,{displayName:"Attr<bulletList>",group:"BulletList"});const ps=dt("bullet_list",r=>({content:"listItem+",group:"block",attrs:{spread:{default:!1}},parseDOM:[{tag:"ul",getAttrs:e=>{if(!(e instanceof HTMLElement))throw ds(e);return{spread:e.dataset.spread}}}],toDOM:e=>["ul",{...r.get(lO.key)(e),"data-spread":e.attrs.spread},0],parseMarkdown:{match:({type:e,ordered:t})=>e==="list"&&!t,runner:(e,t,i)=>{const n=t.spread!=null?`${t.spread}`:"false";e.openNode(i,{spread:n}).next(t.children).closeNode()}},toMarkdown:{match:e=>e.type.name==="bullet_list",runner:(e,t)=>{e.openNode("list",void 0,{ordered:!1,spread:t.attrs.spread==="true"}).next(t.content).closeNode()}}}));M(ps.node,{displayName:"NodeSchema<bulletList>",group:"BulletList"});M(ps.ctx,{displayName:"NodeSchemaCtx<bulletList>",group:"BulletList"});const tA=xr(r=>Pm(/^\s*([-+*])\s$/,ps.type(r)));M(tA,{displayName:"InputRule<wrapInBulletListInputRule>",group:"BulletList"});const kh=ke("WrapInBulletList",r=>()=>Rm(ps.type(r)));M(kh,{displayName:"Command<wrapInBulletListCommand>",group:"BulletList"});const cO=ar("bulletListKeymap",{WrapInBulletList:{shortcuts:"Mod-Alt-8",command:r=>{const e=r.get(pe);return()=>e.call(kh.key)}}});M(cO.ctx,{displayName:"KeymapCtx<bulletListKeymap>",group:"BulletList"});M(cO.shortcuts,{displayName:"Keymap<bulletListKeymap>",group:"BulletList"});const uO=ft("orderedList");M(uO,{displayName:"Attr<orderedList>",group:"OrderedList"});const $o=dt("ordered_list",r=>({content:"listItem+",group:"block",attrs:{order:{default:1},spread:{default:!1}},parseDOM:[{tag:"ol",getAttrs:e=>{if(!(e instanceof HTMLElement))throw ds(e);return{spread:e.dataset.spread,order:e.hasAttribute("start")?Number(e.getAttribute("start")):1}}}],toDOM:e=>["ol",{...r.get(uO.key)(e),...e.attrs.order===1?{}:e.attrs.order,"data-spread":e.attrs.spread},0],parseMarkdown:{match:({type:e,ordered:t})=>e==="list"&&!!t,runner:(e,t,i)=>{const n=t.spread!=null?`${t.spread}`:"true";e.openNode(i,{spread:n}).next(t.children).closeNode()}},toMarkdown:{match:e=>e.type.name==="ordered_list",runner:(e,t)=>{e.openNode("list",void 0,{ordered:!0,start:1,spread:t.attrs.spread==="true"}),e.next(t.content),e.closeNode()}}}));M($o.node,{displayName:"NodeSchema<orderedList>",group:"OrderedList"});M($o.ctx,{displayName:"NodeSchemaCtx<orderedList>",group:"OrderedList"});const rA=xr(r=>Pm(/^\s*(\d+)\.\s$/,$o.type(r),e=>({order:Number(e[1])}),(e,t)=>t.childCount+t.attrs.order===Number(e[1])));M(rA,{displayName:"InputRule<wrapInOrderedListInputRule>",group:"OrderedList"});const hO=ke("WrapInOrderedList",r=>()=>Rm($o.type(r)));M(hO,{displayName:"Command<wrapInOrderedListCommand>",group:"OrderedList"});const dO=ar("orderedListKeymap",{WrapInOrderedList:{shortcuts:"Mod-Alt-7",command:r=>{const e=r.get(pe);return()=>e.call(hO.key)}}});M(dO.ctx,{displayName:"KeymapCtx<orderedList>",group:"OrderedList"});M(dO.shortcuts,{displayName:"Keymap<orderedList>",group:"OrderedList"});const fO=ft("listItem");M(fO,{displayName:"Attr<listItem>",group:"ListItem"});const ii=dt("list_item",r=>({group:"listItem",content:"block+",attrs:{label:{default:"•"},listType:{default:"bullet"},spread:{default:"true"}},defining:!0,parseDOM:[{tag:"li",getAttrs:e=>{if(!(e instanceof HTMLElement))throw ds(e);return{label:e.dataset.label,listType:e.dataset["list-type"],spread:e.dataset.spread}}}],toDOM:e=>["li",{...r.get(fO.key)(e),"data-label":e.attrs.label,"data-list-type":e.attrs.listType,"data-spread":e.attrs.spread},0],parseMarkdown:{match:({type:e})=>e==="listItem",runner:(e,t,i)=>{const n=t.label!=null?`${t.label}.`:"•",s=t.label!=null?"ordered":"bullet",o=t.spread!=null?`${t.spread}`:"true";e.openNode(i,{label:n,listType:s,spread:o}),e.next(t.children),e.closeNode()}},toMarkdown:{match:e=>e.type.name==="list_item",runner:(e,t)=>{e.openNode("listItem",void 0,{spread:t.attrs.spread==="true"}),e.next(t.content),e.closeNode()}}}));M(ii.node,{displayName:"NodeSchema<listItem>",group:"ListItem"});M(ii.ctx,{displayName:"NodeSchemaCtx<listItem>",group:"ListItem"});const pO=ke("SinkListItem",r=>()=>ez(ii.type(r)));M(pO,{displayName:"Command<sinkListItemCommand>",group:"ListItem"});const mO=ke("SplitListItem",r=>()=>Y$(ii.type(r)));M(mO,{displayName:"Command<liftListItemCommand>",group:"ListItem"});const gO=ke("SplitListItem",r=>()=>HV(ii.type(r)));M(gO,{displayName:"Command<splitListItemCommand>",group:"ListItem"});const gz=r=>(e,t,i)=>{const{selection:n}=e;if(!(n instanceof oe))return!1;const{empty:s,$from:o}=n;if(!s||o.parentOffset!==0)return!1;const a=o.node(-1);return a.type!==ii.type(r)||a.firstChild!==o.node()||o.node(-2).childCount>1?!1:Y$(ii.type(r))(e,t,i)},OO=ke("LiftFirstListItem",r=>()=>gz(r));M(OO,{displayName:"Command<liftFirstListItemCommand>",group:"ListItem"});const yO=ar("listItemKeymap",{NextListItem:{shortcuts:"Enter",command:r=>{const e=r.get(pe);return()=>e.call(gO.key)}},SinkListItem:{shortcuts:["Tab","Mod-]"],command:r=>{const e=r.get(pe);return()=>e.call(pO.key)}},LiftListItem:{shortcuts:["Shift-Tab","Mod-["],command:r=>{const e=r.get(pe);return()=>e.call(mO.key)}},LiftFirstListItem:{shortcuts:["Backspace","Delete"],command:r=>{const e=r.get(pe);return()=>e.call(OO.key)}}});M(yO.ctx,{displayName:"KeymapCtx<listItem>",group:"ListItem"});M(yO.shortcuts,{displayName:"Keymap<listItem>",group:"ListItem"});const iA=Im("text",()=>({group:"inline",parseMarkdown:{match:({type:r})=>r==="text",runner:(r,e)=>{r.addText(e.value)}},toMarkdown:{match:r=>r.type.name==="text",runner:(r,e)=>{r.addNode("text",void 0,e.text)}}}));M(iA,{displayName:"NodeSchema<text>",group:"Text"});const bO=ft("html");M(bO,{displayName:"Attr<html>",group:"Html"});const wO=dt("html",r=>({atom:!0,group:"inline",inline:!0,attrs:{value:{default:""}},toDOM:e=>{const t=document.createElement("span"),i={...r.get(bO.key)(e),"data-value":e.attrs.value,"data-type":"html"};return t.textContent=e.attrs.value,["span",i,e.attrs.value]},parseDOM:[{tag:'span[data-type="html"]',getAttrs:e=>({value:e.dataset.value??""})}],parseMarkdown:{match:({type:e})=>e==="html",runner:(e,t,i)=>{e.addNode(i,{value:t.value})}},toMarkdown:{match:e=>e.type.name==="html",runner:(e,t)=>{e.addNode("html",void 0,t.attrs.value)}}}));M(wO.node,{displayName:"NodeSchema<html>",group:"Html"});M(wO.ctx,{displayName:"NodeSchemaCtx<html>",group:"Html"});const Oz=[j$,zg,$i,vh,Ug,vn,nO,Kn,Hg,yl,eO,bl,aO,wl,iO,Qo,lO,ps,uO,$o,fO,ii,Fg,gh,Bg,yh,Lg,Vn,Yg,Hs,bO,wO,iA].flat(),yz=[_$,tA,rA,G$,J$,U$].flat(),bz=[Wg,Kg,mi,_g,tO,sO,eA,H$,K$,hO,kh,pO,gO,mO,OO,Oh,wh,bh,Eu,Vg],wz=[Jg,rO,oO,Gg,yO,dO,cO,jg,Ig,Xg,qg].flat(),vz=/\[([^\]]+)]\([^\s\]]+\)/,Ud=/\[(?<span>((www|https:\/\/|http:\/\/)[^\s\]]+))]\((?<url>[^\s\]]+)\)/,kz=r=>new RegExp(`\\\\(?=[^\\w\\s${r}\\\\]|_)`,"g"),xh="​",nm=`${xh}*`,sm=`${xh}*`,om=`${xh}_`,am=`${xh}⎽`,xz=r=>{let e=r,t=e.match(Ud);for(;t&&t.groups;){const{span:i}=t.groups;e=e.replace(Ud,i),t=e.match(Ud)}return e},Sz=r=>r.replaceAll(/\\\\\*/g,nm).replaceAll(/\\\\_/g,om).replaceAll(nm,sm).replaceAll(om,am),Cz=(r,e,t)=>{const i=r.split(""),n=i[e];return i[e]&&i[t]&&(i[e]=i[t],i[t]=n),i.join("").toString()},Qz=r=>e=>e.replace(kz(r),""),$z=r=>e=>{const t=e.indexOf(r.hole),i=e.charAt(t-1),n=e.charAt(t+1),s=/[^\w]|_/;return n?i&&s.test(i)&&s.test(n)?r.punctuation:r.char:r.punctuation},Az=(r,e,t)=>{let i=e,n=!1;return r.descendants(s=>{var o;if(n)return!1;if(!s.textContent.includes(t))return i+=s.nodeSize,!1;if(s.isText){const a=(o=s.text)==null?void 0:o.indexOf(t);if(a!=null&&a>=0)return n=!0,i+=a,!1}return i+=1,!0}),i},Dz={placeholderConfig:{hole:"∅",punctuation:"⁂",char:"∴"},globalNodes:["footnote_definition"],shouldSyncNode:({prevNode:r,nextNode:e})=>r.inlineContent&&e&&r.type===e.type&&!r.eq(e),movePlaceholder:(r,e)=>{const t=["*","_"];let i=e.indexOf(r);for(;t.includes(e[i-1]||"")&&t.includes(e[i+1]||"");)e=Cz(e,i,i+1),i=i+1;return e}},Ao=$r(Dz,"inlineSyncConfig");M(Ao,{displayName:"Ctx<inlineSyncConfig>",group:"Prose"});const Tz=r=>r.selection.$from.node(),Pz=(r,e,t,i)=>{const n=r.get(Ys),s=e.schema.topNodeType.create(void 0,[t,...i]);return n(s)},Ez=(r,e)=>{const t=r.get(Ao.key),i=t.placeholderConfig.hole,[n="",...s]=e.split(` + +`),o=c=>t.movePlaceholder(i,c);let a=OZ(Qz(i),o,xz,Sz)(n);const l=$z(t.placeholderConfig)(a);return a=a.replace(i,l),a=[a,...s].join(` + +`),[a,l]},Mz=(r,e)=>{const t=r.get(Hn)(e);return t?t.firstChild:null},Rz=(r,e)=>{const{globalNodes:t}=r.get(Ao.key),i=[];return e.doc.descendants(n=>{if(t.includes(n.type.name)||t.includes(n.type))return i.push(n),!1}),i},Zz=r=>r.split(` + +`)[0]||"",Nz=r=>r.childCount===1&&r.child(0).type.name==="html",nA=(r,e)=>{try{const t=Rz(r,e),i=Tz(e),n=Pz(r,e,i,t),[s,o]=Ez(r,n),a=Mz(r,s);return!a||i.type!==a.type||Nz(a)?null:(a.attrs={...i.attrs},a.descendants(l=>{var c,u,h;const d=l.marks.find(f=>f.type.name==="link");d&&(c=l.text)!=null&&c.includes(o)&&d.attrs.href.includes(o)&&(d.attrs.href=d.attrs.href.replace(o,"")),((u=l.text)!=null&&u.includes(sm)||(h=l.text)!=null&&h.includes(am))&&(l.text=l.text.replaceAll(sm,nm).replaceAll(am,om))}),{text:Zz(s),prevNode:i,nextNode:a,placeholder:o})}catch{return null}},Fz=(r,e,t,i,n)=>{var s;const{placeholderConfig:o}=r.get(Ao.key),a=o.hole;let l=t.tr.setMeta(e,!0).insertText(a,t.selection.from);const c=t.apply(l),u=nA(r,c);if(!u)return;const h=u.text.slice(0,u.text.indexOf(u.placeholder)),{$from:d}=c.selection,f=d.before(),p=d.after(),m=Az(u.nextNode,f,u.placeholder);l=l.replaceWith(f,p,u.nextNode).setNodeMarkup(f,void 0,n).delete(m+1,m+2),l=l.setSelection(oe.near(l.doc.resolve(m+1))),(vz.test(h)||["*","_","~"].includes(h.at(-1)||""))&&l.selection instanceof oe&&(((s=l.selection.$cursor)==null?void 0:s.marks())??[]).forEach(g=>{l=l.removeStoredMark(g.type)}),i(l)},sA=ni(r=>{let e=null;const t=new Wt("MILKDOWN_INLINE_SYNC");return new St({key:t,state:{init:()=>null,apply:(i,n,s,o)=>{var a;const l=r.get(rn);if(!((a=l.hasFocus)!=null&&a.call(l))||!l.editable||!i.docChanged||i.getMeta(t))return null;const c=nA(r,o);if(!c)return null;e&&(cancelAnimationFrame(e),e=null);const{prevNode:u,nextNode:h,text:d}=c,{shouldSyncNode:f}=r.get(Ao.key);return f({prevNode:u,nextNode:h,ctx:r,tr:i,text:d})&&(e=requestAnimationFrame(()=>{e=null;const{dispatch:p,state:m}=r.get(rn);Fz(r,t,m,p,u.attrs)})),null}}})});M(sA,{displayName:"Prose<inlineSyncPlugin>",group:"Prose"});const vO=Ci("remarkAddOrderInList",()=>()=>r=>{mh(r,"list",e=>{if(e.ordered){const t=e.start??1;e.children.forEach((i,n)=>{i.label=n+t})}})});M(vO.plugin,{displayName:"Remark<remarkAddOrderInListPlugin>",group:"Remark"});M(vO.options,{displayName:"RemarkConfig<remarkAddOrderInListPlugin>",group:"Remark"});const kO=Ci("remarkLineBreak",()=>()=>r=>{const e=/[\t ]*(?:\r?\n|\r)/g;mh(r,"text",(t,i,n)=>{if(!t.value||typeof t.value!="string")return;const s=[];let o=0;e.lastIndex=0;let a=e.exec(t.value);for(;a;){const l=a.index;o!==l&&s.push({type:"text",value:t.value.slice(o,l)}),s.push({type:"break",data:{isInline:!0}}),o=l+a[0].length,a=e.exec(t.value)}if(s.length>0&&n&&typeof i=="number")return o<t.value.length&&s.push({type:"text",value:t.value.slice(o)}),n.children.splice(i,1,...s),i+s.length})});M(kO.plugin,{displayName:"Remark<remarkLineBreak>",group:"Remark"});M(kO.options,{displayName:"RemarkConfig<remarkLineBreak>",group:"Remark"});const xO=Ci("remarkInlineLink",()=>hz);M(xO.plugin,{displayName:"Remark<remarkInlineLinkPlugin>",group:"Remark"});M(xO.options,{displayName:"RemarkConfig<remarkInlineLinkPlugin>",group:"Remark"});const Iz=r=>!!r.children,Bz=r=>r.type==="html";function qz(r,e){return t(r,0,null)[0];function t(i,n,s){if(Iz(i)){const o=[];for(let a=0,l=i.children.length;a<l;a++){const c=i.children[a];if(c){const u=t(c,a,i);if(u)for(let h=0,d=u.length;h<d;h++){const f=u[h];f&&o.push(f)}}}i.children=o}return e(i,n,s)}}const SO=Ci("remarkHTMLTransformer",()=>()=>r=>{qz(r,(e,t,i)=>Bz(e)?((i==null?void 0:i.type)==="root"&&(e.children=[{...e}],delete e.value,e.type="paragraph"),[e]):[e])});M(SO.plugin,{displayName:"Remark<remarkHtmlTransformer>",group:"Remark"});M(SO.options,{displayName:"RemarkConfig<remarkHtmlTransformer>",group:"Remark"});const CO=Ci("remarkMarker",()=>()=>(r,e)=>{const t=i=>e.value.charAt(i.position.start.offset);mh(r,i=>["strong","emphasis"].includes(i.type),i=>{i.marker=t(i)})});M(CO.plugin,{displayName:"Remark<remarkMarker>",group:"Remark"});M(CO.options,{displayName:"RemarkConfig<remarkMarker>",group:"Remark"});const oA=ni(()=>{let r=!1;const e=new Wt("MILKDOWN_INLINE_NODES_CURSOR"),t=new St({key:e,state:{init(){return!1},apply(i){if(!i.selection.empty)return!1;const n=i.selection.$from,s=n.nodeBefore,o=n.nodeAfter;return!!(s&&o&&s.isInline&&!s.isText&&o.isInline&&!o.isText)}},props:{handleDOMEvents:{compositionend:(i,n)=>r?(r=!1,requestAnimationFrame(()=>{if(t.getState(i.state)){const s=i.state.selection.from;n.preventDefault(),i.dispatch(i.state.tr.insertText(n.data||"",s))}}),!0):!1,compositionstart:i=>(t.getState(i.state)&&(r=!0),!1),beforeinput:(i,n)=>{if(t.getState(i.state)&&n instanceof InputEvent&&n.data&&!r){const s=i.state.selection.from;return n.preventDefault(),i.dispatch(i.state.tr.insertText(n.data||"",s)),!0}return!1}},decorations(i){if(t.getState(i)){const n=i.selection.$from.pos,s=document.createElement("span"),o=ti.widget(n,s,{side:-1}),a=document.createElement("span"),l=ti.widget(n,a);return setTimeout(()=>{s.contentEditable="true",a.contentEditable="true"}),Be.create(i.doc,[o,l])}return Be.empty}}});return t});M(oA,{displayName:"Prose<inlineNodesCursorPlugin>",group:"Prose"});const aA=ni(r=>new St({key:new Wt("MILKDOWN_HARDBREAK_MARKS"),appendTransaction:(e,t,i)=>{if(!e.length)return;const[n]=e;if(!n)return;const[s]=n.steps;if(n.getMeta("hardbreak")){if(!(s instanceof et))return;const{from:o}=s;return i.tr.setNodeMarkup(o,Kn.type(r),void 0,[])}if(s instanceof Oi){let o=i.tr;const{from:a,to:l}=s;return i.doc.nodesBetween(a,l,(c,u)=>{c.type===Kn.type(r)&&(o=o.setNodeMarkup(u,Kn.type(r),void 0,[]))}),o}}}));M(aA,{displayName:"Prose<hardbreakClearMarkPlugin>",group:"Prose"});const QO=$r(["table","code_block"],"hardbreakFilterNodes");M(QO,{displayName:"Ctx<hardbreakFilterNodes>",group:"Prose"});const lA=ni(r=>{const e=r.get(QO.key);return new St({key:new Wt("MILKDOWN_HARDBREAK_FILTER"),filterTransaction:(t,i)=>{const n=t.getMeta("hardbreak"),[s]=t.steps;if(n&&s){const{from:o}=s,a=i.doc.resolve(o);let l=a.depth,c=!0;for(;l>0;)e.includes(a.node(l).type.name)&&(c=!1),l--;return c}return!0}})});M(lA,{displayName:"Prose<hardbreakFilterPlugin>",group:"Prose"});const cA=ni(r=>{const e=new Wt("MILKDOWN_HEADING_ID"),t=i=>{if(i.composing||!i.editable)return;const n=r.get(vh.key),s=i.state.tr.setMeta("addToHistory",!1);let o=!1;i.state.doc.descendants((a,l)=>{if(a.type===vn.type(r)){if(a.textContent.trim().length===0)return;const c=a.attrs,u=n(a);c.id!==u&&(o=!0,s.setMeta(e,!0).setNodeMarkup(l,void 0,{...c,id:u}))}}),o&&i.dispatch(s)};return new St({key:e,view:i=>(t(i),{update:n=>{t(n)}})})});M(cA,{displayName:"Prose<syncHeadingIdPlugin>",group:"Prose"});const uA=ni(r=>{const e=t=>{if(t.composing||!t.editable)return;const i=$o.type(r),n=ps.type(r),s=ii.type(r),o=t.state,a=(u,h)=>{let d=!1;const f=`${h+1}.`;return u.label!==f&&(u.label=f,d=!0),d};let l=o.tr,c=!1;o.doc.descendants((u,h,d,f)=>{if(u.type===n){const p=u.maybeChild(0);(p==null?void 0:p.type)===s&&p.attrs.listType==="ordered"&&(c=!0,l.setNodeMarkup(h,i,{spread:"true"}),u.descendants((m,g,O,w)=>{if(m.type===s){const v={...m.attrs};a(v,w)&&(l=l.setNodeMarkup(g,void 0,v))}return!1}))}else if(u.type===s&&(d==null?void 0:d.type)===i){const p={...u.attrs};let m=!1;p.listType!=="ordered"&&(p.listType="ordered",m=!0),d!=null&&d.maybeChild(0)&&(m=a(p,f)),m&&(l=l.setNodeMarkup(h,void 0,p),c=!0)}}),c&&t.dispatch(l.setMeta("addToHistory",!1))};return new St({key:new Wt("MILKDOWN_KEEP_LIST_ORDER"),view:t=>(e(t),{update:i=>{e(i)}})})});M(uA,{displayName:"Prose<syncListOrderPlugin>",group:"Prose"});const Lz=[Ao,sA,aA,QO,lA,oA,vO,xO,kO,SO,CO,cA,uA].flat(),Xz=[Oz,yz,bz,wz,Lz].flat();function hA(r){var e,t,i="";if(typeof r=="string"||typeof r=="number")i+=r;else if(typeof r=="object")if(Array.isArray(r))for(e=0;e<r.length;e++)r[e]&&(t=hA(r[e]))&&(i&&(i+=" "),i+=t);else for(e in r)r[e]&&(i&&(i+=" "),i+=e);return i}function Yz(){for(var r,e,t=0,i="";t<arguments.length;)(r=arguments[t++])&&(e=hA(r))&&(i&&(i+=" "),i+=e);return i}const Vz=r=>{r.update(va,e=>{const t=e.attributes;return{...e,attributes:i=>{const n=typeof t=="function"?t(i):t;return{...n,class:Yz("prose dark:prose-invert outline-none",(n==null?void 0:n.class)||"","milkdown-theme-nord")}}}})},_d={enter:{mdxFlowExpression:zz,mdxTextExpression:Wz},exit:{mdxFlowExpression:cw,mdxFlowExpressionChunk:uw,mdxTextExpression:cw,mdxTextExpressionChunk:uw}},lw={handlers:{mdxFlowExpression:hw,mdxTextExpression:hw},unsafe:[{character:"{",inConstruct:["phrasing"]},{atBreak:!0,character:"{"}]};function zz(r){this.enter({type:"mdxFlowExpression",value:""},r),this.buffer()}function Wz(r){this.enter({type:"mdxTextExpression",value:""},r),this.buffer()}function cw(r){const e=this.resume(),t=r.estree,i=this.exit(r);i.value=e,t&&(i.data={estree:t})}function uw(r){this.config.enter.data.call(this,r),this.config.exit.data.call(this,r)}function hw(r){return"{"+(r.value||"")+"}"}const dA=pA(/[A-Za-z]/),fA=pA(/[\dA-Za-z]/);function sr(r){return r!==null&&r<-2}function $n(r){return r!==null&&(r<0||r===32)}function Jn(r){return r===-2||r===-1||r===32}function pA(r){return e;function e(t){return t!==null&&r.test(String.fromCharCode(t))}}const jz={}.hasOwnProperty,Uz=Symbol("continue"),Gd=Symbol("exit"),_z=Symbol("skip");function Gz(r,e){let t,i;typeof e=="function"?t=e:e&&typeof e=="object"&&(e.enter&&(t=e.enter),e.leave&&(i=e.leave)),n(r,null,null,[])();function n(s,o,a,l){return Hd(s)&&(c.displayName="node ("+s.type+")"),c;function c(){const u=t?dw(t(s,o,a,l)):[];if(u[0]===Gd)return u;if(u[0]!==_z){let h;for(h in s)if(jz.call(s,h)&&s[h]&&typeof s[h]=="object"&&h!=="data"&&h!=="position"){const d=l.concat(s),f=s[h];if(Array.isArray(f)){const p=f;let m=0;for(;m>-1&&m<p.length;){const g=p[m];if(Hd(g)){const O=n(g,h,m,d)();if(O[0]===Gd)return O;m=typeof O[1]=="number"?O[1]:m+1}else m++}}else if(Hd(f)){const p=n(f,h,null,d)();if(p[0]===Gd)return p}}}return i?dw(i(s,o,a,l)):u}}}function dw(r){return Array.isArray(r)?r:typeof r=="number"?[Uz,r]:[r]}function Hd(r){return!!(r&&typeof r=="object"&&"type"in r&&typeof r.type=="string"&&r.type.length>0)}function Hz(r){return!r||typeof r!="object"?"":"position"in r||"type"in r?fw(r.position):"start"in r||"end"in r?fw(r):"line"in r||"column"in r?lm(r):""}function lm(r){return pw(r&&r.line)+":"+pw(r&&r.column)}function fw(r){return lm(r&&r.start)+"-"+lm(r&&r.end)}function pw(r){return r&&typeof r=="number"?r:1}class _e extends Error{constructor(e,t,i){const n=[null,null];let s={start:{line:null,column:null},end:{line:null,column:null}};if(super(),typeof t=="string"&&(i=t,t=void 0),typeof i=="string"){const o=i.indexOf(":");o===-1?n[1]=i:(n[0]=i.slice(0,o),n[1]=i.slice(o+1))}t&&("type"in t||"position"in t?t.position&&(s=t.position):"start"in t||"end"in t?s=t:("line"in t||"column"in t)&&(s.start=t)),this.name=Hz(t)||"1:1",this.message=typeof e=="object"?e.message:e,this.stack="",typeof e=="object"&&e.stack&&(this.stack=e.stack),this.reason=this.message,this.fatal,this.line=s.start.line,this.column=s.start.column,this.position=s,this.source=n[0],this.ruleId=n[1],this.file,this.actual,this.expected,this.url,this.note}}_e.prototype.file="";_e.prototype.name="";_e.prototype.reason="";_e.prototype.message="";_e.prototype.stack="";_e.prototype.fatal=null;_e.prototype.column=null;_e.prototype.line=null;_e.prototype.source=null;_e.prototype.ruleId=null;_e.prototype.position=null;function Kz(r,e){const t=e.prefix||"",i=e.suffix||"",n=Object.assign({},e.acornOptions),s=[],o=[],a=n.onComment,l=n.onToken;let c=!1,u,h;const d=Object.assign({},n,{onComment:s,preserveParens:!0});l&&(d.onToken=o);const f=Jz(r,["lineEnding","expressionChunk","mdxFlowExpressionChunk","mdxTextExpressionChunk","mdxJsxTextTagExpressionAttributeValue","mdxJsxTextTagAttributeValueExpressionValue","mdxJsxFlowTagExpressionAttributeValue","mdxJsxFlowTagAttributeValueExpressionValue","mdxjsEsmData"]),p=f.value,m=t+p+i,g=e.expression&&mw(p);if(g&&!e.allowEmpty)throw new _e("Unexpected empty expression",w(0),"micromark-extension-mdx-expression:unexpected-empty-expression");try{u=e.expression&&!g?e.acorn.parseExpressionAt(m,0,d):e.acorn.parse(m,d)}catch(v){const C=v,Q=w(C.pos);C.message=String(C.message).replace(/ \(\d+:\d+\)$/,""),C.pos=Q.offset,C.loc={line:Q.line,column:Q.column-1},h=C,c=C.raisedAt>=t.length+p.length||C.message==="Unterminated comment"}if(u&&e.expression&&!g)if(mw(m.slice(u.end,m.length-i.length)))u={type:"Program",start:0,end:t.length+p.length,body:[{type:"ExpressionStatement",expression:u,start:0,end:t.length+p.length}],sourceType:"module",comments:[]};else{const v=w(u.end),C=new Error("Unexpected content after expression");C.pos=v.offset,C.loc={line:v.line,column:v.column-1},h=C,u=void 0}if(u){if(u.comments=s,Gz(u,(v,C,Q,b)=>{let x=b[b.length-1],R=C;v.type==="ParenthesizedExpression"&&x&&R&&(typeof Q=="number"&&(x=x[R],R=Q),x[R]=v.expression),O(v)}),Array.isArray(a))a.push(...s);else if(typeof a=="function")for(const v of s)a(v.type==="Block",v.value,v.start,v.end,v.loc.start,v.loc.end);for(const v of o)v.end<=t.length||v.start-t.length>=p.length||(O(v),Array.isArray(l)?l.push(v):l(v))}return{estree:u,error:h,swallow:c};function O(v){const C=w(v.start),Q=w(v.end);v.start=C.offset,v.end=Q.offset,v.loc={start:{line:C.line,column:C.column-1,offset:C.offset},end:{line:Q.line,column:Q.column-1,offset:Q.offset}},v.range=[v.start,v.end]}function w(v){let C=v-t.length;C<0?C=0:C>p.length&&(C=p.length);let Q=eW(f.stops,C);return Q||(Q={line:e.start.line,column:e.start.column,offset:e.start.offset}),Q}}function mw(r){return/^\s*$/.test(r.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\/\/[^\r\n]*(\r\n|\n|\r)/g,""))}function Jz(r,e){const t={value:"",stops:[]};let i=-1;for(;++i<r.length;){const n=r[i];if(n[0]==="enter"&&e.includes(n[1].type)){const s=n[2].sliceStream(n[1]);for(;s.length>0&&s[0]===-1;)s.shift();const o=tW(s);t.stops.push([t.value.length,n[1].start]),t.value+=o,t.stops.push([t.value.length,n[1].end])}}return t}function eW(r,e){let t=0;for(;t<r.length&&r[t][0]<=e;)t+=1;if(t===0)return;const[i,n]=r[t-1],s=e-i;return{line:n.line,column:n.column+s,offset:n.offset+s}}function tW(r){let e=-1;const t=[];let i;for(;++e<r.length;){const n=r[e];let s;if(typeof n=="string")s=n;else switch(n){case-5:{s="\r";break}case-4:{s=` +`;break}case-3:{s=`\r +`;break}case-2:{s=" ";break}case-1:{if(i)continue;s=" ";break}default:s=String.fromCharCode(n)}i=n===-2,t.push(s)}return t.join("")}function Kd(r){const e=r||{},t=e.loc||{},i=e.range||[0,0],n=t.start?vs(t.start.column):void 0,s=t.end?vs(t.end.column):void 0;return{start:{line:t.start?vs(t.start.line):void 0,column:n===void 0?void 0:n+1,offset:vs(i[0]||e.start)},end:{line:t.end?vs(t.end.line):void 0,column:s===void 0?void 0:s+1,offset:vs(i[1]||e.end)}}}function vs(r){return typeof r=="number"&&r>-1?r:void 0}function gw(r,e,t,i,n,s,o,a,l,c,u){const h=this,d=this.events.length+3;let f=0,p,m;return g;function g(C){return r.enter(t),r.enter(i),r.consume(C),r.exit(i),p=h.now(),O}function O(C){if(C===null)throw m||new _e("Unexpected end of file in expression, expected a corresponding closing brace for `{`",h.now(),"micromark-extension-mdx-expression:unexpected-eof");if(sr(C))return r.enter("lineEnding"),r.consume(C),r.exit("lineEnding"),v;if(C===125&&f===0){const Q=s?rW.call(h,s,o,d,p,c||!1,l||!1):{type:"ok",estree:void 0};if(Q.type==="ok"){r.enter(i),r.consume(C),r.exit(i);const b=r.exit(t);return a&&Q.estree&&Object.assign(b,{estree:Q.estree}),e}return m=Q.message,r.enter(n),r.consume(C),w}return r.enter(n),w(C)}function w(C){return C===125&&f===0||C===null||sr(C)?(r.exit(n),O(C)):(C===123&&!s?f+=1:C===125&&(f-=1),r.consume(C),w)}function v(C){const Q=h.now();if(Q.line!==p.line&&!u&&h.parser.lazy[Q.line])throw new _e("Unexpected end of file in expression, expected a corresponding closing brace for `{`",h.now(),"micromark-extension-mdx-expression:unexpected-eof");return O(C)}}function rW(r,e,t,i,n,s){const o=Kz(this.events.slice(t),{acorn:r,acornOptions:e,start:i,expression:!0,allowEmpty:n,prefix:s?"({":"",suffix:s?"})":""}),a=o.estree;if(s&&a){const l=a.body[0];if(l.type!=="ExpressionStatement"||l.expression.type!=="ObjectExpression")throw new _e("Unexpected `"+l.type+"` in code: expected an object spread (`{...spread}`)",Kd(l).start,"micromark-extension-mdx-expression:non-spread");if(l.expression.properties[1])throw new _e("Unexpected extra content in spread: only a single spread is supported",Kd(l.expression.properties[1]).start,"micromark-extension-mdx-expression:spread-extra");if(l.expression.properties[0]&&l.expression.properties[0].type!=="SpreadElement")throw new _e("Unexpected `"+l.expression.properties[0].type+"` in code: only spread elements are supported",Kd(l.expression.properties[0]).start,"micromark-extension-mdx-expression:non-spread")}return o.error?{type:"nok",message:new _e("Could not parse expression with acorn: "+o.error.message,{line:o.error.loc.line,column:o.error.loc.column+1,offset:o.error.pos},"micromark-extension-mdx-expression:acorn")}:{type:"ok",estree:a}}function Ur(r,e,t,i){const n=i?i-1:Number.POSITIVE_INFINITY;let s=0;return o;function o(l){return Jn(l)?(r.enter(t),a(l)):e(l)}function a(l){return Jn(l)&&s++<n?(r.consume(l),a):(r.exit(t),e(l))}}function iW(r){const e=r||{},t=e.addResult,i=e.acorn,n=e.spread;let s=e.allowEmpty,o;if(s==null&&(s=!0),i){if(!i.parseExpressionAt)throw new Error("Expected a proper `acorn` instance passed in as `options.acorn`");o=Object.assign({ecmaVersion:2020,sourceType:"module"},e.acornOptions)}else if(e.acornOptions||e.addResult)throw new Error("Expected an `acorn` instance passed in as `options.acorn`");return{flow:{123:{tokenize:a,concrete:!0}},text:{123:{tokenize:l}}};function a(c,u,h){const d=this;return f;function f(O){return p(O)}function p(O){return gw.call(d,c,m,"mdxFlowExpression","mdxFlowExpressionMarker","mdxFlowExpressionChunk",i,o,t,n,s)(O)}function m(O){return Jn(O)?Ur(c,g,"whitespace")(O):g(O)}function g(O){return O===null||sr(O)?u(O):h(O)}}function l(c,u){const h=this;return d;function d(f){return gw.call(h,c,u,"mdxTextExpression","mdxTextExpressionMarker","mdxTextExpressionChunk",i,o,t,n,s,!0)(f)}}}const nW=function(){var r,e,t,i;const n=this.data();function s(o,a){n[o]?n[o].push(a):n[o]=[a]}s("fromMarkdownExtensions",[{enter:{mdxTextExpression:(r=_d.enter)==null?void 0:r.mdxTextExpression},exit:{mdxTextExpression:(e=_d.exit)==null?void 0:e.mdxTextExpression,mdxTextExpressionChunk:(t=_d.exit)==null?void 0:t.mdxTextExpressionChunk}}]),s("toMarkdownExtensions",{extensions:[{handlers:{mdxTextExpression:(i=lw.handlers)==null?void 0:i.mdxTextExpression},unsafe:lw.unsafe}]}),s("micromarkExtensions",{text:iW().text})},sW=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],Ow={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"};function mA(r){const e=typeof r=="string"?r.charCodeAt(0):r;return e>=48&&e<=57}function oW(r){const e=typeof r=="string"?r.charCodeAt(0):r;return e>=97&&e<=102||e>=65&&e<=70||e>=48&&e<=57}function aW(r){const e=typeof r=="string"?r.charCodeAt(0):r;return e>=97&&e<=122||e>=65&&e<=90}function yw(r){return aW(r)||mA(r)}const bw={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:` +`,Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:" ",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},lW={}.hasOwnProperty;function ww(r){return lW.call(bw,r)?bw[r]:!1}const ks=String.fromCharCode,cW=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];function $O(r,e={}){const t=typeof e.additional=="string"?e.additional.charCodeAt(0):e.additional,i=[];let n=0,s=-1,o="",a,l;e.position&&("start"in e.position||"indent"in e.position?(l=e.position.indent,a=e.position.start):a=e.position);let c=(a?a.line:0)||1,u=(a?a.column:0)||1,h=f(),d;for(n--;++n<=r.length;)if(d===10&&(u=(l?l[s]:0)||1),d=r.charCodeAt(n),d===38){const g=r.charCodeAt(n+1);if(g===9||g===10||g===12||g===32||g===38||g===60||Number.isNaN(g)||t&&g===t){o+=ks(d),u++;continue}const O=n+1;let w=O,v=O,C;if(g===35){v=++w;const A=r.charCodeAt(v);A===88||A===120?(C="hexadecimal",v=++w):C="decimal"}else C="named";let Q="",b="",x="";const R=C==="named"?yw:C==="decimal"?mA:oW;for(v--;++v<=r.length;){const A=r.charCodeAt(v);if(!R(A))break;x+=ks(A),C==="named"&&sW.includes(x)&&(Q=x,b=ww(x))}let P=r.charCodeAt(v)===59;if(P){v++;const A=C==="named"?ww(x):!1;A&&(Q=x,b=A)}let B=1+v-O,E="";if(!(!P&&e.nonTerminated===!1))if(!x)C!=="named"&&p(4,B);else if(C==="named"){if(P&&!b)p(5,1);else if(Q!==x&&(v=w+Q.length,B=1+v-w,P=!1),!P){const A=Q?1:3;if(e.attribute){const z=r.charCodeAt(v);z===61?(p(A,B),b=""):yw(z)?b="":p(A,B)}else p(A,B)}E=b}else{P||p(2,B);let A=Number.parseInt(x,C==="hexadecimal"?16:10);if(uW(A))p(7,B),E=ks(65533);else if(A in Ow)p(6,B),E=Ow[A];else{let z="";hW(A)&&p(6,B),A>65535&&(A-=65536,z+=ks(A>>>10|55296),A=56320|A&1023),E=z+ks(A)}}if(E){m(),h=f(),n=v-1,u+=v-O+1,i.push(E);const A=f();A.offset++,e.reference&&e.reference.call(e.referenceContext,E,{start:h,end:A},r.slice(O-1,v)),h=A}else x=r.slice(O-1,v),o+=x,u+=x.length,n=v-1}else d===10&&(c++,s++,u=0),Number.isNaN(d)?m():(o+=ks(d),u++);return i.join("");function f(){return{line:c,column:u,offset:n+((a?a.offset:0)||0)}}function p(g,O){let w;e.warning&&(w=f(),w.column+=O,w.offset+=O,e.warning.call(e.warningContext,cW[g],w,g))}function m(){o&&(i.push(o),e.text&&e.text.call(e.textContext,o,{start:h,end:f()}),o="")}}function uW(r){return r>=55296&&r<=57343||r>1114111}function hW(r){return r>=1&&r<=8||r===11||r>=13&&r<=31||r>=127&&r<=159||r>=64976&&r<=65007||(r&65535)===65535||(r&65535)===65534}function dW(r,e){if(r=r.replace(e.subset?fW(e.subset):/["&'<>`]/g,i),e.subset||e.escapeOnly)return r;return r.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,t).replace(/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,i);function t(n,s,o){return e.format((n.charCodeAt(0)-55296)*1024+n.charCodeAt(1)-56320+65536,o.charCodeAt(s+2),e)}function i(n,s,o){return e.format(n.charCodeAt(0),o.charCodeAt(s+1),e)}}function fW(r){const e=[];let t=-1;for(;++t<r.length;)e.push(r[t].replace(/[|\\{}()[\]^$+*?.]/g,"\\$&"));return new RegExp("(?:"+e.join("|")+")","g")}function pW(r){return"&#x"+r.toString(16).toUpperCase()+";"}function mW(r,e){return dW(r,Object.assign({format:pW},e))}const gA=function(r){if(r==null)return bW;if(typeof r=="string")return yW(r);if(typeof r=="object")return Array.isArray(r)?gW(r):OW(r);if(typeof r=="function")return Sh(r);throw new Error("Expected function, string, or object as test")};function gW(r){const e=[];let t=-1;for(;++t<r.length;)e[t]=gA(r[t]);return Sh(i);function i(...n){let s=-1;for(;++s<e.length;)if(e[s].call(this,...n))return!0;return!1}}function OW(r){return Sh(e);function e(t){let i;for(i in r)if(t[i]!==r[i])return!1;return!0}}function yW(r){return Sh(e);function e(t){return t&&t.type===r}}function Sh(r){return e;function e(t,...i){return!!(t&&typeof t=="object"&&"type"in t&&r.call(this,t,...i))}}function bW(){return!0}const wW=!0,vw=!1,vW="skip",OA=function(r,e,t,i){typeof e=="function"&&typeof t!="function"&&(i=t,t=e,e=null);const n=gA(e),s=i?-1:1;o(r,void 0,[])();function o(a,l,c){const u=a&&typeof a=="object"?a:{};if(typeof u.type=="string"){const d=typeof u.tagName=="string"?u.tagName:typeof u.name=="string"?u.name:void 0;Object.defineProperty(h,"name",{value:"node ("+(a.type+(d?"<"+d+">":""))+")"})}return h;function h(){let d=[],f,p,m;if((!e||n(a,l,c[c.length-1]||null))&&(d=kW(t(a,c)),d[0]===vw))return d;if(a.children&&d[0]!==vW)for(p=(i?a.children.length:-1)+s,m=c.concat(a);p>-1&&p<a.children.length;){if(f=o(a.children[p],p,m)(),f[0]===vw)return f;p=typeof f[1]=="number"?f[1]:p+s}return d}}};function kW(r){return Array.isArray(r)?r:typeof r=="number"?[wW,r]:[r]}function yA(r,e,t){const i=e.indexStack,n=r.children||[],s=e.createTracker(t),o=[];let a=-1;for(i.push(-1);++a<n.length;){const l=n[a];i[i.length-1]=a,o.push(s.move(e.handle(l,r,e,{before:` +`,after:` +`,...s.current()}))),l.type!=="list"&&(e.bulletLastUsed=void 0),a<n.length-1&&o.push(s.move(xW(l,n[a+1],r,e)))}return i.pop(),o.join("")}function xW(r,e,t,i){let n=i.join.length;for(;n--;){const s=i.join[n](r,e,t,i);if(s===!0||s===1)break;if(typeof s=="number")return` +`.repeat(1+s);if(s===!1)return` + +<!----> + +`}return` + +`}function bA(r,e,t){const i=e.indexStack,n=r.children||[],s=[];let o=-1,a=t.before;i.push(-1);let l=e.createTracker(t);for(;++o<n.length;){const c=n[o];let u;if(i[i.length-1]=o,o+1<n.length){let h=e.handle.handlers[n[o+1].type];h&&h.peek&&(h=h.peek),u=h?h(n[o+1],r,e,{before:"",after:"",...l.current()}).charAt(0):""}else u=t.after;s.length>0&&(a==="\r"||a===` +`)&&c.type==="html"&&(s[s.length-1]=s[s.length-1].replace(/(\r?\n|\r)$/," "),a=" ",l=e.createTracker(t),l.move(s.join(""))),s.push(l.move(e.handle(c,r,e,{...l.current(),before:a,after:u}))),a=s[s.length-1].slice(-1)}return i.pop(),s.join("")}function SW(r){const e=r.options.quote||'"';if(e!=='"'&&e!=="'")throw new Error("Cannot serialize title with `"+e+"` for `options.quote`, expected `\"`, or `'`");return e}function wA(r){const e=r||{},t=e.now||{};let i=e.lineShift||0,n=t.line||1,s=t.column||1;return{move:l,current:o,shift:a};function o(){return{now:{line:n,column:s},lineShift:i}}function a(c){i+=c}function l(c){const u=c||"",h=u.split(/\r?\n|\r/g),d=h[h.length-1];return n+=h.length-1,s=h.length===1?s+d.length:1+d.length+i,u}}const CW={}.hasOwnProperty,kw=/^[^\t\n\r "#'.<=>`}]+$/;zc.peek=EW;const xw={canContainEols:["textDirective"],enter:{directiveContainer:$W,directiveContainerAttributes:ef,directiveContainerLabel:TW,directiveLeaf:AW,directiveLeafAttributes:ef,directiveText:DW,directiveTextAttributes:ef},exit:{directiveContainer:af,directiveContainerAttributeClassValue:rf,directiveContainerAttributeIdValue:tf,directiveContainerAttributeName:sf,directiveContainerAttributeValue:nf,directiveContainerAttributes:of,directiveContainerLabel:PW,directiveContainerName:Jd,directiveLeaf:af,directiveLeafAttributeClassValue:rf,directiveLeafAttributeIdValue:tf,directiveLeafAttributeName:sf,directiveLeafAttributeValue:nf,directiveLeafAttributes:of,directiveLeafName:Jd,directiveText:af,directiveTextAttributeClassValue:rf,directiveTextAttributeIdValue:tf,directiveTextAttributeName:sf,directiveTextAttributeValue:nf,directiveTextAttributes:of,directiveTextName:Jd}},QW={unsafe:[{character:"\r",inConstruct:["leafDirectiveLabel","containerDirectiveLabel"]},{character:` +`,inConstruct:["leafDirectiveLabel","containerDirectiveLabel"]},{before:"[^:]",character:":",after:"[A-Za-z]",inConstruct:["phrasing"]},{atBreak:!0,character:":",after:":"}],handlers:{containerDirective:zc,leafDirective:zc,textDirective:zc}};function $W(r){AO.call(this,"containerDirective",r)}function AW(r){AO.call(this,"leafDirective",r)}function DW(r){AO.call(this,"textDirective",r)}function AO(r,e){this.enter({type:r,name:"",attributes:{},children:[]},e)}function Jd(r){const e=this.stack[this.stack.length-1];e.name=this.sliceSerialize(r)}function TW(r){this.enter({type:"paragraph",data:{directiveLabel:!0},children:[]},r)}function PW(r){this.exit(r)}function ef(){this.setData("directiveAttributes",[]),this.buffer()}function tf(r){this.getData("directiveAttributes").push(["id",$O(this.sliceSerialize(r),{attribute:!0})])}function rf(r){this.getData("directiveAttributes").push(["class",$O(this.sliceSerialize(r),{attribute:!0})])}function nf(r){const e=this.getData("directiveAttributes");e[e.length-1][1]=$O(this.sliceSerialize(r),{attribute:!0})}function sf(r){this.getData("directiveAttributes").push([this.sliceSerialize(r),""])}function of(){const r=this.getData("directiveAttributes"),e={};let t=-1;for(;++t<r.length;){const n=r[t];n[0]==="class"&&e.class?e.class+=" "+n[1]:e[n[0]]=n[1]}this.setData("directiveAttributes"),this.resume();const i=this.stack[this.stack.length-1];i.attributes=e}function af(r){this.exit(r)}function zc(r,e,t,i){const n=wA(i),s=RW(r),o=t.enter(r.type);let a=n.move(s+(r.name||"")),l;if(r.type==="containerDirective"){const c=(r.children||[])[0];l=Sw(c)?c:void 0}else l=r;if(l&&l.children&&l.children.length>0){const c=t.enter("label"),u=`${r.type}Label`,h=t.enter(u);a+=n.move("["),a+=n.move(bA(l,t,{...n.current(),before:a,after:"]"})),a+=n.move("]"),h(),c()}if(a+=n.move(MW(r,t)),r.type==="containerDirective"){const c=(r.children||[])[0];let u=r;Sw(c)&&(u=Object.assign({},r,{children:r.children.slice(1)})),u&&u.children&&u.children.length>0&&(a+=n.move(` +`),a+=n.move(yA(u,t,n.current()))),a+=n.move(` +`+s)}return o(),a}function EW(){return":"}function MW(r,e){const t=SW(e),i=r.type==="textDirective"?[t]:[t,` +`,"\r"],n=r.attributes||{},s=[];let o,a,l,c;for(c in n)if(CW.call(n,c)&&n[c]!==void 0&&n[c]!==null){const h=String(n[c]);if(c==="id")l=kw.test(h)?"#"+h:u("id",h);else if(c==="class"){const d=h.split(/[\t\n\r ]+/g),f=[],p=[];let m=-1;for(;++m<d.length;)(kw.test(d[m])?p:f).push(d[m]);o=f.length>0?u("class",f.join(" ")):"",a=p.length>0?"."+p.join("."):""}else s.push(u(c,h))}return o&&s.unshift(o),a&&s.unshift(a),l&&s.unshift(l),s.length>0?"{"+s.join(" ")+"}":"";function u(h,d){return h+(d?"="+t+mW(d,{subset:i})+t:"")}}function Sw(r){return!!(r&&r.type==="paragraph"&&r.data&&r.data.directiveLabel)}function RW(r){let e=0;return r.type==="containerDirective"?(OA(r,function(t,i){if(t.type==="containerDirective"){let n=i.length,s=0;for(;n--;)i[n].type==="containerDirective"&&s++;s>e&&(e=s)}}),e+=3):r.type==="leafDirective"?e=2:e=1,":".repeat(e)}function Jl(r,e){let t;return i;function i(n){return sr(n)?(r.enter("lineEnding"),r.consume(n),r.exit("lineEnding"),t=!0,i):Jn(n)?Ur(r,i,t?"linePrefix":"lineSuffix")(n):e(n)}}function DO(r,e,t,i,n,s,o,a,l,c,u,h,d,f,p){let m,g;return O;function O($){return r.enter(i),r.enter(n),r.consume($),r.exit(n),w}function w($){return $===35?(m=o,v($)):$===46?(m=a,v($)):$===58||$===95||dA($)?(r.enter(s),r.enter(l),r.consume($),b):p&&Jn($)?Ur(r,w,"whitespace")($):!p&&$n($)?Jl(r,w)($):X($)}function v($){const te=m+"Marker";return r.enter(s),r.enter(m),r.enter(te),r.consume($),r.exit(te),C}function C($){if($===null||$===34||$===35||$===39||$===46||$===60||$===61||$===62||$===96||$===125||$n($))return t($);const te=m+"Value";return r.enter(te),r.consume($),Q}function Q($){if($===null||$===34||$===39||$===60||$===61||$===62||$===96)return t($);if($===35||$===46||$===125||$n($)){const te=m+"Value";return r.exit(te),r.exit(m),r.exit(s),w($)}return r.consume($),Q}function b($){return $===45||$===46||$===58||$===95||fA($)?(r.consume($),b):(r.exit(l),p&&Jn($)?Ur(r,x,"whitespace")($):!p&&$n($)?Jl(r,x)($):x($))}function x($){return $===61?(r.enter(c),r.consume($),r.exit(c),R):(r.exit(s),w($))}function R($){return $===null||$===60||$===61||$===62||$===96||$===125||p&&sr($)?t($):$===34||$===39?(r.enter(u),r.enter(d),r.consume($),r.exit(d),g=$,B):p&&Jn($)?Ur(r,R,"whitespace")($):!p&&$n($)?Jl(r,R)($):(r.enter(h),r.enter(f),r.consume($),g=void 0,P)}function P($){return $===null||$===34||$===39||$===60||$===61||$===62||$===96?t($):$===125||$n($)?(r.exit(f),r.exit(h),r.exit(s),w($)):(r.consume($),P)}function B($){return $===g?(r.enter(d),r.consume($),r.exit(d),r.exit(u),r.exit(s),z):(r.enter(h),E($))}function E($){return $===g?(r.exit(h),B($)):$===null?t($):sr($)?p?t($):Jl(r,E)($):(r.enter(f),r.consume($),A)}function A($){return $===g||$===null||sr($)?(r.exit(f),E($)):(r.consume($),A)}function z($){return $===125||$n($)?w($):X($)}function X($){return $===125?(r.enter(n),r.consume($),r.exit(n),r.exit(i),e):t($)}}function TO(r,e,t,i,n,s,o){let a=0,l=0,c;return u;function u(g){return r.enter(i),r.enter(n),r.consume(g),r.exit(n),h}function h(g){return g===93?(r.enter(n),r.consume(g),r.exit(n),r.exit(i),e):(r.enter(s),d(g))}function d(g){if(g===93&&!l)return m(g);const O=r.enter("chunkText",{contentType:"text",previous:c});return c&&(c.next=O),c=O,f(g)}function f(g){return g===null||a>999||g===91&&++l>32?t(g):g===93&&!l--?(r.exit("chunkText"),m(g)):sr(g)?o?t(g):(r.consume(g),r.exit("chunkText"),d):(r.consume(g),g===92?p:f)}function p(g){return g===91||g===92||g===93?(r.consume(g),a++,f):f(g)}function m(g){return r.exit(s),r.enter(n),r.consume(g),r.exit(n),r.exit(i),e}}function PO(r,e,t,i){const n=this;return s;function s(a){return dA(a)?(r.enter(i),r.consume(a),o):t(a)}function o(a){return a===45||a===95||fA(a)?(r.consume(a),o):(r.exit(i),n.previous===45||n.previous===95?t(a):e(a))}}const ZW={tokenize:IW,concrete:!0},NW={tokenize:BW,partial:!0},FW={tokenize:qW,partial:!0},Cw={tokenize:LW,partial:!0};function IW(r,e,t){const i=this,n=i.events[i.events.length-1],s=n&&n[1].type==="linePrefix"?n[2].sliceSerialize(n[1],!0).length:0;let o=0,a;return l;function l(x){return r.enter("directiveContainer"),r.enter("directiveContainerFence"),r.enter("directiveContainerSequence"),c(x)}function c(x){return x===58?(r.consume(x),o++,c):o<3?t(x):(r.exit("directiveContainerSequence"),PO.call(i,r,u,t,"directiveContainerName")(x))}function u(x){return x===91?r.attempt(NW,h,h)(x):h(x)}function h(x){return x===123?r.attempt(FW,d,d)(x):d(x)}function d(x){return Ur(r,f,"whitespace")(x)}function f(x){return r.exit("directiveContainerFence"),x===null?p(x):sr(x)?i.interrupt?e(x):r.attempt(Cw,m,p)(x):t(x)}function p(x){return r.exit("directiveContainer"),e(x)}function m(x){return x===null?(r.exit("directiveContainer"),e(x)):(r.enter("directiveContainerContent"),g(x))}function g(x){return x===null?Q(x):r.attempt({tokenize:b,partial:!0},Q,s?Ur(r,O,"linePrefix",s+1):O)(x)}function O(x){if(x===null)return Q(x);const R=r.enter("chunkDocument",{contentType:"document",previous:a});return a&&(a.next=R),a=R,w(x)}function w(x){if(x===null){const R=r.exit("chunkDocument");return i.parser.lazy[R.start.line]=!1,Q(x)}return sr(x)?r.check(Cw,v,C)(x):(r.consume(x),w)}function v(x){r.consume(x);const R=r.exit("chunkDocument");return i.parser.lazy[R.start.line]=!1,g}function C(x){const R=r.exit("chunkDocument");return i.parser.lazy[R.start.line]=!1,Q(x)}function Q(x){return r.exit("directiveContainerContent"),r.exit("directiveContainer"),e(x)}function b(x,R,P){let B=0;return Ur(x,E,"linePrefix",4);function E(X){return x.enter("directiveContainerFence"),x.enter("directiveContainerSequence"),A(X)}function A(X){return X===58?(x.consume(X),B++,A):B<o?P(X):(x.exit("directiveContainerSequence"),Ur(x,z,"whitespace")(X))}function z(X){return X===null||sr(X)?(x.exit("directiveContainerFence"),R(X)):P(X)}}}function BW(r,e,t){return TO(r,e,t,"directiveContainerLabel","directiveContainerLabelMarker","directiveContainerLabelString",!0)}function qW(r,e,t){return DO(r,e,t,"directiveContainerAttributes","directiveContainerAttributesMarker","directiveContainerAttribute","directiveContainerAttributeId","directiveContainerAttributeClass","directiveContainerAttributeName","directiveContainerAttributeInitializerMarker","directiveContainerAttributeValueLiteral","directiveContainerAttributeValue","directiveContainerAttributeValueMarker","directiveContainerAttributeValueData",!0)}function LW(r,e,t){const i=this;return n;function n(o){return r.enter("lineEnding"),r.consume(o),r.exit("lineEnding"),s}function s(o){return i.parser.lazy[i.now().line]?t(o):e(o)}}const XW={tokenize:zW},YW={tokenize:WW,partial:!0},VW={tokenize:jW,partial:!0};function zW(r,e,t){const i=this;return n;function n(u){return r.enter("directiveLeaf"),r.enter("directiveLeafSequence"),r.consume(u),s}function s(u){return u===58?(r.consume(u),r.exit("directiveLeafSequence"),PO.call(i,r,o,t,"directiveLeafName")):t(u)}function o(u){return u===91?r.attempt(YW,a,a)(u):a(u)}function a(u){return u===123?r.attempt(VW,l,l)(u):l(u)}function l(u){return Ur(r,c,"whitespace")(u)}function c(u){return u===null||sr(u)?(r.exit("directiveLeaf"),e(u)):t(u)}}function WW(r,e,t){return TO(r,e,t,"directiveLeafLabel","directiveLeafLabelMarker","directiveLeafLabelString",!0)}function jW(r,e,t){return DO(r,e,t,"directiveLeafAttributes","directiveLeafAttributesMarker","directiveLeafAttribute","directiveLeafAttributeId","directiveLeafAttributeClass","directiveLeafAttributeName","directiveLeafAttributeInitializerMarker","directiveLeafAttributeValueLiteral","directiveLeafAttributeValue","directiveLeafAttributeValueMarker","directiveLeafAttributeValueData",!0)}const UW={tokenize:KW,previous:HW},_W={tokenize:JW,partial:!0},GW={tokenize:e4,partial:!0};function HW(r){return r!==58||this.events[this.events.length-1][1].type==="characterEscape"}function KW(r,e,t){const i=this;return n;function n(l){return r.enter("directiveText"),r.enter("directiveTextMarker"),r.consume(l),r.exit("directiveTextMarker"),PO.call(i,r,s,t,"directiveTextName")}function s(l){return l===58?t(l):l===91?r.attempt(_W,o,o)(l):o(l)}function o(l){return l===123?r.attempt(GW,a,a)(l):a(l)}function a(l){return r.exit("directiveText"),e(l)}}function JW(r,e,t){return TO(r,e,t,"directiveTextLabel","directiveTextLabelMarker","directiveTextLabelString")}function e4(r,e,t){return DO(r,e,t,"directiveTextAttributes","directiveTextAttributesMarker","directiveTextAttribute","directiveTextAttributeId","directiveTextAttributeClass","directiveTextAttributeName","directiveTextAttributeInitializerMarker","directiveTextAttributeValueLiteral","directiveTextAttributeValue","directiveTextAttributeValueMarker","directiveTextAttributeValueData")}function t4(){return{text:{58:UW},flow:{58:[ZW,XW]}}}const vA="containerDirectiveLabel";function r4(r,e,t,i){const n=wA(i),s=t.enter("containerDirective");let o=n.move(`:::${r.name}`);const a=r.children[0];let l;if(a.type===vA){const c=t.enter("label");o+=n.move(bA(a,t,{...n.current(),before:o,after:` +`})),c(),l={...r,children:r.children.slice(1)}}else l=r;return o+=n.move(` +`),o+=n.move(` +`),o+=n.move(yA(l,t,n.current())),s(),o}const i4={handlers:{textDirective:QW.handlers.textDirective,containerDirective:r4,containerDirectiveLabel:()=>""},unsafe:[{character:"\r",inConstruct:["containerDirectiveLabel"]},{character:` +`,inConstruct:["containerDirectiveLabel"]},{before:"[^:]",character:":",after:"[A-Za-z]",inConstruct:["phrasing"]},{atBreak:!0,character:":",after:":"}]};function Qw(r){if(r.type!=="paragraph"||r.children.length===0)return!1;const e=r.children[0];return e.type==="text"&&e.value.startsWith(":::")}function n4(r){return{type:vA,children:[typeof r=="string"?{type:"inlineCode",value:r}:r]}}const s4=/^:::(\S+)\s*$/;function o4(r,e){const t={type:"containerDirective",name:"",children:[],position:r.position},i=s4.exec(r.children[0].value);if(i?[,t.name]=i:e.message("invalid directive line",r),r.children.length>=2){const n=r.children[1];n.type==="inlineCode"?t.children.push(n4(n)):e.message("unsupported element",n),r.children.length>=3&&e.message("unexpected element",r.children[2])}return t}function $w(r,e){return Object.fromEntries(Object.entries(r).filter(([t])=>t.startsWith(e)))}const a4={canContainEols:["textDirective"],enter:$w(xw.enter,"directiveText"),exit:$w(xw.exit,"directiveText")},l4=function(){const r=this.data();function e(t,i){r[t]?r[t].push(i):r[t]=[i]}return e("toMarkdownExtensions",{extensions:[i4]}),e("fromMarkdownExtensions",a4),e("micromarkExtensions",{text:t4().text}),(t,i)=>{OA(t,n=>{const s=n,{children:o}=s;if(o&&o.some(Qw)){const a=[];let l=!1;o.forEach(c=>{if(l){const u=a[a.length-1];switch(c.type){case"list":u.children.push(c),l=!1;break;case"code":c.lang==="lua"&&c.meta==="func"&&u.children.length===0&&i.message("function directive not implemented yet",o[o.length-1]);break;default:i.message("expecting a list after the container directive label",o[o.length-1]),a.push(c),l=!1;break}}else Qw(c)?(a.push(o4(c,i)),l=!0):a.push(c)}),l&&i.message("container directive without content",o[o.length-1]),a.forEach(c=>{c.type==="containerDirective"&&c.children.length===0&&c.children.push({type:"list",children:[{type:"listItem",children:[{type:"paragraph",children:[{type:"text",value:""}]}]}]})}),s.children=a}})}},c4=/[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g;function u4(r,e){return typeof r!="string"?"":(e||(r=r.toLowerCase()),r.replace(c4,"").replace(/ /g,"-"))}function h4(r){return u4(r.trim().replace(/_/g,"-").replace(/#/g,"_")).replace(/_/g,"#")}const d4=nW,f4=Ci("remarkDirectivePlugin",()=>l4),Xr="containerDirectiveLabel",kA=ft(Xr,()=>({"data-type":Xr})),xA=dt(Xr,r=>({content:"text*",group:"block",marks:"",defining:!0,code:!0,parseDOM:[{tag:`div[data-type="${Xr}"]`}],toDOM:e=>["div",r.get(kA.key)(e),["span",0]],parseMarkdown:{match:e=>e.type===Xr,runner:(e,t,i)=>{var n;let s;((n=t.children)==null?void 0:n.length)===1&&t.children[0].type==="inlineCode"?s=t.children[0].value.trim():s="",e.openNode(i),s!==""&&e.addText(s),e.closeNode()}},toMarkdown:{match:e=>e.type.name===Xr,runner:(e,t)=>{const i=t.textContent.trim().replace(/\s+/g," ");i!==""&&e.openNode(Xr).openNode("inlineCode",i).closeNode().closeNode()}}})),Vi="containerDirective",SA=ft(Vi,()=>({"data-type":Vi})),EO=dt(Vi,r=>({content:`${Xr} bullet_list`,group:"block",atom:!1,defining:!0,attrs:{name:{default:"nil"}},parseDOM:[{tag:`div[data-type="${Vi}"]`}],toDOM:e=>["div",r.get(SA.key)(e),0],parseMarkdown:{match:e=>e.type===Vi,runner:(e,t,i)=>{var n,s;const{name:o}=t;e.openNode(i,{name:o}),((s=(n=t.children)==null?void 0:n[0])==null?void 0:s.type)!==Xr&&e.next({type:Xr,children:[{type:"inlineCode",value:" "}]}),e.next(t.children).closeNode()}},toMarkdown:{match:e=>e.type.name===Vi,runner:(e,t)=>{e.openNode(Vi,void 0,{name:t.attrs.name??"nil"}).next(t.content).closeNode()}}}));function CA(r,e,t,i,n){const{from:s,to:o}=t??e.selection,a=e.tr.doc.resolve(s);if(a.node(a.depth-1).type.name===Vi)return null;const l=e.tr.replaceRangeWith(s,o,EO.type(r).createChecked({name:i},[xA.type(r).createChecked(null,n?e.schema.text(n):null),ps.type(r).createChecked(null,[ii.type(r).createChecked(null,[$i.type(r).createChecked()])])]));return l.setSelection(new oe(l.doc.resolve(s+1)))}const QA=ke("insertDirective",r=>(e={})=>(t,i)=>{const n=CA(r,t,void 0,e.name,e.label);return n?(i&&i(n),!0):!1}),p4=xr(r=>new ln(/^:::(?<name>[a-z]*)?(?:`(?<label>[^`]*)`)?[\s\n]$/,(e,t,i,n)=>{const{name:s,label:o}=t.groups;return CA(r,e,{from:i,to:n},s,o)})),m4=[kA,xA,SA,EO,QA,p4,f4].flat(),g4=Ci("remarkMdxPlugin",()=>d4),Fn="mdxTextExpression",$A=ft(Fn,()=>({"data-type":Fn})),AA=dt(Fn,r=>({content:"text*",group:"inline",inline:!0,code:!0,isolating:!0,atom:!1,allowGapCursor:!0,parseDOM:[{tag:`code[data-type="${Fn}"]`}],toDOM:e=>["code",r.get($A.key)(e),0],parseMarkdown:{match:e=>e.type===Fn,runner:(e,t,i)=>{e.openNode(i);const n=t.value;n!==""&&e.next({type:"text",value:n}),e.closeNode()}},toMarkdown:{match:e=>e.type.name===Fn,runner:(e,t)=>{e.openNode(Fn,t.textContent).closeNode()}}})),DA="{",TA="}",O4=[xr(()=>new ln(/\\\{$/,DA)),xr(()=>new ln(/\uFF5B[^{]*(\})$/,TA))],PA=ke("toggleMdxInlineCommand",r=>()=>(e,t)=>{const{selection:i}=e,n=e.doc.cut(i.from,i.to).textContent,s=AA.type(r).create(null,n?e.schema.text(n):null);return t&&t(e.tr.replaceSelectionWith(s)),!0}),y4=[g4,$A,O4,AA,PA].flat(),Hi="textDirectiveName",EA=ft(Hi,()=>({"data-type":Hi})),b4=dt(Hi,r=>({content:"text*",group:"inline",inline:!0,isolating:!0,code:!0,atom:!1,allowGapCursor:!0,attrs:{name:{default:"nil"}},parseDOM:[{tag:`span[data-type="${Hi}"]`}],toDOM:e=>["span",r.get(EA.key)(e),0],parseMarkdown:{match:e=>e.type===Hi,runner:(e,t,i)=>{const{name:n}=t;e.openNode(i,{name:n}).next({type:"text",value:n}).closeNode()}},toMarkdown:{match:e=>e.type.name===Hi,runner:()=>{}}})),In="textDirective",MA=ft(In,()=>({"data-type":In})),RA=dt(In,r=>({content:`${Hi} text*`,group:"inline",inline:!0,isolating:!0,atom:!1,allowGapCursor:!0,parseDOM:[{tag:`span[data-type="${In}"]`}],toDOM:e=>["span",r.get(MA.key)(e),0],parseMarkdown:{match:e=>e.type===In,runner:(e,t,i)=>{const{name:n}=t;e.openNode(i).next({type:Hi,name:n}).next(t.children).closeNode()}},toMarkdown:{match:e=>e.type.name===In,runner:(e,t)=>{const i=t.firstChild;i&&e.openNode(In,void 0,{name:i.textContent.replace(/\W+/g,"")}).next(t.content).closeNode()}}}));function w4(r,e,t,i){const{from:n,to:s}=i??e.selection,o=e.tr.replaceRangeWith(n,s,RA.type(r).create({name:t}));return o.setSelection(new oe(o.doc.resolve(n)))}const v4=ke("insertTextDirective",r=>(e={})=>(t,i)=>{const n=w4(r,t,e.name);return n?(i&&i(n),!0):!1}),k4=[EA,b4,MA,RA,v4].flat();function x4(r){return Aw(r)?null:(Fu(r,function(e,t,i){if(t!==null&&i&&Aw(e))return i.children.splice(t,1),t}),r)}function Aw(r){return r.type==="paragraph"&&r.children.every(e=>e.type==="text"&&/^\s*$/.test(e.value))}function S4(){return x4}const C4=Ci("remarkSqueezeParagraphs",()=>S4),Q4=Ci("remarkReplaceEscapedBraces",()=>()=>r=>{mh(r,e=>e.type==="text",e=>{const t=e;t.value=t.value.replace(/\{/g,DA).replace(/\}/g,TA)})}),$4=[C4,Q4].flat(),ZA=[m4,y4,k4,$4].flat(),A4=["textContent"],D4=Vt({__name:"ResizableInput",props:{block:{type:Boolean},value:{},placeholder:{}},emits:["update:value"],setup(r,{emit:e}){KA(l=>({"497750b8":a.value}));const t=r,i=e,n=t.value??"",s=Jt(n);function o(l){const c=l.target;if(c){let u=c==null?void 0:c.innerText;u.includes(` +`)&&(u=u.replace(/\n/g,""),c.innerText=u),s.value=u,i("update:value",u)}}const a=Ns(()=>JSON.stringify(t.placeholder??""));return(l,c)=>(yr(),yi("div",{class:"resizable-input not-prose",contenteditable:"false",style:JA({display:l.block?"block":"inline"}),onBlur:o},[Ce("div",{class:sl(["not-prose",{placeholding:s.value===""}]),contenteditable:"true",onInput:o,textContent:Wc(Se(n))},null,42,A4)],36))}}),T4=(r,e)=>{const t=r.__vccOpts||r;for(const[i,n]of e)t[i]=n;return t},NA=T4(D4,[["__scopeId","data-v-214c62d0"]]),P4={class:"directive"},E4=Vt({__name:"DirectiveView",setup(r){const{contentRef:e,node:t,selected:i,setAttrs:n}=Vm(),s=Ns(()=>t.value.attrs.name??"");function o(a){n({name:a})}return(a,l)=>(yr(),yi("div",P4,[wt(NA,{value:s.value,class:"not-prose",placeholder:"macro name","onUpdate:value":o},null,8,["value"]),Ce("div",{ref:Se(e),class:sl(["container",{selected:Se(i)}])},null,2)]))}}),M4=["href"],R4=Vt({__name:"HeadingView",setup(r){const{contentRef:e,node:t,selected:i}=Vm(),n=Ns(()=>Math.max(1,Math.min(6,t.value.attrs.level??1))),s=Ns(()=>h4(t.value.textContent)),o=Ns(()=>`#${s.value}`),a=Jt(0);function l(){navigator.clipboard.writeText(o.value),a.value+=1,setTimeout(()=>{a.value-=1},1e3)}return(c,u)=>(yr(),yi(cm,null,[(yr(),Pw(HA(`h${n.value}`),{id:s.value,class:"heading"},{default:lf(()=>[Ce("span",{ref:Se(e),class:sl({selected:Se(i)})},null,2),Ce("a",{class:"show-anchor not-prose",contenteditable:"false",href:o.value},Wc(s.value),9,M4)]),_:1},8,["id"])),Ce("button",{title:"Copy the anchor",onClick:l},Wc(a.value>0?"✅":"📋"),1)],64))}}),Z4={class:"paragraph"},N4={key:0},F4=["href"],I4=Vt({__name:"ParagraphView",setup(r){const{contentRef:e,getPos:t,node:i,selected:n,view:s}=Vm(),[,o]=XZ();function a(f,p){return!!(f!=null&&f.isText&&f.marks.length===1&&f.marks[0].type.name===p)}function l(f){const p=f.childCount;return p===0?"normal":p===1&&a(f.child(0),"link")?"link":a(f.child(0),"inlineCode")?p===1?"code":"conditional":"normal"}function c(f){var p,m,g;const O=(g=(m=(p=f.firstChild)==null?void 0:p.marks[0])==null?void 0:m.attrs)==null?void 0:g.href;return typeof O=="string"?O:"#"}const u=Jt("normal"),h=Jt("");dr(()=>i.value,f=>{u.value=l(f),h.value=c(f)});function d(f){const p=o();h.value=f,p==null||p.action(m=>{const g=t();if(g){const{state:O}=s,{tr:w}=O;s.dispatch(O.tr.setSelection(new oe(w.doc.resolve(g+1)))),m.get(pe).call(Vg.key,{url:f})}})}return(f,p)=>(yr(),yi("div",Z4,[Ce("div",{ref:Se(e),class:sl({selected:Se(n),link:u.value==="link",conditional:u.value==="conditional",code:u.value==="code"})},null,2),u.value==="link"?(yr(),yi("span",N4,[wt(NA,{class:"not-prose",placeholder:"link",value:h.value,"onUpdate:value":d},null,8,["value"])])):jc("",!0),u.value==="link"?(yr(),yi("a",{key:1,href:h.value,contenteditable:"false"},"🔗",8,F4)):jc("",!0)]))}}),B4=xr(()=>new ln(/\[\]$/,"[​]"));function q4(r){function e(t,i){return pZ(t.node,()=>r({component:i,stopEvent(n){const s=n.target;return(s==null?void 0:s.closest(".not-prose"))!==null}}))}return[e(EO,E4),e(vn,R4),e($i,I4),B4].flat()}const L4={class:"brocatel-editor"},X4={key:0,class:"milkdown-menu"},Y4=["checked"],V4={class:"milkdown-buttons"},z4=Ce("i",null,"Italics",-1),W4=[z4],j4=Ce("b",null,"Bold",-1),U4=[j4],_4=Ce("b",null,"#",-1),G4=Ce("u",null,"Link",-1),H4=[G4],K4=Ce("b",null,"-",-1),J4=Ce("code",null,"`Code`",-1),e9=[J4],t9=Ce("code",null,"{Expr}",-1),r9=[t9],i9=Ce("b",null,":::",-1),n9=Vt({__name:"EditorInner",props:{modelValue:{},menu:{type:Boolean},nord:{type:Boolean},linkAutoComplete:{type:Boolean},plugins:{},configs:{},plainText:{type:Boolean},plainTextCheckbox:{type:Boolean},darkMode:{type:Boolean},diagnostics:{},prompt:{type:Function}},emits:["update:modelValue","update:plainText"],setup(r,{emit:e}){const t=r,i=Jt(t.plainText??!1);dr(()=>t.plainText,d=>{d!==void 0&&(i.value=d)});const n=e,s=Jt(t.modelValue),o=Jt([]);Ki("headings",o);const a=_Z(),{get:l}=LZ(d=>{let f=lZ.make().config(p=>{p.set(xc,d),p.set(bc,s.value),p.get(im).markdownUpdated((m,g)=>{s.value!==g&&(s.value=g,n("update:modelValue",g),o.value=Array.from(d.getElementsByClassName("heading")).filter(O=>O.id).map(O=>O.id))})});return t.nord&&(f=f.config(Vz)),t.configs.forEach(p=>{f=f.config(p)}),f=f.use(Xz).use(X$).use(q4(a)).use(ZA),f=f.use(t.plugins),f});function c(d){var f;(f=l())==null||f.action(gZ(d,!0))}dr(()=>t.modelValue,d=>{d!==s.value&&(n("update:plainText",!0),i.value=!0,UA(()=>{s.value=d,c(d)}))});function u(d,f){var p;return(p=l())==null?void 0:p.action(mZ(d.key,f))}function h(){try{u(Eu)}catch{const d=t.prompt("Link Url");d&&d!==""&&u(Eu,{href:d})}}return(d,f)=>(yr(),yi("div",L4,[t.menu?(yr(),yi("div",X4,[d.plainTextCheckbox?(yr(),yi("label",{key:0,class:sl({error:d.diagnostics.length!==0})},[Ce("input",{type:"checkbox",checked:i.value,onChange:f[0]||(f[0]=p=>{i.value=p.target.checked,n("update:plainText",i.value),i.value||c(s.value)})},null,40,Y4),vl(" "+Wc(d.diagnostics.length===0?"🗒️":"❗"),1)],2)):jc("",!0),$h(Ce("div",V4,[Ce("button",{onClick:f[1]||(f[1]=p=>u(Se(Oh)))},W4),Ce("button",{onClick:f[2]||(f[2]=p=>u(Se(bh)))},U4),Ce("button",{onClick:f[3]||(f[3]=p=>u(Se(mi)))},[_4,vl("Heading ")]),Ce("button",{onClick:h},H4),Ce("button",{onClick:f[4]||(f[4]=p=>u(Se(kh)))},[K4,vl("Choices ")]),Ce("button",{onClick:f[5]||(f[5]=p=>u(Se(wh)))},e9),Ce("button",{onClick:f[6]||(f[6]=p=>u(Se(PA)))},r9),Ce("button",{onClick:f[7]||(f[7]=p=>u(Se(QA)))},[i9,vl("Directive ")])],512),[[Ah,!i.value]])])):jc("",!0),$h(Ce("div",null,[wt(Se(mX),{extensions:[Se(tV)({defaultCodeLanguage:Se(cg).define(Se(hV))}),Se(GL)(()=>d.diagnostics),Se(sX)(),Se(q).lineWrapping,d.darkMode?Se(kV):{extension:[]}],"indent-with-tab":!0,"tab-size":4,"model-value":s.value,"onUpdate:modelValue":f[8]||(f[8]=p=>{s.value=p,n("update:modelValue",p)})},null,8,["extensions","model-value"])],512),[[Ah,i.value]]),$h(wt(Se(BZ),null,null,512),[[Ah,!i.value]])]))}}),s9=Vt({__name:"BrocatelEditor",props:{modelValue:{default:""},menu:{type:Boolean,default:!0},nord:{type:Boolean,default:!0},plugins:{default:()=>[nx,AZ,FZ].flat()},configs:{default:()=>[]},linkAutoComplete:{type:Boolean,default:!0},plainText:{type:Boolean},diagnostics:{default:()=>[]},darkMode:{type:Boolean,default:!1},prompt:{type:Function,default:r=>window.prompt(r)}},emits:["update:modelValue","update:plainText"],setup(r,{emit:e}){const t=e;return(i,n)=>(yr(),Pw(Se(qZ),null,{default:lf(()=>[wt(Se(aN),null,{default:lf(()=>[wt(n9,{"model-value":i.modelValue,menu:i.menu,nord:i.nord,"link-auto-complete":i.linkAutoComplete,plugins:i.plugins,configs:i.configs,prompt:i.prompt,"dark-mode":i.darkMode,"plain-text-checkbox":i.plainText!==void 0,"plain-text":i.plainText??!1,diagnostics:i.diagnostics??!1,"onUpdate:modelValue":n[0]||(n[0]=s=>t("update:modelValue",s)),"onUpdate:plainText":n[1]||(n[1]=s=>t("update:plainText",s))},null,8,["model-value","menu","nord","link-auto-complete","plugins","configs","prompt","dark-mode","plain-text-checkbox","plain-text","diagnostics"])]),_:1})]),_:1}))}}),a9=s9,l9=ZA;export{a9 as BrocatelEditor,m4 as directivePlugin,y4 as mdxPlugin,$4 as normalizationPlugin,l9 as plugins,q4 as useBetterViewPlugins}; diff --git a/assets/chunks/framework.tOI-YKg8.js b/assets/chunks/framework.tOI-YKg8.js new file mode 100644 index 0000000..6b6c7ae --- /dev/null +++ b/assets/chunks/framework.tOI-YKg8.js @@ -0,0 +1,17 @@ +/** +* @vue/shared v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Rs(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const ee={},yt=[],xe=()=>{},Li=()=>!1,Gt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ls=e=>e.startsWith("onUpdate:"),oe=Object.assign,Os=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Oi=Object.prototype.hasOwnProperty,J=(e,t)=>Oi.call(e,t),B=Array.isArray,_t=e=>In(e)==="[object Map]",Jr=e=>In(e)==="[object Set]",q=e=>typeof e=="function",se=e=>typeof e=="string",Rt=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",Qr=e=>(Z(e)||q(e))&&q(e.then)&&q(e.catch),Zr=Object.prototype.toString,In=e=>Zr.call(e),Ii=e=>In(e).slice(8,-1),eo=e=>In(e)==="[object Object]",Is=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bt=Rs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Pn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Pi=/-(\w)/g,Me=Pn(e=>e.replace(Pi,(t,n)=>n?n.toUpperCase():"")),Mi=/\B([A-Z])/g,ut=Pn(e=>e.replace(Mi,"-$1").toLowerCase()),Mn=Pn(e=>e.charAt(0).toUpperCase()+e.slice(1)),mn=Pn(e=>e?`on${Mn(e)}`:""),Ze=(e,t)=>!Object.is(e,t),zn=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},vn=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Ni=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Fi=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let sr;const to=()=>sr||(sr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ps(e){if(B(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=se(s)?Vi(s):Ps(s);if(r)for(const o in r)t[o]=r[o]}return t}else if(se(e)||Z(e))return e}const $i=/;(?![^(]*\))/g,Hi=/:([^]+)/,ji=/\/\*[^]*?\*\//g;function Vi(e){const t={};return e.replace(ji,"").split($i).forEach(n=>{if(n){const s=n.split(Hi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Ms(e){let t="";if(se(e))t=e;else if(B(e))for(let n=0;n<e.length;n++){const s=Ms(e[n]);s&&(t+=s+" ")}else if(Z(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Di="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",ki=Rs(Di);function no(e){return!!e||e===""}const ou=e=>se(e)?e:e==null?"":B(e)||Z(e)&&(e.toString===Zr||!q(e.toString))?JSON.stringify(e,so,2):String(e),so=(e,t)=>t&&t.__v_isRef?so(e,t.value):_t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Xn(s,o)+" =>"]=r,n),{})}:Jr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Xn(n))}:Rt(t)?Xn(t):Z(t)&&!B(t)&&!eo(t)?String(t):t,Xn=(e,t="")=>{var n;return Rt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let be;class Bi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=be,!t&&be&&(this.index=(be.scopes||(be.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=be;try{return be=this,t()}finally{be=n}}}on(){be=this}off(){be=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.scopes)for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0,this._active=!1}}}function Ui(e,t=be){t&&t.active&&t.effects.push(e)}function ro(){return be}function Ki(e){be&&be.cleanups.push(e)}let lt;class Ns{constructor(t,n,s,r){this.fn=t,this.trigger=n,this.scheduler=s,this.active=!0,this.deps=[],this._dirtyLevel=4,this._trackId=0,this._runnings=0,this._shouldSchedule=!1,this._depsLength=0,Ui(this,r)}get dirty(){if(this._dirtyLevel===2||this._dirtyLevel===3){this._dirtyLevel=1,ft();for(let t=0;t<this._depsLength;t++){const n=this.deps[t];if(n.computed&&(Wi(n.computed),this._dirtyLevel>=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),dt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ye,n=lt;try{return Ye=!0,lt=this,this._runnings++,rr(this),this.fn()}finally{or(this),this._runnings--,lt=n,Ye=t}}stop(){var t;this.active&&(rr(this),or(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Wi(e){return e.value}function rr(e){e._trackId++,e._depsLength=0}function or(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t<e.deps.length;t++)oo(e.deps[t],e);e.deps.length=e._depsLength}}function oo(e,t){const n=e.get(t);n!==void 0&&t._trackId!==n&&(e.delete(t),e.size===0&&e.cleanup())}let Ye=!0,hs=0;const io=[];function ft(){io.push(Ye),Ye=!1}function dt(){const e=io.pop();Ye=e===void 0?!0:e}function Fs(){hs++}function $s(){for(hs--;!hs&&ps.length;)ps.shift()()}function lo(e,t,n){if(t.get(e)!==e._trackId){t.set(e,e._trackId);const s=e.deps[e._depsLength];s!==t?(s&&oo(s,e),e.deps[e._depsLength++]=t):e._depsLength++}}const ps=[];function co(e,t,n){Fs();for(const s of e.keys()){let r;s._dirtyLevel<t&&(r??(r=e.get(s)===s._trackId))&&(s._shouldSchedule||(s._shouldSchedule=s._dirtyLevel===0),s._dirtyLevel=t),s._shouldSchedule&&(r??(r=e.get(s)===s._trackId))&&(s.trigger(),(!s._runnings||s.allowRecurse)&&s._dirtyLevel!==2&&(s._shouldSchedule=!1,s.scheduler&&ps.push(s.scheduler)))}$s()}const ao=(e,t)=>{const n=new Map;return n.cleanup=e,n.computed=t,n},wn=new WeakMap,ct=Symbol(""),gs=Symbol("");function ye(e,t,n){if(Ye&<){let s=wn.get(e);s||wn.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=ao(()=>s.delete(n))),lo(lt,r)}}function je(e,t,n,s,r,o){const i=wn.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&B(e)){const c=Number(s);i.forEach((a,f)=>{(f==="length"||!Rt(f)&&f>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":B(e)?Is(n)&&l.push(i.get("length")):(l.push(i.get(ct)),_t(e)&&l.push(i.get(gs)));break;case"delete":B(e)||(l.push(i.get(ct)),_t(e)&&l.push(i.get(gs)));break;case"set":_t(e)&&l.push(i.get(ct));break}Fs();for(const c of l)c&&co(c,4);$s()}function qi(e,t){var n;return(n=wn.get(e))==null?void 0:n.get(t)}const Gi=Rs("__proto__,__v_isRef,__isVue"),uo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Rt)),ir=zi();function zi(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=Y(this);for(let o=0,i=this.length;o<i;o++)ye(s,"get",o+"");const r=s[t](...n);return r===-1||r===!1?s[t](...n.map(Y)):r}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...n){ft(),Fs();const s=Y(this)[t].apply(this,n);return $s(),dt(),s}}),e}function Xi(e){const t=Y(this);return ye(t,"has",e),t.hasOwnProperty(e)}class fo{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?cl:mo:o?go:po).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=B(t);if(!r){if(i&&J(ir,n))return Reflect.get(ir,n,s);if(n==="hasOwnProperty")return Xi}const l=Reflect.get(t,n,s);return(Rt(n)?uo.has(n):Gi(n))||(r||ye(t,"get",n),o)?l:pe(l)?i&&Is(n)?l:l.value:Z(l)?r?$n(l):Fn(l):l}}class ho extends fo{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];if(!this._isShallow){const c=Tt(o);if(!En(s)&&!Tt(s)&&(o=Y(o),s=Y(s)),!B(t)&&pe(o)&&!pe(s))return c?!1:(o.value=s,!0)}const i=B(t)&&Is(n)?Number(n)<t.length:J(t,n),l=Reflect.set(t,n,s,r);return t===Y(r)&&(i?Ze(s,o)&&je(t,"set",n,s):je(t,"add",n,s)),l}deleteProperty(t,n){const s=J(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&je(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!Rt(n)||!uo.has(n))&&ye(t,"has",n),s}ownKeys(t){return ye(t,"iterate",B(t)?"length":ct),Reflect.ownKeys(t)}}class Yi extends fo{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Ji=new ho,Qi=new Yi,Zi=new ho(!0),Hs=e=>e,Nn=e=>Reflect.getPrototypeOf(e);function tn(e,t,n=!1,s=!1){e=e.__v_raw;const r=Y(e),o=Y(t);n||(Ze(t,o)&&ye(r,"get",t),ye(r,"get",o));const{has:i}=Nn(r),l=s?Hs:n?Ds:kt;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function nn(e,t=!1){const n=this.__v_raw,s=Y(n),r=Y(e);return t||(Ze(e,r)&&ye(s,"has",e),ye(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function sn(e,t=!1){return e=e.__v_raw,!t&&ye(Y(e),"iterate",ct),Reflect.get(e,"size",e)}function lr(e){e=Y(e);const t=Y(this);return Nn(t).has.call(t,e)||(t.add(e),je(t,"add",e,e)),this}function cr(e,t){t=Y(t);const n=Y(this),{has:s,get:r}=Nn(n);let o=s.call(n,e);o||(e=Y(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Ze(t,i)&&je(n,"set",e,t):je(n,"add",e,t),this}function ar(e){const t=Y(this),{has:n,get:s}=Nn(t);let r=n.call(t,e);r||(e=Y(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&je(t,"delete",e,void 0),o}function ur(){const e=Y(this),t=e.size!==0,n=e.clear();return t&&je(e,"clear",void 0,void 0),n}function rn(e,t){return function(s,r){const o=this,i=o.__v_raw,l=Y(i),c=t?Hs:e?Ds:kt;return!e&&ye(l,"iterate",ct),i.forEach((a,f)=>s.call(r,c(a),c(f),o))}}function on(e,t,n){return function(...s){const r=this.__v_raw,o=Y(r),i=_t(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,a=r[e](...s),f=n?Hs:t?Ds:kt;return!t&&ye(o,"iterate",c?gs:ct),{next(){const{value:h,done:p}=a.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function Be(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function el(){const e={get(o){return tn(this,o)},get size(){return sn(this)},has:nn,add:lr,set:cr,delete:ar,clear:ur,forEach:rn(!1,!1)},t={get(o){return tn(this,o,!1,!0)},get size(){return sn(this)},has:nn,add:lr,set:cr,delete:ar,clear:ur,forEach:rn(!1,!0)},n={get(o){return tn(this,o,!0)},get size(){return sn(this,!0)},has(o){return nn.call(this,o,!0)},add:Be("add"),set:Be("set"),delete:Be("delete"),clear:Be("clear"),forEach:rn(!0,!1)},s={get(o){return tn(this,o,!0,!0)},get size(){return sn(this,!0)},has(o){return nn.call(this,o,!0)},add:Be("add"),set:Be("set"),delete:Be("delete"),clear:Be("clear"),forEach:rn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=on(o,!1,!1),n[o]=on(o,!0,!1),t[o]=on(o,!1,!0),s[o]=on(o,!0,!0)}),[e,n,t,s]}const[tl,nl,sl,rl]=el();function js(e,t){const n=t?e?rl:sl:e?nl:tl;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(J(n,r)&&r in s?n:s,r,o)}const ol={get:js(!1,!1)},il={get:js(!1,!0)},ll={get:js(!0,!1)},po=new WeakMap,go=new WeakMap,mo=new WeakMap,cl=new WeakMap;function al(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ul(e){return e.__v_skip||!Object.isExtensible(e)?0:al(Ii(e))}function Fn(e){return Tt(e)?e:Vs(e,!1,Ji,ol,po)}function fl(e){return Vs(e,!1,Zi,il,go)}function $n(e){return Vs(e,!0,Qi,ll,mo)}function Vs(e,t,n,s,r){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=ul(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function vt(e){return Tt(e)?vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function En(e){return!!(e&&e.__v_isShallow)}function yo(e){return vt(e)||Tt(e)}function Y(e){const t=e&&e.__v_raw;return t?Y(t):e}function Nt(e){return Object.isExtensible(e)&&vn(e,"__v_skip",!0),e}const kt=e=>Z(e)?Fn(e):e,Ds=e=>Z(e)?$n(e):e;class _o{constructor(t,n,s,r){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ns(()=>t(this._value),()=>Ft(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=Y(this);return(!t._cacheable||t.effect.dirty)&&Ze(t._value,t._value=t.effect.run())&&Ft(t,4),ks(t),t.effect._dirtyLevel>=2&&Ft(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function dl(e,t,n=!1){let s,r;const o=q(e);return o?(s=e,r=xe):(s=e.get,r=e.set),new _o(s,r,o||!r,n)}function ks(e){var t;Ye&<&&(e=Y(e),lo(lt,(t=e.dep)!=null?t:e.dep=ao(()=>e.dep=void 0,e instanceof _o?e:void 0)))}function Ft(e,t=4,n){e=Y(e);const s=e.dep;s&&co(s,t)}function pe(e){return!!(e&&e.__v_isRef===!0)}function le(e){return vo(e,!1)}function bo(e){return vo(e,!0)}function vo(e,t){return pe(e)?e:new hl(e,t)}class hl{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Y(t),this._value=n?t:kt(t)}get value(){return ks(this),this._value}set value(t){const n=this.__v_isShallow||En(t)||Tt(t);t=n?t:Y(t),Ze(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:kt(t),Ft(this,4))}}function wo(e){return pe(e)?e.value:e}const pl={get:(e,t,n)=>wo(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return pe(r)&&!pe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Eo(e){return vt(e)?e:new Proxy(e,pl)}class gl{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>ks(this),()=>Ft(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function ml(e){return new gl(e)}class yl{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return qi(Y(this._object),this._key)}}class _l{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function bl(e,t,n){return pe(e)?e:q(e)?new _l(e):Z(e)&&arguments.length>1?vl(e,t,n):le(e)}function vl(e,t,n){const s=e[t];return pe(s)?s:new yl(e,t,n)}/** +* @vue/runtime-core v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Je(e,t,n,s){try{return s?e(...s):e()}catch(r){zt(r,t,n)}}function Te(e,t,n,s){if(q(e)){const o=Je(e,t,n,s);return o&&Qr(o)&&o.catch(i=>{zt(i,t,n)}),o}const r=[];for(let o=0;o<e.length;o++)r.push(Te(e[o],t,n,s));return r}function zt(e,t,n,s=!0){const r=t?t.vnode:null;if(t){let o=t.parent;const i=t.proxy,l=`https://vuejs.org/error-reference/#runtime-${n}`;for(;o;){const a=o.ec;if(a){for(let f=0;f<a.length;f++)if(a[f](e,i,l)===!1)return}o=o.parent}const c=t.appContext.config.errorHandler;if(c){Je(c,null,10,[e,i,l]);return}}wl(e,n,r,s)}function wl(e,t,n,s=!0){console.error(e)}let Bt=!1,ms=!1;const he=[];let Pe=0;const wt=[];let qe=null,rt=0;const Co=Promise.resolve();let Bs=null;function Hn(e){const t=Bs||Co;return e?t.then(this?e.bind(this):e):t}function El(e){let t=Pe+1,n=he.length;for(;t<n;){const s=t+n>>>1,r=he[s],o=Ut(r);o<e||o===e&&r.pre?t=s+1:n=s}return t}function jn(e){(!he.length||!he.includes(e,Bt&&e.allowRecurse?Pe+1:Pe))&&(e.id==null?he.push(e):he.splice(El(e.id),0,e),xo())}function xo(){!Bt&&!ms&&(ms=!0,Bs=Co.then(To))}function Cl(e){const t=he.indexOf(e);t>Pe&&he.splice(t,1)}function xl(e){B(e)?wt.push(...e):(!qe||!qe.includes(e,e.allowRecurse?rt+1:rt))&&wt.push(e),xo()}function fr(e,t,n=Bt?Pe+1:0){for(;n<he.length;n++){const s=he[n];if(s&&s.pre){if(e&&s.id!==e.uid)continue;he.splice(n,1),n--,s()}}}function Cn(e){if(wt.length){const t=[...new Set(wt)].sort((n,s)=>Ut(n)-Ut(s));if(wt.length=0,qe){qe.push(...t);return}for(qe=t,rt=0;rt<qe.length;rt++)qe[rt]();qe=null,rt=0}}const Ut=e=>e.id==null?1/0:e.id,Tl=(e,t)=>{const n=Ut(e)-Ut(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function To(e){ms=!1,Bt=!0,he.sort(Tl);try{for(Pe=0;Pe<he.length;Pe++){const t=he[Pe];t&&t.active!==!1&&Je(t,null,14)}}finally{Pe=0,he.length=0,Cn(),Bt=!1,Bs=null,(he.length||wt.length)&&To()}}function Sl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||ee;let r=n;const o=t.startsWith("update:"),i=o&&t.slice(7);if(i&&i in s){const f=`${i==="modelValue"?"model":i}Modifiers`,{number:h,trim:p}=s[f]||ee;p&&(r=n.map(y=>se(y)?y.trim():y)),h&&(r=n.map(Ni))}let l,c=s[l=mn(t)]||s[l=mn(Me(t))];!c&&o&&(c=s[l=mn(ut(t))]),c&&Te(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Te(a,e,6,r)}}function So(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!q(e)){const c=a=>{const f=So(a,t,!0);f&&(l=!0,oe(i,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Z(e)&&s.set(e,null),null):(B(o)?o.forEach(c=>i[c]=null):oe(i,o),Z(e)&&s.set(e,i),i)}function Vn(e,t){return!e||!Gt(t)?!1:(t=t.slice(2).replace(/Once$/,""),J(e,t[0].toLowerCase()+t.slice(1))||J(e,ut(t))||J(e,t))}let ce=null,Dn=null;function xn(e){const t=ce;return ce=e,Dn=e&&e.type.__scopeId||null,t}function iu(e){Dn=e}function lu(){Dn=null}function Al(e,t=ce,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Tr(-1);const o=xn(t);let i;try{i=e(...r)}finally{xn(o),s._d&&Tr(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function Yn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:c,emit:a,render:f,renderCache:h,data:p,setupState:y,ctx:w,inheritAttrs:I}=e;let N,K;const U=xn(e);try{if(n.shapeFlag&4){const _=r||s,P=_;N=Ae(f.call(P,_,h,o,y,p,w)),K=c}else{const _=t;N=Ae(_.length>1?_(o,{attrs:c,slots:l,emit:a}):_(o,null)),K=t.props?c:Rl(c)}}catch(_){Vt.length=0,zt(_,e,1),N=ne(ve)}let g=N;if(K&&I!==!1){const _=Object.keys(K),{shapeFlag:P}=g;_.length&&P&7&&(i&&_.some(Ls)&&(K=Ll(K,i)),g=et(g,K))}return n.dirs&&(g=et(g),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),N=g,xn(U),N}const Rl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Gt(n))&&((t||(t={}))[n]=e[n]);return t},Ll=(e,t)=>{const n={};for(const s in e)(!Ls(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ol(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?dr(s,i,a):!!i;if(c&8){const f=t.dynamicProps;for(let h=0;h<f.length;h++){const p=f[h];if(i[p]!==s[p]&&!Vn(a,p))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===i?!1:s?i?dr(s,i,a):!0:!!i;return!1}function dr(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const o=s[r];if(t[o]!==e[o]&&!Vn(n,o))return!0}return!1}function Il({vnode:e,parent:t},n){for(;t;){const s=t.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.el=e.el),s===e)(e=t.vnode).el=n,t=t.parent;else break}}const Us="components";function cu(e,t){return Ro(Us,e,!0,t)||e}const Ao=Symbol.for("v-ndc");function au(e){return se(e)?Ro(Us,e,!1)||e:e||Ao}function Ro(e,t,n=!0,s=!1){const r=ce||ue;if(r){const o=r.type;if(e===Us){const l=Rc(o,!1);if(l&&(l===t||l===Me(t)||l===Mn(Me(t))))return o}const i=hr(r[e]||o[e],t)||hr(r.appContext[e],t);return!i&&s?o:i}}function hr(e,t){return e&&(e[t]||e[Me(t)]||e[Mn(Me(t))])}const Pl=e=>e.__isSuspense;function Lo(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):xl(e)}const Ml=Symbol.for("v-scx"),Nl=()=>Ct(Ml);function Oo(e,t){return kn(e,null,t)}function Fl(e,t){return kn(e,null,{flush:"post"})}const ln={};function Ve(e,t,n){return kn(e,t,n)}function kn(e,t,{immediate:n,deep:s,flush:r,once:o,onTrack:i,onTrigger:l}=ee){if(t&&o){const L=t;t=(...F)=>{L(...F),P()}}const c=ue,a=L=>s===!0?L:it(L,s===!1?1:void 0);let f,h=!1,p=!1;if(pe(e)?(f=()=>e.value,h=En(e)):vt(e)?(f=()=>a(e),h=!0):B(e)?(p=!0,h=e.some(L=>vt(L)||En(L)),f=()=>e.map(L=>{if(pe(L))return L.value;if(vt(L))return a(L);if(q(L))return Je(L,c,2)})):q(e)?t?f=()=>Je(e,c,2):f=()=>(y&&y(),Te(e,c,3,[w])):f=xe,t&&s){const L=f;f=()=>it(L())}let y,w=L=>{y=g.onStop=()=>{Je(L,c,4),y=g.onStop=void 0}},I;if(Qt)if(w=xe,t?n&&Te(t,c,3,[f(),p?[]:void 0,w]):f(),r==="sync"){const L=Nl();I=L.__watcherHandles||(L.__watcherHandles=[])}else return xe;let N=p?new Array(e.length).fill(ln):ln;const K=()=>{if(!(!g.active||!g.dirty))if(t){const L=g.run();(s||h||(p?L.some((F,S)=>Ze(F,N[S])):Ze(L,N)))&&(y&&y(),Te(t,c,3,[L,N===ln?void 0:p&&N[0]===ln?[]:N,w]),N=L)}else g.run()};K.allowRecurse=!!t;let U;r==="sync"?U=K:r==="post"?U=()=>me(K,c&&c.suspense):(K.pre=!0,c&&(K.id=c.uid),U=()=>jn(K));const g=new Ns(f,xe,U),_=ro(),P=()=>{g.stop(),_&&Os(_.effects,g)};return t?n?K():N=g.run():r==="post"?me(g.run.bind(g),c&&c.suspense):g.run(),I&&I.push(P),P}function $l(e,t,n){const s=this.proxy,r=se(e)?e.includes(".")?Io(s,e):()=>s[e]:e.bind(s,s);let o;q(t)?o=t:(o=t.handler,n=t);const i=Jt(this),l=kn(r,o.bind(s),n);return i(),l}function Io(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}function it(e,t,n=0,s){if(!Z(e)||e.__v_skip)return e;if(t&&t>0){if(n>=t)return e;n++}if(s=s||new Set,s.has(e))return e;if(s.add(e),pe(e))it(e.value,t,n,s);else if(B(e))for(let r=0;r<e.length;r++)it(e[r],t,n,s);else if(Jr(e)||_t(e))e.forEach(r=>{it(r,t,n,s)});else if(eo(e))for(const r in e)it(e[r],t,n,s);return e}function uu(e,t){if(ce===null)return e;const n=Kn(ce)||ce.proxy,s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[o,i,l,c=ee]=t[r];o&&(q(o)&&(o={mounted:o,updated:o}),o.deep&&it(i),s.push({dir:o,instance:n,value:i,oldValue:void 0,arg:l,modifiers:c}))}return e}function Ie(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i<r.length;i++){const l=r[i];o&&(l.oldValue=o[i].value);let c=l.dir[s];c&&(ft(),Te(c,n,8,[e.el,l,e,t]),dt())}}const Ge=Symbol("_leaveCb"),cn=Symbol("_enterCb");function Po(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ht(()=>{e.isMounted=!0}),Ho(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],Mo={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:we,onEnter:we,onAfterEnter:we,onEnterCancelled:we,onBeforeLeave:we,onLeave:we,onAfterLeave:we,onLeaveCancelled:we,onBeforeAppear:we,onAppear:we,onAfterAppear:we,onAppearCancelled:we},Hl={name:"BaseTransition",props:Mo,setup(e,{slots:t}){const n=Lt(),s=Po();return()=>{const r=t.default&&Ks(t.default(),!0);if(!r||!r.length)return;let o=r[0];if(r.length>1){for(const p of r)if(p.type!==ve){o=p;break}}const i=Y(e),{mode:l}=i;if(s.isLeaving)return Jn(o);const c=pr(o);if(!c)return Jn(o);const a=Kt(c,i,s,n);Wt(c,a);const f=n.subTree,h=f&&pr(f);if(h&&h.type!==ve&&!ot(c,h)){const p=Kt(h,i,s,n);if(Wt(h,p),l==="out-in")return s.isLeaving=!0,p.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Jn(o);l==="in-out"&&c.type!==ve&&(p.delayLeave=(y,w,I)=>{const N=No(s,h);N[String(h.key)]=h,y[Ge]=()=>{w(),y[Ge]=void 0,delete a.delayedLeave},a.delayedLeave=I})}return o}}},jl=Hl;function No(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Kt(e,t,n,s){const{appear:r,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:f,onBeforeLeave:h,onLeave:p,onAfterLeave:y,onLeaveCancelled:w,onBeforeAppear:I,onAppear:N,onAfterAppear:K,onAppearCancelled:U}=t,g=String(e.key),_=No(n,e),P=(S,$)=>{S&&Te(S,s,9,$)},L=(S,$)=>{const E=$[1];P(S,$),B(S)?S.every(j=>j.length<=1)&&E():S.length<=1&&E()},F={mode:o,persisted:i,beforeEnter(S){let $=l;if(!n.isMounted)if(r)$=I||l;else return;S[Ge]&&S[Ge](!0);const E=_[g];E&&ot(e,E)&&E.el[Ge]&&E.el[Ge](),P($,[S])},enter(S){let $=c,E=a,j=f;if(!n.isMounted)if(r)$=N||c,E=K||a,j=U||f;else return;let A=!1;const G=S[cn]=ie=>{A||(A=!0,ie?P(j,[S]):P(E,[S]),F.delayedLeave&&F.delayedLeave(),S[cn]=void 0)};$?L($,[S,G]):G()},leave(S,$){const E=String(e.key);if(S[cn]&&S[cn](!0),n.isUnmounting)return $();P(h,[S]);let j=!1;const A=S[Ge]=G=>{j||(j=!0,$(),G?P(w,[S]):P(y,[S]),S[Ge]=void 0,_[E]===e&&delete _[E])};_[E]=e,p?L(p,[S,A]):A()},clone(S){return Kt(S,t,n,s)}};return F}function Jn(e){if(Xt(e))return e=et(e),e.children=null,e}function pr(e){return Xt(e)?e.children?e.children[0]:void 0:e}function Wt(e,t){e.shapeFlag&6&&e.component?Wt(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ks(e,t=!1,n){let s=[],r=0;for(let o=0;o<e.length;o++){let i=e[o];const l=n==null?i.key:String(n)+String(i.key!=null?i.key:o);i.type===de?(i.patchFlag&128&&r++,s=s.concat(Ks(i.children,t,l))):(t||i.type!==ve)&&s.push(l!=null?et(i,{key:l}):i)}if(r>1)for(let o=0;o<s.length;o++)s[o].patchFlag=-2;return s}/*! #__NO_SIDE_EFFECTS__ */function Ws(e,t){return q(e)?oe({name:e.name},t,{setup:e}):e}const Et=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function fu(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,timeout:o,suspensible:i=!0,onError:l}=e;let c=null,a,f=0;const h=()=>(f++,c=null,p()),p=()=>{let y;return c||(y=c=t().catch(w=>{if(w=w instanceof Error?w:new Error(String(w)),l)return new Promise((I,N)=>{l(w,()=>I(h()),()=>N(w),f+1)});throw w}).then(w=>y!==c&&c?c:(w&&(w.__esModule||w[Symbol.toStringTag]==="Module")&&(w=w.default),a=w,w)))};return Ws({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return a},setup(){const y=ue;if(a)return()=>Qn(a,y);const w=U=>{c=null,zt(U,y,13,!s)};if(i&&y.suspense||Qt)return p().then(U=>()=>Qn(U,y)).catch(U=>(w(U),()=>s?ne(s,{error:U}):null));const I=le(!1),N=le(),K=le(!!r);return r&&setTimeout(()=>{K.value=!1},r),o!=null&&setTimeout(()=>{if(!I.value&&!N.value){const U=new Error(`Async component timed out after ${o}ms.`);w(U),N.value=U}},o),p().then(()=>{I.value=!0,y.parent&&Xt(y.parent.vnode)&&(y.parent.effect.dirty=!0,jn(y.parent.update))}).catch(U=>{w(U),N.value=U}),()=>{if(I.value&&a)return Qn(a,y);if(N.value&&s)return ne(s,{error:N.value});if(n&&!K.value)return ne(n)}}})}function Qn(e,t){const{ref:n,props:s,children:r,ce:o}=t.vnode,i=ne(e,s,r);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Xt=e=>e.type.__isKeepAlive;function Vl(e,t){Fo(e,"a",t)}function Dl(e,t){Fo(e,"da",t)}function Fo(e,t,n=ue){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Bn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Xt(r.parent.vnode)&&kl(s,t,n,r),r=r.parent}}function kl(e,t,n,s){const r=Bn(t,e,s,!0);Yt(()=>{Os(s[t],r)},n)}function Bn(e,t,n=ue,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;ft();const l=Jt(n),c=Te(t,n,e,i);return l(),dt(),c});return s?r.unshift(o):r.push(o),o}}const ke=e=>(t,n=ue)=>(!Qt||e==="sp")&&Bn(e,(...s)=>t(...s),n),Bl=ke("bm"),ht=ke("m"),Ul=ke("bu"),$o=ke("u"),Ho=ke("bum"),Yt=ke("um"),Kl=ke("sp"),Wl=ke("rtg"),ql=ke("rtc");function Gl(e,t=ue){Bn("ec",e,t)}function du(e,t,n,s){let r;const o=n&&n[s];if(B(e)||se(e)){r=new Array(e.length);for(let i=0,l=e.length;i<l;i++)r[i]=t(e[i],i,void 0,o&&o[i])}else if(typeof e=="number"){r=new Array(e);for(let i=0;i<e;i++)r[i]=t(i+1,i,void 0,o&&o[i])}else if(Z(e))if(e[Symbol.iterator])r=Array.from(e,(i,l)=>t(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l<c;l++){const a=i[l];r[l]=t(e[a],a,l,o&&o[l])}}else r=[];return n&&(n[s]=r),r}function hu(e,t,n={},s,r){if(ce.isCE||ce.parent&&Et(ce.parent)&&ce.parent.isCE)return t!=="default"&&(n.name=t),ne("slot",n,s&&s());let o=e[t];o&&o._c&&(o._d=!1),Xo();const i=o&&jo(o(n)),l=Jo(de,{key:n.key||i&&i.key||`_${t}`},i||(s?s():[]),i&&e._===1?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function jo(e){return e.some(t=>An(t)?!(t.type===ve||t.type===de&&!jo(t.children)):!0)?e:null}function pu(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:mn(s)]=e[s];return n}const ys=e=>e?ti(e)?Kn(e)||e.proxy:ys(e.parent):null,$t=oe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ys(e.parent),$root:e=>ys(e.root),$emit:e=>e.emit,$options:e=>qs(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,jn(e.update)}),$nextTick:e=>e.n||(e.n=Hn.bind(e.proxy)),$watch:e=>$l.bind(e)}),Zn=(e,t)=>e!==ee&&!e.__isScriptSetup&&J(e,t),zl={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const y=i[t];if(y!==void 0)switch(y){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(Zn(s,t))return i[t]=1,s[t];if(r!==ee&&J(r,t))return i[t]=2,r[t];if((a=e.propsOptions[0])&&J(a,t))return i[t]=3,o[t];if(n!==ee&&J(n,t))return i[t]=4,n[t];_s&&(i[t]=0)}}const f=$t[t];let h,p;if(f)return t==="$attrs"&&ye(e,"get",t),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==ee&&J(n,t))return i[t]=4,n[t];if(p=c.config.globalProperties,J(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return Zn(r,t)?(r[t]=n,!0):s!==ee&&J(s,t)?(s[t]=n,!0):J(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==ee&&J(e,i)||Zn(t,i)||(l=o[0])&&J(l,i)||J(s,i)||J($t,i)||J(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:J(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function gu(){return Xl().slots}function Xl(){const e=Lt();return e.setupContext||(e.setupContext=si(e))}function gr(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let _s=!0;function Yl(e){const t=qs(e),n=e.proxy,s=e.ctx;_s=!1,t.beforeCreate&&mr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:p,beforeUpdate:y,updated:w,activated:I,deactivated:N,beforeDestroy:K,beforeUnmount:U,destroyed:g,unmounted:_,render:P,renderTracked:L,renderTriggered:F,errorCaptured:S,serverPrefetch:$,expose:E,inheritAttrs:j,components:A,directives:G,filters:ie}=t;if(a&&Jl(a,s,null),i)for(const X in i){const V=i[X];q(V)&&(s[X]=V.bind(n))}if(r){const X=r.call(n,n);Z(X)&&(e.data=Fn(X))}if(_s=!0,o)for(const X in o){const V=o[X],Fe=q(V)?V.bind(n,n):q(V.get)?V.get.bind(n,n):xe,Zt=!q(V)&&q(V.set)?V.set.bind(n):xe,tt=re({get:Fe,set:Zt});Object.defineProperty(s,X,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Le=>tt.value=Le})}if(l)for(const X in l)Vo(l[X],s,n,X);if(c){const X=q(c)?c.call(n):c;Reflect.ownKeys(X).forEach(V=>{sc(V,X[V])})}f&&mr(f,e,"c");function D(X,V){B(V)?V.forEach(Fe=>X(Fe.bind(n))):V&&X(V.bind(n))}if(D(Bl,h),D(ht,p),D(Ul,y),D($o,w),D(Vl,I),D(Dl,N),D(Gl,S),D(ql,L),D(Wl,F),D(Ho,U),D(Yt,_),D(Kl,$),B(E))if(E.length){const X=e.exposed||(e.exposed={});E.forEach(V=>{Object.defineProperty(X,V,{get:()=>n[V],set:Fe=>n[V]=Fe})})}else e.exposed||(e.exposed={});P&&e.render===xe&&(e.render=P),j!=null&&(e.inheritAttrs=j),A&&(e.components=A),G&&(e.directives=G)}function Jl(e,t,n=xe){B(e)&&(e=bs(e));for(const s in e){const r=e[s];let o;Z(r)?"default"in r?o=Ct(r.from||s,r.default,!0):o=Ct(r.from||s):o=Ct(r),pe(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function mr(e,t,n){Te(B(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Vo(e,t,n,s){const r=s.includes(".")?Io(n,s):()=>n[s];if(se(e)){const o=t[e];q(o)&&Ve(r,o)}else if(q(e))Ve(r,e.bind(n));else if(Z(e))if(B(e))e.forEach(o=>Vo(o,t,n,s));else{const o=q(e.handler)?e.handler.bind(n):t[e.handler];q(o)&&Ve(r,o,e)}}function qs(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>Tn(c,a,i,!0)),Tn(c,t,i)),Z(t)&&o.set(t,c),c}function Tn(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&Tn(e,o,n,!0),r&&r.forEach(i=>Tn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Ql[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Ql={data:yr,props:_r,emits:_r,methods:Mt,computed:Mt,beforeCreate:ge,created:ge,beforeMount:ge,mounted:ge,beforeUpdate:ge,updated:ge,beforeDestroy:ge,beforeUnmount:ge,destroyed:ge,unmounted:ge,activated:ge,deactivated:ge,errorCaptured:ge,serverPrefetch:ge,components:Mt,directives:Mt,watch:ec,provide:yr,inject:Zl};function yr(e,t){return t?e?function(){return oe(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function Zl(e,t){return Mt(bs(e),bs(t))}function bs(e){if(B(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function ge(e,t){return e?[...new Set([].concat(e,t))]:t}function Mt(e,t){return e?oe(Object.create(null),e,t):t}function _r(e,t){return e?B(e)&&B(t)?[...new Set([...e,...t])]:oe(Object.create(null),gr(e),gr(t??{})):t}function ec(e,t){if(!e)return t;if(!t)return e;const n=oe(Object.create(null),e);for(const s in t)n[s]=ge(e[s],t[s]);return n}function Do(){return{app:null,config:{isNativeTag:Li,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let tc=0;function nc(e,t){return function(s,r=null){q(s)||(s=oe({},s)),r!=null&&!Z(r)&&(r=null);const o=Do(),i=new WeakSet;let l=!1;const c=o.app={_uid:tc++,_component:s,_props:r,_container:null,_context:o,_instance:null,version:Oc,get config(){return o.config},set config(a){},use(a,...f){return i.has(a)||(a&&q(a.install)?(i.add(a),a.install(c,...f)):q(a)&&(i.add(a),a(c,...f))),c},mixin(a){return o.mixins.includes(a)||o.mixins.push(a),c},component(a,f){return f?(o.components[a]=f,c):o.components[a]},directive(a,f){return f?(o.directives[a]=f,c):o.directives[a]},mount(a,f,h){if(!l){const p=ne(s,r);return p.appContext=o,h===!0?h="svg":h===!1&&(h=void 0),f&&t?t(p,a):e(p,a,h),l=!0,c._container=a,a.__vue_app__=c,Kn(p.component)||p.component.proxy}},unmount(){l&&(e(null,c._container),delete c._container.__vue_app__)},provide(a,f){return o.provides[a]=f,c},runWithContext(a){const f=Ht;Ht=c;try{return a()}finally{Ht=f}}};return c}}let Ht=null;function sc(e,t){if(ue){let n=ue.provides;const s=ue.parent&&ue.parent.provides;s===n&&(n=ue.provides=Object.create(s)),n[e]=t}}function Ct(e,t,n=!1){const s=ue||ce;if(s||Ht){const r=s?s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:Ht._context.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&q(t)?t.call(s&&s.proxy):t}}function rc(e,t,n,s=!1){const r={},o={};vn(o,Un,1),e.propsDefaults=Object.create(null),ko(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:fl(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function oc(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=Y(r),[c]=e.propsOptions;let a=!1;if((s||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let h=0;h<f.length;h++){let p=f[h];if(Vn(e.emitsOptions,p))continue;const y=t[p];if(c)if(J(o,p))y!==o[p]&&(o[p]=y,a=!0);else{const w=Me(p);r[w]=vs(c,l,w,y,e,!1)}else y!==o[p]&&(o[p]=y,a=!0)}}}else{ko(e,t,r,o)&&(a=!0);let f;for(const h in l)(!t||!J(t,h)&&((f=ut(h))===h||!J(t,f)))&&(c?n&&(n[h]!==void 0||n[f]!==void 0)&&(r[h]=vs(c,l,h,void 0,e,!0)):delete r[h]);if(o!==l)for(const h in o)(!t||!J(t,h))&&(delete o[h],a=!0)}a&&je(e,"set","$attrs")}function ko(e,t,n,s){const[r,o]=e.propsOptions;let i=!1,l;if(t)for(let c in t){if(bt(c))continue;const a=t[c];let f;r&&J(r,f=Me(c))?!o||!o.includes(f)?n[f]=a:(l||(l={}))[f]=a:Vn(e.emitsOptions,c)||(!(c in s)||a!==s[c])&&(s[c]=a,i=!0)}if(o){const c=Y(n),a=l||ee;for(let f=0;f<o.length;f++){const h=o[f];n[h]=vs(r,c,h,a[h],e,!J(a,h))}}return i}function vs(e,t,n,s,r,o){const i=e[n];if(i!=null){const l=J(i,"default");if(l&&s===void 0){const c=i.default;if(i.type!==Function&&!i.skipFactory&&q(c)){const{propsDefaults:a}=r;if(n in a)s=a[n];else{const f=Jt(r);s=a[n]=c.call(null,t),f()}}else s=c}i[0]&&(o&&!l?s=!1:i[1]&&(s===""||s===ut(n))&&(s=!0))}return s}function Bo(e,t,n=!1){const s=t.propsCache,r=s.get(e);if(r)return r;const o=e.props,i={},l=[];let c=!1;if(!q(e)){const f=h=>{c=!0;const[p,y]=Bo(h,t,!0);oe(i,p),y&&l.push(...y)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Z(e)&&s.set(e,yt),yt;if(B(o))for(let f=0;f<o.length;f++){const h=Me(o[f]);br(h)&&(i[h]=ee)}else if(o)for(const f in o){const h=Me(f);if(br(h)){const p=o[f],y=i[h]=B(p)||q(p)?{type:p}:oe({},p);if(y){const w=Er(Boolean,y.type),I=Er(String,y.type);y[0]=w>-1,y[1]=I<0||w<I,(w>-1||J(y,"default"))&&l.push(h)}}}const a=[i,l];return Z(e)&&s.set(e,a),a}function br(e){return e[0]!=="$"&&!bt(e)}function vr(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function wr(e,t){return vr(e)===vr(t)}function Er(e,t){return B(t)?t.findIndex(n=>wr(n,e)):q(t)&&wr(t,e)?0:-1}const Uo=e=>e[0]==="_"||e==="$stable",Gs=e=>B(e)?e.map(Ae):[Ae(e)],ic=(e,t,n)=>{if(t._n)return t;const s=Al((...r)=>Gs(t(...r)),n);return s._c=!1,s},Ko=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Uo(r))continue;const o=e[r];if(q(o))t[r]=ic(r,o,s);else if(o!=null){const i=Gs(o);t[r]=()=>i}}},Wo=(e,t)=>{const n=Gs(t);e.slots.default=()=>n},lc=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=Y(t),vn(t,"_",n)):Ko(t,e.slots={})}else e.slots={},t&&Wo(e,t);vn(e.slots,Un,1)},cc=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=ee;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(oe(r,t),!n&&l===1&&delete r._):(o=!t.$stable,Ko(t,r)),i=t}else t&&(Wo(e,t),i={default:1});if(o)for(const l in r)!Uo(l)&&i[l]==null&&delete r[l]};function Sn(e,t,n,s,r=!1){if(B(e)){e.forEach((p,y)=>Sn(p,t&&(B(t)?t[y]:t),n,s,r));return}if(Et(s)&&!r)return;const o=s.shapeFlag&4?Kn(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:c}=e,a=t&&t.r,f=l.refs===ee?l.refs={}:l.refs,h=l.setupState;if(a!=null&&a!==c&&(se(a)?(f[a]=null,J(h,a)&&(h[a]=null)):pe(a)&&(a.value=null)),q(c))Je(c,l,12,[i,f]);else{const p=se(c),y=pe(c);if(p||y){const w=()=>{if(e.f){const I=p?J(h,c)?h[c]:f[c]:c.value;r?B(I)&&Os(I,o):B(I)?I.includes(o)||I.push(o):p?(f[c]=[o],J(h,c)&&(h[c]=f[c])):(c.value=[o],e.k&&(f[e.k]=c.value))}else p?(f[c]=i,J(h,c)&&(h[c]=i)):y&&(c.value=i,e.k&&(f[e.k]=i))};i?(w.id=-1,me(w,n)):w()}}}let Ue=!1;const ac=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",uc=e=>e.namespaceURI.includes("MathML"),an=e=>{if(ac(e))return"svg";if(uc(e))return"mathml"},un=e=>e.nodeType===8;function fc(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:a}}=e,f=(g,_)=>{if(!_.hasChildNodes()){n(null,g,_),Cn(),_._vnode=g;return}Ue=!1,h(_.firstChild,g,null,null,null),Cn(),_._vnode=g,Ue&&console.error("Hydration completed but contains mismatches.")},h=(g,_,P,L,F,S=!1)=>{const $=un(g)&&g.data==="[",E=()=>I(g,_,P,L,F,$),{type:j,ref:A,shapeFlag:G,patchFlag:ie}=_;let fe=g.nodeType;_.el=g,ie===-2&&(S=!1,_.dynamicChildren=null);let D=null;switch(j){case St:fe!==3?_.children===""?(c(_.el=r(""),i(g),g),D=g):D=E():(g.data!==_.children&&(Ue=!0,g.data=_.children),D=o(g));break;case ve:U(g)?(D=o(g),K(_.el=g.content.firstChild,g,P)):fe!==8||$?D=E():D=o(g);break;case xt:if($&&(g=o(g),fe=g.nodeType),fe===1||fe===3){D=g;const X=!_.children.length;for(let V=0;V<_.staticCount;V++)X&&(_.children+=D.nodeType===1?D.outerHTML:D.data),V===_.staticCount-1&&(_.anchor=D),D=o(D);return $?o(D):D}else E();break;case de:$?D=w(g,_,P,L,F,S):D=E();break;default:if(G&1)(fe!==1||_.type.toLowerCase()!==g.tagName.toLowerCase())&&!U(g)?D=E():D=p(g,_,P,L,F,S);else if(G&6){_.slotScopeIds=F;const X=i(g);if($?D=N(g):un(g)&&g.data==="teleport start"?D=N(g,g.data,"teleport end"):D=o(g),t(_,X,null,P,L,an(X),S),Et(_)){let V;$?(V=ne(de),V.anchor=D?D.previousSibling:X.lastChild):V=g.nodeType===3?ei(""):ne("div"),V.el=g,_.component.subTree=V}}else G&64?fe!==8?D=E():D=_.type.hydrate(g,_,P,L,F,S,e,y):G&128&&(D=_.type.hydrate(g,_,P,L,an(i(g)),F,S,e,h))}return A!=null&&Sn(A,null,L,_),D},p=(g,_,P,L,F,S)=>{S=S||!!_.dynamicChildren;const{type:$,props:E,patchFlag:j,shapeFlag:A,dirs:G,transition:ie}=_,fe=$==="input"||$==="option";if(fe||j!==-1){G&&Ie(_,null,P,"created");let D=!1;if(U(g)){D=qo(L,ie)&&P&&P.vnode.props&&P.vnode.props.appear;const V=g.content.firstChild;D&&ie.beforeEnter(V),K(V,g,P),_.el=g=V}if(A&16&&!(E&&(E.innerHTML||E.textContent))){let V=y(g.firstChild,_,g,P,L,F,S);for(;V;){Ue=!0;const Fe=V;V=V.nextSibling,l(Fe)}}else A&8&&g.textContent!==_.children&&(Ue=!0,g.textContent=_.children);if(E)if(fe||!S||j&48)for(const V in E)(fe&&(V.endsWith("value")||V==="indeterminate")||Gt(V)&&!bt(V)||V[0]===".")&&s(g,V,null,E[V],void 0,void 0,P);else E.onClick&&s(g,"onClick",null,E.onClick,void 0,void 0,P);let X;(X=E&&E.onVnodeBeforeMount)&&Ee(X,P,_),G&&Ie(_,null,P,"beforeMount"),((X=E&&E.onVnodeMounted)||G||D)&&Lo(()=>{X&&Ee(X,P,_),D&&ie.enter(g),G&&Ie(_,null,P,"mounted")},L)}return g.nextSibling},y=(g,_,P,L,F,S,$)=>{$=$||!!_.dynamicChildren;const E=_.children,j=E.length;for(let A=0;A<j;A++){const G=$?E[A]:E[A]=Ae(E[A]);if(g)g=h(g,G,L,F,S,$);else{if(G.type===St&&!G.children)continue;Ue=!0,n(null,G,P,null,L,F,an(P),S)}}return g},w=(g,_,P,L,F,S)=>{const{slotScopeIds:$}=_;$&&(F=F?F.concat($):$);const E=i(g),j=y(o(g),_,E,P,L,F,S);return j&&un(j)&&j.data==="]"?o(_.anchor=j):(Ue=!0,c(_.anchor=a("]"),E,j),j)},I=(g,_,P,L,F,S)=>{if(Ue=!0,_.el=null,S){const j=N(g);for(;;){const A=o(g);if(A&&A!==j)l(A);else break}}const $=o(g),E=i(g);return l(g),n(null,_,E,$,P,L,an(E),F),$},N=(g,_="[",P="]")=>{let L=0;for(;g;)if(g=o(g),g&&un(g)&&(g.data===_&&L++,g.data===P)){if(L===0)return o(g);L--}return g},K=(g,_,P)=>{const L=_.parentNode;L&&L.replaceChild(g,_);let F=P;for(;F;)F.vnode.el===_&&(F.vnode.el=F.subTree.el=g),F=F.parent},U=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[f,h]}const me=Lo;function dc(e){return hc(e,fc)}function hc(e,t){const n=to();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:p,setScopeId:y=xe,insertStaticContent:w}=e,I=(u,d,m,b=null,v=null,T=null,O=void 0,x=null,R=!!d.dynamicChildren)=>{if(u===d)return;u&&!ot(u,d)&&(b=en(u),Le(u,v,T,!0),u=null),d.patchFlag===-2&&(R=!1,d.dynamicChildren=null);const{type:C,ref:M,shapeFlag:k}=d;switch(C){case St:N(u,d,m,b);break;case ve:K(u,d,m,b);break;case xt:u==null&&U(d,m,b,O);break;case de:A(u,d,m,b,v,T,O,x,R);break;default:k&1?P(u,d,m,b,v,T,O,x,R):k&6?G(u,d,m,b,v,T,O,x,R):(k&64||k&128)&&C.process(u,d,m,b,v,T,O,x,R,pt)}M!=null&&v&&Sn(M,u&&u.ref,T,d||u,!d)},N=(u,d,m,b)=>{if(u==null)s(d.el=l(d.children),m,b);else{const v=d.el=u.el;d.children!==u.children&&a(v,d.children)}},K=(u,d,m,b)=>{u==null?s(d.el=c(d.children||""),m,b):d.el=u.el},U=(u,d,m,b)=>{[u.el,u.anchor]=w(u.children,d,m,b,u.el,u.anchor)},g=({el:u,anchor:d},m,b)=>{let v;for(;u&&u!==d;)v=p(u),s(u,m,b),u=v;s(d,m,b)},_=({el:u,anchor:d})=>{let m;for(;u&&u!==d;)m=p(u),r(u),u=m;r(d)},P=(u,d,m,b,v,T,O,x,R)=>{d.type==="svg"?O="svg":d.type==="math"&&(O="mathml"),u==null?L(d,m,b,v,T,O,x,R):$(u,d,v,T,O,x,R)},L=(u,d,m,b,v,T,O,x)=>{let R,C;const{props:M,shapeFlag:k,transition:H,dirs:W}=u;if(R=u.el=i(u.type,T,M&&M.is,M),k&8?f(R,u.children):k&16&&S(u.children,R,null,b,v,es(u,T),O,x),W&&Ie(u,null,b,"created"),F(R,u,u.scopeId,O,b),M){for(const Q in M)Q!=="value"&&!bt(Q)&&o(R,Q,null,M[Q],T,u.children,b,v,$e);"value"in M&&o(R,"value",null,M.value,T),(C=M.onVnodeBeforeMount)&&Ee(C,b,u)}W&&Ie(u,null,b,"beforeMount");const z=qo(v,H);z&&H.beforeEnter(R),s(R,d,m),((C=M&&M.onVnodeMounted)||z||W)&&me(()=>{C&&Ee(C,b,u),z&&H.enter(R),W&&Ie(u,null,b,"mounted")},v)},F=(u,d,m,b,v)=>{if(m&&y(u,m),b)for(let T=0;T<b.length;T++)y(u,b[T]);if(v){let T=v.subTree;if(d===T){const O=v.vnode;F(u,O,O.scopeId,O.slotScopeIds,v.parent)}}},S=(u,d,m,b,v,T,O,x,R=0)=>{for(let C=R;C<u.length;C++){const M=u[C]=x?ze(u[C]):Ae(u[C]);I(null,M,d,m,b,v,T,O,x)}},$=(u,d,m,b,v,T,O)=>{const x=d.el=u.el;let{patchFlag:R,dynamicChildren:C,dirs:M}=d;R|=u.patchFlag&16;const k=u.props||ee,H=d.props||ee;let W;if(m&&nt(m,!1),(W=H.onVnodeBeforeUpdate)&&Ee(W,m,d,u),M&&Ie(d,u,m,"beforeUpdate"),m&&nt(m,!0),C?E(u.dynamicChildren,C,x,m,b,es(d,v),T):O||V(u,d,x,null,m,b,es(d,v),T,!1),R>0){if(R&16)j(x,d,k,H,m,b,v);else if(R&2&&k.class!==H.class&&o(x,"class",null,H.class,v),R&4&&o(x,"style",k.style,H.style,v),R&8){const z=d.dynamicProps;for(let Q=0;Q<z.length;Q++){const te=z[Q],ae=k[te],Se=H[te];(Se!==ae||te==="value")&&o(x,te,ae,Se,v,u.children,m,b,$e)}}R&1&&u.children!==d.children&&f(x,d.children)}else!O&&C==null&&j(x,d,k,H,m,b,v);((W=H.onVnodeUpdated)||M)&&me(()=>{W&&Ee(W,m,d,u),M&&Ie(d,u,m,"updated")},b)},E=(u,d,m,b,v,T,O)=>{for(let x=0;x<d.length;x++){const R=u[x],C=d[x],M=R.el&&(R.type===de||!ot(R,C)||R.shapeFlag&70)?h(R.el):m;I(R,C,M,null,b,v,T,O,!0)}},j=(u,d,m,b,v,T,O)=>{if(m!==b){if(m!==ee)for(const x in m)!bt(x)&&!(x in b)&&o(u,x,m[x],null,O,d.children,v,T,$e);for(const x in b){if(bt(x))continue;const R=b[x],C=m[x];R!==C&&x!=="value"&&o(u,x,C,R,O,d.children,v,T,$e)}"value"in b&&o(u,"value",m.value,b.value,O)}},A=(u,d,m,b,v,T,O,x,R)=>{const C=d.el=u?u.el:l(""),M=d.anchor=u?u.anchor:l("");let{patchFlag:k,dynamicChildren:H,slotScopeIds:W}=d;W&&(x=x?x.concat(W):W),u==null?(s(C,m,b),s(M,m,b),S(d.children||[],m,M,v,T,O,x,R)):k>0&&k&64&&H&&u.dynamicChildren?(E(u.dynamicChildren,H,m,v,T,O,x),(d.key!=null||v&&d===v.subTree)&&zs(u,d,!0)):V(u,d,m,M,v,T,O,x,R)},G=(u,d,m,b,v,T,O,x,R)=>{d.slotScopeIds=x,u==null?d.shapeFlag&512?v.ctx.activate(d,m,b,O,R):ie(d,m,b,v,T,O,R):fe(u,d,R)},ie=(u,d,m,b,v,T,O)=>{const x=u.component=xc(u,b,v);if(Xt(u)&&(x.ctx.renderer=pt),Tc(x),x.asyncDep){if(v&&v.registerDep(x,D),!u.el){const R=x.subTree=ne(ve);K(null,R,d,m)}}else D(x,u,d,m,v,T,O)},fe=(u,d,m)=>{const b=d.component=u.component;if(Ol(u,d,m))if(b.asyncDep&&!b.asyncResolved){X(b,d,m);return}else b.next=d,Cl(b.update),b.effect.dirty=!0,b.update();else d.el=u.el,b.vnode=d},D=(u,d,m,b,v,T,O)=>{const x=()=>{if(u.isMounted){let{next:M,bu:k,u:H,parent:W,vnode:z}=u;{const gt=Go(u);if(gt){M&&(M.el=z.el,X(u,M,O)),gt.asyncDep.then(()=>{u.isUnmounted||x()});return}}let Q=M,te;nt(u,!1),M?(M.el=z.el,X(u,M,O)):M=z,k&&zn(k),(te=M.props&&M.props.onVnodeBeforeUpdate)&&Ee(te,W,M,z),nt(u,!0);const ae=Yn(u),Se=u.subTree;u.subTree=ae,I(Se,ae,h(Se.el),en(Se),u,v,T),M.el=ae.el,Q===null&&Il(u,ae.el),H&&me(H,v),(te=M.props&&M.props.onVnodeUpdated)&&me(()=>Ee(te,W,M,z),v)}else{let M;const{el:k,props:H}=d,{bm:W,m:z,parent:Q}=u,te=Et(d);if(nt(u,!1),W&&zn(W),!te&&(M=H&&H.onVnodeBeforeMount)&&Ee(M,Q,d),nt(u,!0),k&&Gn){const ae=()=>{u.subTree=Yn(u),Gn(k,u.subTree,u,v,null)};te?d.type.__asyncLoader().then(()=>!u.isUnmounted&&ae()):ae()}else{const ae=u.subTree=Yn(u);I(null,ae,m,b,u,v,T),d.el=ae.el}if(z&&me(z,v),!te&&(M=H&&H.onVnodeMounted)){const ae=d;me(()=>Ee(M,Q,ae),v)}(d.shapeFlag&256||Q&&Et(Q.vnode)&&Q.vnode.shapeFlag&256)&&u.a&&me(u.a,v),u.isMounted=!0,d=m=b=null}},R=u.effect=new Ns(x,xe,()=>jn(C),u.scope),C=u.update=()=>{R.dirty&&R.run()};C.id=u.uid,nt(u,!0),C()},X=(u,d,m)=>{d.component=u;const b=u.vnode.props;u.vnode=d,u.next=null,oc(u,d.props,b,m),cc(u,d.children,m),ft(),fr(u),dt()},V=(u,d,m,b,v,T,O,x,R=!1)=>{const C=u&&u.children,M=u?u.shapeFlag:0,k=d.children,{patchFlag:H,shapeFlag:W}=d;if(H>0){if(H&128){Zt(C,k,m,b,v,T,O,x,R);return}else if(H&256){Fe(C,k,m,b,v,T,O,x,R);return}}W&8?(M&16&&$e(C,v,T),k!==C&&f(m,k)):M&16?W&16?Zt(C,k,m,b,v,T,O,x,R):$e(C,v,T,!0):(M&8&&f(m,""),W&16&&S(k,m,b,v,T,O,x,R))},Fe=(u,d,m,b,v,T,O,x,R)=>{u=u||yt,d=d||yt;const C=u.length,M=d.length,k=Math.min(C,M);let H;for(H=0;H<k;H++){const W=d[H]=R?ze(d[H]):Ae(d[H]);I(u[H],W,m,null,v,T,O,x,R)}C>M?$e(u,v,T,!0,!1,k):S(d,m,b,v,T,O,x,R,k)},Zt=(u,d,m,b,v,T,O,x,R)=>{let C=0;const M=d.length;let k=u.length-1,H=M-1;for(;C<=k&&C<=H;){const W=u[C],z=d[C]=R?ze(d[C]):Ae(d[C]);if(ot(W,z))I(W,z,m,null,v,T,O,x,R);else break;C++}for(;C<=k&&C<=H;){const W=u[k],z=d[H]=R?ze(d[H]):Ae(d[H]);if(ot(W,z))I(W,z,m,null,v,T,O,x,R);else break;k--,H--}if(C>k){if(C<=H){const W=H+1,z=W<M?d[W].el:b;for(;C<=H;)I(null,d[C]=R?ze(d[C]):Ae(d[C]),m,z,v,T,O,x,R),C++}}else if(C>H)for(;C<=k;)Le(u[C],v,T,!0),C++;else{const W=C,z=C,Q=new Map;for(C=z;C<=H;C++){const _e=d[C]=R?ze(d[C]):Ae(d[C]);_e.key!=null&&Q.set(_e.key,C)}let te,ae=0;const Se=H-z+1;let gt=!1,er=0;const Ot=new Array(Se);for(C=0;C<Se;C++)Ot[C]=0;for(C=W;C<=k;C++){const _e=u[C];if(ae>=Se){Le(_e,v,T,!0);continue}let Oe;if(_e.key!=null)Oe=Q.get(_e.key);else for(te=z;te<=H;te++)if(Ot[te-z]===0&&ot(_e,d[te])){Oe=te;break}Oe===void 0?Le(_e,v,T,!0):(Ot[Oe-z]=C+1,Oe>=er?er=Oe:gt=!0,I(_e,d[Oe],m,null,v,T,O,x,R),ae++)}const tr=gt?pc(Ot):yt;for(te=tr.length-1,C=Se-1;C>=0;C--){const _e=z+C,Oe=d[_e],nr=_e+1<M?d[_e+1].el:b;Ot[C]===0?I(null,Oe,m,nr,v,T,O,x,R):gt&&(te<0||C!==tr[te]?tt(Oe,m,nr,2):te--)}}},tt=(u,d,m,b,v=null)=>{const{el:T,type:O,transition:x,children:R,shapeFlag:C}=u;if(C&6){tt(u.component.subTree,d,m,b);return}if(C&128){u.suspense.move(d,m,b);return}if(C&64){O.move(u,d,m,pt);return}if(O===de){s(T,d,m);for(let k=0;k<R.length;k++)tt(R[k],d,m,b);s(u.anchor,d,m);return}if(O===xt){g(u,d,m);return}if(b!==2&&C&1&&x)if(b===0)x.beforeEnter(T),s(T,d,m),me(()=>x.enter(T),v);else{const{leave:k,delayLeave:H,afterLeave:W}=x,z=()=>s(T,d,m),Q=()=>{k(T,()=>{z(),W&&W()})};H?H(T,z,Q):Q()}else s(T,d,m)},Le=(u,d,m,b=!1,v=!1)=>{const{type:T,props:O,ref:x,children:R,dynamicChildren:C,shapeFlag:M,patchFlag:k,dirs:H}=u;if(x!=null&&Sn(x,null,m,u,!0),M&256){d.ctx.deactivate(u);return}const W=M&1&&H,z=!Et(u);let Q;if(z&&(Q=O&&O.onVnodeBeforeUnmount)&&Ee(Q,d,u),M&6)Ri(u.component,m,b);else{if(M&128){u.suspense.unmount(m,b);return}W&&Ie(u,null,d,"beforeUnmount"),M&64?u.type.remove(u,d,m,v,pt,b):C&&(T!==de||k>0&&k&64)?$e(C,d,m,!1,!0):(T===de&&k&384||!v&&M&16)&&$e(R,d,m),b&&Qs(u)}(z&&(Q=O&&O.onVnodeUnmounted)||W)&&me(()=>{Q&&Ee(Q,d,u),W&&Ie(u,null,d,"unmounted")},m)},Qs=u=>{const{type:d,el:m,anchor:b,transition:v}=u;if(d===de){Ai(m,b);return}if(d===xt){_(u);return}const T=()=>{r(m),v&&!v.persisted&&v.afterLeave&&v.afterLeave()};if(u.shapeFlag&1&&v&&!v.persisted){const{leave:O,delayLeave:x}=v,R=()=>O(m,T);x?x(u.el,T,R):R()}else T()},Ai=(u,d)=>{let m;for(;u!==d;)m=p(u),r(u),u=m;r(d)},Ri=(u,d,m)=>{const{bum:b,scope:v,update:T,subTree:O,um:x}=u;b&&zn(b),v.stop(),T&&(T.active=!1,Le(O,u,d,m)),x&&me(x,d),me(()=>{u.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},$e=(u,d,m,b=!1,v=!1,T=0)=>{for(let O=T;O<u.length;O++)Le(u[O],d,m,b,v)},en=u=>u.shapeFlag&6?en(u.component.subTree):u.shapeFlag&128?u.suspense.next():p(u.anchor||u.el);let Wn=!1;const Zs=(u,d,m)=>{u==null?d._vnode&&Le(d._vnode,null,null,!0):I(d._vnode||null,u,d,null,null,null,m),Wn||(Wn=!0,fr(),Cn(),Wn=!1),d._vnode=u},pt={p:I,um:Le,m:tt,r:Qs,mt:ie,mc:S,pc:V,pbc:E,n:en,o:e};let qn,Gn;return t&&([qn,Gn]=t(pt)),{render:Zs,hydrate:qn,createApp:nc(Zs,qn)}}function es({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function qo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zs(e,t,n=!1){const s=e.children,r=t.children;if(B(s)&&B(r))for(let o=0;o<s.length;o++){const i=s[o];let l=r[o];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[o]=ze(r[o]),l.el=i.el),n||zs(i,l)),l.type===St&&(l.el=i.el)}}function pc(e){const t=e.slice(),n=[0];let s,r,o,i,l;const c=e.length;for(s=0;s<c;s++){const a=e[s];if(a!==0){if(r=n[n.length-1],e[r]<a){t[s]=r,n.push(s);continue}for(o=0,i=n.length-1;o<i;)l=o+i>>1,e[n[l]]<a?o=l+1:i=l;a<e[n[o]]&&(o>0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Go(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Go(t)}const gc=e=>e.__isTeleport,jt=e=>e&&(e.disabled||e.disabled===""),Cr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,xr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ws=(e,t)=>{const n=e&&e.to;return se(n)?t?t(n):null:n},mc={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,o,i,l,c,a){const{mc:f,pc:h,pbc:p,o:{insert:y,querySelector:w,createText:I,createComment:N}}=a,K=jt(t.props);let{shapeFlag:U,children:g,dynamicChildren:_}=t;if(e==null){const P=t.el=I(""),L=t.anchor=I("");y(P,n,s),y(L,n,s);const F=t.target=ws(t.props,w),S=t.targetAnchor=I("");F&&(y(S,F),i==="svg"||Cr(F)?i="svg":(i==="mathml"||xr(F))&&(i="mathml"));const $=(E,j)=>{U&16&&f(g,E,j,r,o,i,l,c)};K?$(n,L):F&&$(F,S)}else{t.el=e.el;const P=t.anchor=e.anchor,L=t.target=e.target,F=t.targetAnchor=e.targetAnchor,S=jt(e.props),$=S?n:L,E=S?P:F;if(i==="svg"||Cr(L)?i="svg":(i==="mathml"||xr(L))&&(i="mathml"),_?(p(e.dynamicChildren,_,$,r,o,i,l),zs(e,t,!0)):c||h(e,t,$,E,r,o,i,l,!1),K)S?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):fn(t,n,P,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const j=t.target=ws(t.props,w);j&&fn(t,j,null,a,0)}else S&&fn(t,L,F,a,1)}zo(t)},remove(e,t,n,s,{um:r,o:{remove:o}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:f,target:h,props:p}=e;if(h&&o(f),i&&o(a),l&16){const y=i||!jt(p);for(let w=0;w<c.length;w++){const I=c[w];r(I,t,n,y,!!I.dynamicChildren)}}},move:fn,hydrate:yc};function fn(e,t,n,{o:{insert:s},m:r},o=2){o===0&&s(e.targetAnchor,t,n);const{el:i,anchor:l,shapeFlag:c,children:a,props:f}=e,h=o===2;if(h&&s(i,t,n),(!h||jt(f))&&c&16)for(let p=0;p<a.length;p++)r(a[p],t,n,2);h&&s(l,t,n)}function yc(e,t,n,s,r,o,{o:{nextSibling:i,parentNode:l,querySelector:c}},a){const f=t.target=ws(t.props,c);if(f){const h=f._lpa||f.firstChild;if(t.shapeFlag&16)if(jt(t.props))t.anchor=a(i(e),t,l(e),n,s,r,o),t.targetAnchor=h;else{t.anchor=i(e);let p=h;for(;p;)if(p=i(p),p&&p.nodeType===8&&p.data==="teleport anchor"){t.targetAnchor=p,f._lpa=t.targetAnchor&&i(t.targetAnchor);break}a(h,t,f,n,s,r,o)}zo(t)}return t.anchor&&i(t.anchor)}const mu=mc;function zo(e){const t=e.ctx;if(t&&t.ut){let n=e.children[0].el;for(;n&&n!==e.targetAnchor;)n.nodeType===1&&n.setAttribute("data-v-owner",t.uid),n=n.nextSibling;t.ut()}}const de=Symbol.for("v-fgt"),St=Symbol.for("v-txt"),ve=Symbol.for("v-cmt"),xt=Symbol.for("v-stc"),Vt=[];let Re=null;function Xo(e=!1){Vt.push(Re=e?null:[])}function _c(){Vt.pop(),Re=Vt[Vt.length-1]||null}let qt=1;function Tr(e){qt+=e}function Yo(e){return e.dynamicChildren=qt>0?Re||yt:null,_c(),qt>0&&Re&&Re.push(e),e}function yu(e,t,n,s,r,o){return Yo(Zo(e,t,n,s,r,o,!0))}function Jo(e,t,n,s,r){return Yo(ne(e,t,n,s,r,!0))}function An(e){return e?e.__v_isVNode===!0:!1}function ot(e,t){return e.type===t.type&&e.key===t.key}const Un="__vInternal",Qo=({key:e})=>e??null,yn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||pe(e)||q(e)?{i:ce,r:e,k:t,f:!!n}:e:null);function Zo(e,t=null,n=null,s=0,r=null,o=e===de?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qo(t),ref:t&&yn(t),scopeId:Dn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ce};return l?(Xs(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),qt>0&&!i&&Re&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Re.push(c),c}const ne=bc;function bc(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===Ao)&&(e=ve),An(e)){const l=et(e,t,!0);return n&&Xs(l,n),qt>0&&!o&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(Lc(e)&&(e=e.__vccOpts),t){t=vc(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=Ms(l)),Z(c)&&(yo(c)&&!B(c)&&(c=oe({},c)),t.style=Ps(c))}const i=se(e)?1:Pl(e)?128:gc(e)?64:Z(e)?4:q(e)?2:0;return Zo(e,t,n,s,r,i,o,!0)}function vc(e){return e?yo(e)||Un in e?oe({},e):e:null}function et(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?wc(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Qo(l),ref:t&&t.ref?n&&r?B(r)?r.concat(yn(t)):[r,yn(t)]:yn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==de?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&et(e.ssContent),ssFallback:e.ssFallback&&et(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function ei(e=" ",t=0){return ne(St,null,e,t)}function _u(e,t){const n=ne(xt,null,e);return n.staticCount=t,n}function bu(e="",t=!1){return t?(Xo(),Jo(ve,null,e)):ne(ve,null,e)}function Ae(e){return e==null||typeof e=="boolean"?ne(ve):B(e)?ne(de,null,e.slice()):typeof e=="object"?ze(e):ne(St,null,String(e))}function ze(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:et(e)}function Xs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Xs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Un in t)?t._ctx=ce:r===3&&ce&&(ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:ce},n=32):(t=String(t),s&64?(n=16,t=[ei(t)]):n=8);e.children=t,e.shapeFlag|=n}function wc(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=Ms([t.class,s.class]));else if(r==="style")t.style=Ps([t.style,s.style]);else if(Gt(r)){const o=t[r],i=s[r];i&&o!==i&&!(B(o)&&o.includes(i))&&(t[r]=o?[].concat(o,i):i)}else r!==""&&(t[r]=s[r])}return t}function Ee(e,t,n,s=null){Te(e,t,7,[n,s])}const Ec=Do();let Cc=0;function xc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||Ec,o={uid:Cc++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,scope:new Bi(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Bo(s,r),emitsOptions:So(s,r),emit:null,emitted:null,propsDefaults:ee,inheritAttrs:s.inheritAttrs,ctx:ee,data:ee,props:ee,attrs:ee,slots:ee,refs:ee,setupState:ee,setupContext:null,attrsProxy:null,slotsProxy:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Sl.bind(null,o),e.ce&&e.ce(o),o}let ue=null;const Lt=()=>ue||ce;let Rn,Es;{const e=to(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};Rn=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),Es=t("__VUE_SSR_SETTERS__",n=>Qt=n)}const Jt=e=>{const t=ue;return Rn(e),e.scope.on(),()=>{e.scope.off(),Rn(t)}},Sr=()=>{ue&&ue.scope.off(),Rn(null)};function ti(e){return e.vnode.shapeFlag&4}let Qt=!1;function Tc(e,t=!1){t&&Es(t);const{props:n,children:s}=e.vnode,r=ti(e);rc(e,n,r,t),lc(e,s);const o=r?Sc(e,t):void 0;return t&&Es(!1),o}function Sc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Nt(new Proxy(e.ctx,zl));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?si(e):null,o=Jt(e);ft();const i=Je(s,e,0,[e.props,r]);if(dt(),o(),Qr(i)){if(i.then(Sr,Sr),t)return i.then(l=>{Ar(e,l,t)}).catch(l=>{zt(l,e,0)});e.asyncDep=i}else Ar(e,i,t)}else ni(e,t)}function Ar(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=Eo(t)),ni(e,n)}let Rr;function ni(e,t,n){const s=e.type;if(!e.render){if(!t&&Rr&&!s.render){const r=s.template||qs(e).template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,a=oe(oe({isCustomElement:o,delimiters:l},i),c);s.render=Rr(r,a)}}e.render=s.render||xe}{const r=Jt(e);ft();try{Yl(e)}finally{dt(),r()}}}function Ac(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return ye(e,"get","$attrs"),t[n]}}))}function si(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Ac(e)},slots:e.slots,emit:e.emit,expose:t}}function Kn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Eo(Nt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in $t)return $t[n](e)},has(t,n){return n in t||n in $t}}))}function Rc(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function Lc(e){return q(e)&&"__vccOpts"in e}const re=(e,t)=>dl(e,t,Qt);function Cs(e,t,n){const s=arguments.length;return s===2?Z(t)&&!B(t)?An(t)?ne(e,null,[t]):ne(e,t):ne(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&An(n)&&(n=[n]),ne(e,t,n))}const Oc="3.4.21";/** +* @vue/runtime-dom v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Ic="http://www.w3.org/2000/svg",Pc="http://www.w3.org/1998/Math/MathML",Xe=typeof document<"u"?document:null,Lr=Xe&&Xe.createElement("template"),Mc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Xe.createElementNS(Ic,e):t==="mathml"?Xe.createElementNS(Pc,e):Xe.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Lr.innerHTML=s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e;const l=Lr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ke="transition",It="animation",At=Symbol("_vtc"),ri=(e,{slots:t})=>Cs(jl,ii(e),t);ri.displayName="Transition";const oi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Nc=ri.props=oe({},Mo,oi),st=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},Or=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function ii(e){const t={};for(const A in e)A in oi||(t[A]=e[A]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=e,w=Fc(r),I=w&&w[0],N=w&&w[1],{onBeforeEnter:K,onEnter:U,onEnterCancelled:g,onLeave:_,onLeaveCancelled:P,onBeforeAppear:L=K,onAppear:F=U,onAppearCancelled:S=g}=t,$=(A,G,ie)=>{We(A,G?f:l),We(A,G?a:i),ie&&ie()},E=(A,G)=>{A._isLeaving=!1,We(A,h),We(A,y),We(A,p),G&&G()},j=A=>(G,ie)=>{const fe=A?F:U,D=()=>$(G,A,ie);st(fe,[G,D]),Ir(()=>{We(G,A?c:o),He(G,A?f:l),Or(fe)||Pr(G,s,I,D)})};return oe(t,{onBeforeEnter(A){st(K,[A]),He(A,o),He(A,i)},onBeforeAppear(A){st(L,[A]),He(A,c),He(A,a)},onEnter:j(!1),onAppear:j(!0),onLeave(A,G){A._isLeaving=!0;const ie=()=>E(A,G);He(A,h),ci(),He(A,p),Ir(()=>{A._isLeaving&&(We(A,h),He(A,y),Or(_)||Pr(A,s,N,ie))}),st(_,[A,ie])},onEnterCancelled(A){$(A,!1),st(g,[A])},onAppearCancelled(A){$(A,!0),st(S,[A])},onLeaveCancelled(A){E(A),st(P,[A])}})}function Fc(e){if(e==null)return null;if(Z(e))return[ts(e.enter),ts(e.leave)];{const t=ts(e);return[t,t]}}function ts(e){return Fi(e)}function He(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[At]||(e[At]=new Set)).add(t)}function We(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[At];n&&(n.delete(t),n.size||(e[At]=void 0))}function Ir(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let $c=0;function Pr(e,t,n,s){const r=e._endId=++$c,o=()=>{r===e._endId&&s()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=li(e,t);if(!i)return s();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,p),o()},p=y=>{y.target===e&&++f>=c&&h()};setTimeout(()=>{f<c&&h()},l+1),e.addEventListener(a,p)}function li(e,t){const n=window.getComputedStyle(e),s=w=>(n[w]||"").split(", "),r=s(`${Ke}Delay`),o=s(`${Ke}Duration`),i=Mr(r,o),l=s(`${It}Delay`),c=s(`${It}Duration`),a=Mr(l,c);let f=null,h=0,p=0;t===Ke?i>0&&(f=Ke,h=i,p=o.length):t===It?a>0&&(f=It,h=a,p=c.length):(h=Math.max(i,a),f=h>0?i>a?Ke:It:null,p=f?f===Ke?o.length:c.length:0);const y=f===Ke&&/\b(transform|all)(,|$)/.test(s(`${Ke}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:y}}function Mr(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>Nr(n)+Nr(e[s])))}function Nr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ci(){return document.body.offsetHeight}function Hc(e,t,n){const s=e[At];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ln=Symbol("_vod"),ai=Symbol("_vsh"),vu={beforeMount(e,{value:t},{transition:n}){e[Ln]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Pt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Pt(e,!0),s.enter(e)):s.leave(e,()=>{Pt(e,!1)}):Pt(e,t))},beforeUnmount(e,{value:t}){Pt(e,t)}};function Pt(e,t){e.style.display=t?e[Ln]:"none",e[ai]=!t}const ui=Symbol("");function wu(e){const t=Lt();if(!t)return;const n=t.ut=(r=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(o=>Ts(o,r))},s=()=>{const r=e(t.proxy);xs(t.subTree,r),n(r)};Fl(s),ht(()=>{const r=new MutationObserver(s);r.observe(t.subTree.el.parentNode,{childList:!0}),Yt(()=>r.disconnect())})}function xs(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{xs(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Ts(e.el,t);else if(e.type===de)e.children.forEach(n=>xs(n,t));else if(e.type===xt){let{el:n,anchor:s}=e;for(;n&&(Ts(n,t),n!==s);)n=n.nextSibling}}function Ts(e,t){if(e.nodeType===1){const n=e.style;let s="";for(const r in t)n.setProperty(`--${r}`,t[r]),s+=`--${r}: ${t[r]};`;n[ui]=s}}const jc=/(^|;)\s*display\s*:/;function Vc(e,t,n){const s=e.style,r=se(n);let o=!1;if(n&&!r){if(t)if(se(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&_n(s,l,"")}else for(const i in t)n[i]==null&&_n(s,i,"");for(const i in n)i==="display"&&(o=!0),_n(s,i,n[i])}else if(r){if(t!==n){const i=s[ui];i&&(n+=";"+i),s.cssText=n,o=jc.test(n)}}else t&&e.removeAttribute("style");Ln in e&&(e[Ln]=o?s.display:"",e[ai]&&(s.display="none"))}const Fr=/\s*!important$/;function _n(e,t,n){if(B(n))n.forEach(s=>_n(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Dc(e,t);Fr.test(n)?e.setProperty(ut(s),n.replace(Fr,""),"important"):e[s]=n}}const $r=["Webkit","Moz","ms"],ns={};function Dc(e,t){const n=ns[t];if(n)return n;let s=Me(t);if(s!=="filter"&&s in e)return ns[t]=s;s=Mn(s);for(let r=0;r<$r.length;r++){const o=$r[r]+s;if(o in e)return ns[t]=o}return t}const Hr="http://www.w3.org/1999/xlink";function kc(e,t,n,s,r){if(s&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(Hr,t.slice(6,t.length)):e.setAttributeNS(Hr,t,n);else{const o=ki(t);n==null||o&&!no(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function Bc(e,t,n,s,r,o,i){if(t==="innerHTML"||t==="textContent"){s&&i(s,r,o),e[t]=n??"";return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){const a=l==="OPTION"?e.getAttribute("value")||"":e.value,f=n??"";(a!==f||!("_value"in e))&&(e.value=f),n==null&&e.removeAttribute(t),e._value=n;return}let c=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=no(n):n==null&&a==="string"?(n="",c=!0):a==="number"&&(n=0,c=!0)}try{e[t]=n}catch{}c&&e.removeAttribute(t)}function Uc(e,t,n,s){e.addEventListener(t,n,s)}function Kc(e,t,n,s){e.removeEventListener(t,n,s)}const jr=Symbol("_vei");function Wc(e,t,n,s,r=null){const o=e[jr]||(e[jr]={}),i=o[t];if(s&&i)i.value=s;else{const[l,c]=qc(t);if(s){const a=o[t]=Xc(s,r);Uc(e,l,a,c)}else i&&(Kc(e,l,i,c),o[t]=void 0)}}const Vr=/(?:Once|Passive|Capture)$/;function qc(e){let t;if(Vr.test(e)){t={};let s;for(;s=e.match(Vr);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):ut(e.slice(2)),t]}let ss=0;const Gc=Promise.resolve(),zc=()=>ss||(Gc.then(()=>ss=0),ss=Date.now());function Xc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Te(Yc(s,n.value),t,5,[s])};return n.value=e,n.attached=zc(),n}function Yc(e,t){if(B(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Dr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Jc=(e,t,n,s,r,o,i,l,c)=>{const a=r==="svg";t==="class"?Hc(e,s,a):t==="style"?Vc(e,n,s):Gt(t)?Ls(t)||Wc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Qc(e,t,s,a))?Bc(e,t,s,o,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),kc(e,t,s,a))};function Qc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Dr(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Dr(t)&&se(n)?!1:t in e}const fi=new WeakMap,di=new WeakMap,On=Symbol("_moveCb"),kr=Symbol("_enterCb"),hi={name:"TransitionGroup",props:oe({},Nc,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Lt(),s=Po();let r,o;return $o(()=>{if(!r.length)return;const i=e.moveClass||`${e.name||"v"}-move`;if(!sa(r[0].el,n.vnode.el,i))return;r.forEach(ea),r.forEach(ta);const l=r.filter(na);ci(),l.forEach(c=>{const a=c.el,f=a.style;He(a,i),f.transform=f.webkitTransform=f.transitionDuration="";const h=a[On]=p=>{p&&p.target!==a||(!p||/transform$/.test(p.propertyName))&&(a.removeEventListener("transitionend",h),a[On]=null,We(a,i))};a.addEventListener("transitionend",h)})}),()=>{const i=Y(e),l=ii(i);let c=i.tag||de;r=o,o=t.default?Ks(t.default()):[];for(let a=0;a<o.length;a++){const f=o[a];f.key!=null&&Wt(f,Kt(f,l,s,n))}if(r)for(let a=0;a<r.length;a++){const f=r[a];Wt(f,Kt(f,l,s,n)),fi.set(f,f.el.getBoundingClientRect())}return ne(c,null,o)}}},Zc=e=>delete e.mode;hi.props;const Eu=hi;function ea(e){const t=e.el;t[On]&&t[On](),t[kr]&&t[kr]()}function ta(e){di.set(e,e.el.getBoundingClientRect())}function na(e){const t=fi.get(e),n=di.get(e),s=t.left-n.left,r=t.top-n.top;if(s||r){const o=e.el.style;return o.transform=o.webkitTransform=`translate(${s}px,${r}px)`,o.transitionDuration="0s",e}}function sa(e,t,n){const s=e.cloneNode(),r=e[At];r&&r.forEach(l=>{l.split(/\s+/).forEach(c=>c&&s.classList.remove(c))}),n.split(/\s+/).forEach(l=>l&&s.classList.add(l)),s.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(s);const{hasTransform:i}=li(s);return o.removeChild(s),i}const ra=["ctrl","shift","alt","meta"],oa={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ra.some(n=>e[`${n}Key`]&&!t.includes(n))},Cu=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...o)=>{for(let i=0;i<t.length;i++){const l=oa[t[i]];if(l&&l(r,t))return}return e(r,...o)})},ia={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},xu=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const o=ut(r.key);if(t.some(i=>i===o||ia[i]===o))return e(r)})},la=oe({patchProp:Jc},Mc);let rs,Br=!1;function ca(){return rs=Br?rs:dc(la),Br=!0,rs}const Tu=(...e)=>{const t=ca().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=ua(s);if(r)return n(r,!0,aa(r))},t};function aa(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ua(e){return se(e)?document.querySelector(e):e}const Su=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},fa="modulepreload",da=function(e){return"/brocatel/"+e},Ur={},Au=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));r=Promise.all(n.map(c=>{if(c=da(c),c in Ur)return;Ur[c]=!0;const a=c.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(!!s)for(let y=o.length-1;y>=0;y--){const w=o[y];if(w.href===c&&(!a||w.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${f}`))return;const p=document.createElement("link");if(p.rel=a?"stylesheet":fa,a||(p.as="script",p.crossOrigin=""),p.href=c,l&&p.setAttribute("nonce",l),document.head.appendChild(p),a)return new Promise((y,w)=>{p.addEventListener("load",y),p.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${c}`)))})}))}return r.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},ha=window.__VP_SITE_DATA__;function Ys(e){return ro()?(Ki(e),!0):!1}function Qe(e){return typeof e=="function"?e():wo(e)}const pi=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const pa=Object.prototype.toString,ga=e=>pa.call(e)==="[object Object]",Dt=()=>{},Ss=ma();function ma(){var e,t;return pi&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ya(e,t){function n(...s){return new Promise((r,o)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(o)})}return n}const gi=e=>e();function _a(e=gi){const t=le(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...o)=>{t.value&&e(...o)};return{isActive:$n(t),pause:n,resume:s,eventFilter:r}}function ba(e){return e||Lt()}function mi(...e){if(e.length!==1)return bl(...e);const t=e[0];return typeof t=="function"?$n(ml(()=>({get:t,set:Dt}))):le(t)}function va(e,t,n={}){const{eventFilter:s=gi,...r}=n;return Ve(e,ya(s,t),r)}function wa(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=_a(s);return{stop:va(e,t,{...r,eventFilter:o}),pause:i,resume:l,isActive:c}}function Js(e,t=!0,n){ba()?ht(e,n):t?e():Hn(e)}function mt(e){var t;const n=Qe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Ne=pi?window:void 0;function De(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=Ne):[t,n,s,r]=e,!t)return Dt;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,p,y)=>(f.addEventListener(h,p,y),()=>f.removeEventListener(h,p,y)),c=Ve(()=>[mt(t),Qe(r)],([f,h])=>{if(i(),!f)return;const p=ga(h)?{...h}:h;o.push(...n.flatMap(y=>s.map(w=>l(f,y,w,p))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return Ys(a),a}let Kr=!1;function Ru(e,t,n={}){const{window:s=Ne,ignore:r=[],capture:o=!0,detectIframe:i=!1}=n;if(!s)return Dt;Ss&&!Kr&&(Kr=!0,Array.from(s.document.body.children).forEach(p=>p.addEventListener("click",Dt)),s.document.documentElement.addEventListener("click",Dt));let l=!0;const c=p=>r.some(y=>{if(typeof y=="string")return Array.from(s.document.querySelectorAll(y)).some(w=>w===p.target||p.composedPath().includes(w));{const w=mt(y);return w&&(p.target===w||p.composedPath().includes(w))}}),f=[De(s,"click",p=>{const y=mt(e);if(!(!y||y===p.target||p.composedPath().includes(y))){if(p.detail===0&&(l=!c(p)),!l){l=!0;return}t(p)}},{passive:!0,capture:o}),De(s,"pointerdown",p=>{const y=mt(e);l=!c(p)&&!!(y&&!p.composedPath().includes(y))},{passive:!0}),i&&De(s,"blur",p=>{setTimeout(()=>{var y;const w=mt(e);((y=s.document.activeElement)==null?void 0:y.tagName)==="IFRAME"&&!(w!=null&&w.contains(s.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function Ea(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Lu(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=Ne,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=s,c=Ea(t);return De(r,o,f=>{f.repeat&&Qe(l)||c(f)&&n(f)},i)}function Ca(){const e=le(!1),t=Lt();return t&&ht(()=>{e.value=!0},t),e}function xa(e){const t=Ca();return re(()=>(t.value,!!e()))}function yi(e,t={}){const{window:n=Ne}=t,s=xa(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const o=le(!1),i=a=>{o.value=a.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",i):r.removeListener(i))},c=Oo(()=>{s.value&&(l(),r=n.matchMedia(Qe(e)),"addEventListener"in r?r.addEventListener("change",i):r.addListener(i),o.value=r.matches)});return Ys(()=>{c(),l(),r=void 0}),o}const dn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},hn="__vueuse_ssr_handlers__",Ta=Sa();function Sa(){return hn in dn||(dn[hn]=dn[hn]||{}),dn[hn]}function _i(e,t){return Ta[e]||t}function Aa(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Ra={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Wr="vueuse-storage";function La(e,t,n,s={}){var r;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Ne,eventFilter:p,onError:y=E=>{console.error(E)},initOnMounted:w}=s,I=(f?bo:le)(typeof t=="function"?t():t);if(!n)try{n=_i("getDefaultStorage",()=>{var E;return(E=Ne)==null?void 0:E.localStorage})()}catch(E){y(E)}if(!n)return I;const N=Qe(t),K=Aa(N),U=(r=s.serializer)!=null?r:Ra[K],{pause:g,resume:_}=wa(I,()=>L(I.value),{flush:o,deep:i,eventFilter:p});h&&l&&Js(()=>{De(h,"storage",S),De(h,Wr,$),w&&S()}),w||S();function P(E,j){h&&h.dispatchEvent(new CustomEvent(Wr,{detail:{key:e,oldValue:E,newValue:j,storageArea:n}}))}function L(E){try{const j=n.getItem(e);if(E==null)P(j,null),n.removeItem(e);else{const A=U.write(E);j!==A&&(n.setItem(e,A),P(j,A))}}catch(j){y(j)}}function F(E){const j=E?E.newValue:n.getItem(e);if(j==null)return c&&N!=null&&n.setItem(e,U.write(N)),N;if(!E&&a){const A=U.read(j);return typeof a=="function"?a(A,N):K==="object"&&!Array.isArray(A)?{...N,...A}:A}else return typeof j!="string"?j:U.read(j)}function S(E){if(!(E&&E.storageArea!==n)){if(E&&E.key==null){I.value=N;return}if(!(E&&E.key!==e)){g();try{(E==null?void 0:E.newValue)!==U.write(I.value)&&(I.value=F(E))}catch(j){y(j)}finally{E?Hn(_):_()}}}}function $(E){S(E.detail)}return I}function bi(e){return yi("(prefers-color-scheme: dark)",e)}function Oa(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=Ne,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},p=bi({window:r}),y=re(()=>p.value?"dark":"light"),w=c||(i==null?mi(s):La(i,s,o,{window:r,listenToStorageChanges:l})),I=re(()=>w.value==="auto"?y.value:w.value),N=_i("updateHTMLAttrs",(_,P,L)=>{const F=typeof _=="string"?r==null?void 0:r.document.querySelector(_):mt(_);if(!F)return;let S;if(f&&(S=r.document.createElement("style"),S.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),r.document.head.appendChild(S)),P==="class"){const $=L.split(/\s/g);Object.values(h).flatMap(E=>(E||"").split(/\s/g)).filter(Boolean).forEach(E=>{$.includes(E)?F.classList.add(E):F.classList.remove(E)})}else F.setAttribute(P,L);f&&(r.getComputedStyle(S).opacity,document.head.removeChild(S))});function K(_){var P;N(t,n,(P=h[_])!=null?P:_)}function U(_){e.onChanged?e.onChanged(_,K):K(_)}Ve(I,U,{flush:"post",immediate:!0}),Js(()=>U(I.value));const g=re({get(){return a?w.value:I.value},set(_){w.value=_}});try{return Object.assign(g,{store:w,system:y,state:I})}catch{return g}}function Ia(e={}){const{valueDark:t="dark",valueLight:n="",window:s=Ne}=e,r=Oa({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=re(()=>r.system?r.system.value:bi({window:s}).value?"dark":"light");return re({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?r.value="auto":r.value=c}})}function os(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function vi(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth<e.scrollWidth||t.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const n=e.parentNode;return!n||n.tagName==="BODY"?!1:vi(n)}}function Pa(e){const t=e||window.event,n=t.target;return vi(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.preventDefault(),!1)}const pn=new WeakMap;function Ou(e,t=!1){const n=le(t);let s=null;Ve(mi(e),i=>{const l=os(Qe(i));if(l){const c=l;pn.get(c)||pn.set(c,c.style.overflow),n.value&&(c.style.overflow="hidden")}},{immediate:!0});const r=()=>{const i=os(Qe(e));!i||n.value||(Ss&&(s=De(i,"touchmove",l=>{Pa(l)},{passive:!1})),i.style.overflow="hidden",n.value=!0)},o=()=>{var i;const l=os(Qe(e));!l||!n.value||(Ss&&(s==null||s()),l.style.overflow=(i=pn.get(l))!=null?i:"",pn.delete(l),n.value=!1)};return Ys(o),re({get(){return n.value},set(i){i?r():o()}})}function Iu(e={}){const{window:t=Ne,behavior:n="auto"}=e;if(!t)return{x:le(0),y:le(0)};const s=le(t.scrollX),r=le(t.scrollY),o=re({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),i=re({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return De(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Pu(e={}){const{window:t=Ne,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:o=!0}=e,i=le(n),l=le(s),c=()=>{t&&(o?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Js(c),De("resize",c,{passive:!0}),r){const a=yi("(orientation: portrait)");Ve(a,()=>c())}return{width:i,height:l}}var is={BASE_URL:"/brocatel/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},ls={};const wi=/^(?:[a-z]+:|\/\/)/i,Ma="vitepress-theme-appearance",Na=/#.*$/,Fa=/[?#].*$/,$a=/(?:(^|\/)index)?\.(?:md|html)$/,Ce=typeof document<"u",Ei={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Ha(e,t,n=!1){if(t===void 0)return!1;if(e=qr(`/${e}`),n)return new RegExp(t).test(e);if(qr(t)!==e)return!1;const s=t.match(Na);return s?(Ce?location.hash:"")===s[0]:!0}function qr(e){return decodeURI(e).replace(Fa,"").replace($a,"$1")}function ja(e){return wi.test(e)}function Va(e,t){var s,r,o,i,l,c,a;const n=Object.keys(e.locales).find(f=>f!=="root"&&!ja(f)&&Ha(t,`/${f}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:xi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function Ci(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=Da(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function Da(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function ka(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([o,i])=>o===n&&i[r[0]]===r[1])}function xi(e,t){return[...e.filter(n=>!ka(t,n)),...t]}const Ba=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Ua=/^[a-z]:/i;function Gr(e){const t=Ua.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Ba,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const cs=new Set;function Ka(e){if(cs.size===0){const n=typeof process=="object"&&(ls==null?void 0:ls.VITE_EXTRA_EXTENSIONS)||(is==null?void 0:is.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>cs.add(s))}const t=e.split(".").pop();return t==null||!cs.has(t.toLowerCase())}const Wa=Symbol(),at=bo(ha);function Mu(e){const t=re(()=>Va(at.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?le(!0):n?Ia({storageKey:Ma,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):le(!1);return{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>Ci(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:s}}function qa(){const e=Ct(Wa);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Ga(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function zr(e){return wi.test(e)||!e.startsWith("/")?e:Ga(at.value.base,e)}function za(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/brocatel/";t=Gr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${Gr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let bn=[];function Nu(e){bn.push(e),Yt(()=>{bn=bn.filter(t=>t!==e)})}function Xa(){let e=at.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Xr(e,n);else if(Array.isArray(e))for(const s of e){const r=Xr(s,n);if(r){t=r;break}}return t}function Xr(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const Ya=Symbol(),As="http://a.com",Ja=()=>({path:"/",component:null,data:Ei});function Fu(e,t){const n=Fn(Ja()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var c,a;if(l=as(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1){if(Ce){const f=new URL(location.href);l!==as(f.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",l),new URL(l,As).hash!==f.hash&&window.dispatchEvent(new Event("hashchange")))}await i(l),await((a=s.onAfterRouteChanged)==null?void 0:a.call(s,l))}}let o=null;async function i(l,c=0,a=!1){var p;if(await((p=s.onBeforePageLoad)==null?void 0:p.call(s,l))===!1)return;const f=new URL(l,As),h=o=f.pathname;try{let y=await e(h);if(!y)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:w,__pageData:I}=y;if(!w)throw new Error(`Invalid route component: ${w}`);n.path=Ce?h:zr(h),n.component=Nt(w),n.data=Nt(I),Ce&&Hn(()=>{let N=at.value.base+I.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!at.value.cleanUrls&&!N.endsWith("/")&&(N+=".html"),N!==f.pathname&&(f.pathname=N,l=N+f.search+f.hash,history.replaceState(null,"",l)),f.hash&&!c){let K=null;try{K=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(U){console.warn(U)}if(K){Yr(K,f.hash);return}}window.scrollTo(0,c)})}}catch(y){if(!/fetch|Page not found/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!a)try{const w=await fetch(at.value.base+"hashmap.json");window.__VP_HASH_MAP__=await w.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=Ce?h:zr(h),n.component=t?Nt(t):null,n.data=Ei)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:f}=a,{href:h,origin:p,pathname:y,hash:w,search:I}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),N=new URL(location.href);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&p===N.origin&&Ka(y)&&(l.preventDefault(),y===N.pathname&&I===N.search?(w!==N.hash&&(history.pushState(null,"",h),window.dispatchEvent(new Event("hashchange"))),w?Yr(a,w,a.classList.contains("header-anchor")):window.scrollTo(0,0)):r(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await i(as(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function Qa(){const e=Ct(Ya);if(!e)throw new Error("useRouter() is called without provider.");return e}function Ti(){return Qa().route}function Yr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-Xa()+o;requestAnimationFrame(r)}}function as(e){const t=new URL(e,As);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),at.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const us=()=>bn.forEach(e=>e()),$u=Ws({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Ti(),{site:n}=qa();return()=>Cs(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?Cs(t.component,{onVnodeMounted:us,onVnodeUpdated:us,onVnodeUnmounted:us}):"404 Page Not Found"])}}),Hu=Ws({setup(e,{slots:t}){const n=le(!1);return ht(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function ju(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const o=s.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[r];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Vu(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,o=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),Za(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function Za(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function Du(e,t){let n=!0,s=[];const r=o=>{if(n){n=!1,o.forEach(l=>{const c=fs(l);for(const a of document.head.children)if(a.isEqualNode(c)){s.push(a);return}});return}const i=o.map(fs);s.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete s[c])}),i.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...i].filter(Boolean)};Oo(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=Ci(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):fs(["meta",{name:"description",content:f}]),r(xi(i.head,tu(c)))})}function fs([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&!t.async&&(s.async=!1),s}function eu(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function tu(e){return e.filter(t=>!eu(t))}const ds=new Set,Si=()=>document.createElement("link"),nu=e=>{const t=Si();t.rel="prefetch",t.href=e,document.head.appendChild(t)},su=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let gn;const ru=Ce&&(gn=Si())&&gn.relList&&gn.relList.supports&&gn.relList.supports("prefetch")?nu:su;function ku(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!ds.has(c)){ds.add(c);const a=za(c);a&&ru(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):ds.add(l))})})};ht(s);const r=Ti();Ve(()=>r.path,s),Yt(()=>{n&&n.disconnect()})}export{xu as $,Yt as A,Fl as B,$o as C,Xa as D,cu as E,de as F,du as G,bo as H,Nu as I,ne as J,au as K,wi as L,Ti as M,wc as N,Ct as O,Pu as P,Ps as Q,Ru as R,Lu as S,ri as T,Hn as U,Iu as V,$n as W,Ou as X,sc as Y,pu as Z,Su as _,ei as a,Cu as a0,gu as a1,fu as a2,Au as a3,_u as a4,Du as a5,Ya as a6,Mu as a7,Wa as a8,$u as a9,Hu as aa,at as ab,Tu as ac,Fu as ad,za as ae,ku as af,Vu as ag,ju as ah,Cs as ai,Y as aj,Ho as ak,uu as al,vu as am,Nt as an,Bl as ao,Lt as ap,mu as aq,wu as ar,Eu as as,Jo as b,yu as c,Ws as d,bu as e,Ka as f,zr as g,le as h,ja as i,Ce as j,re as k,ht as l,Zo as m,Ms as n,Xo as o,wo as p,iu as q,hu as r,lu as s,ou as t,qa as u,Ha as v,Al as w,yi as x,Ve as y,Oo as z}; diff --git a/assets/chunks/theme.Y9KrAvu7.js b/assets/chunks/theme.Y9KrAvu7.js new file mode 100644 index 0000000..b8e05ee --- /dev/null +++ b/assets/chunks/theme.Y9KrAvu7.js @@ -0,0 +1,7 @@ +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["assets/chunks/brocatel-mde.es.Bo8dZpIJ.js","assets/chunks/framework.tOI-YKg8.js","assets/chunks/MdExample.DRafiJc8.js"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} +import{d as _,o as a,c,r as l,n as T,a as F,t as S,b as $,w as d,e as f,T as de,_ as k,u as Ge,i as je,f as ze,g as ve,h as w,j as J,k as b,l as z,m as v,p as i,q as C,s as H,v as j,x as ie,y as q,z as x,A as pe,B as Ve,C as qe,D as We,E as W,F as M,G as E,H as Le,I as ee,J as m,K as R,L as Se,M as te,N as Q,O as oe,P as Ke,Q as we,R as Re,S as Je,U as Ye,V as Ie,W as Qe,X as Te,Y as Ne,Z as Xe,$ as Ze,a0 as xe,a1 as et,a2 as ge,a3 as ye}from"./framework.tOI-YKg8.js";const tt=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),c("span",{class:T(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[F(S(e.text),1)])],2))}}),ot={key:0,class:"VPBackdrop"},st=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),$(de,{name:"fade"},{default:d(()=>[e.show?(a(),c("div",ot)):f("",!0)]),_:1}))}}),nt=k(st,[["__scopeId","data-v-05762e2e"]]),V=Ge;function at(o,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(o,e):(o(),(s=!0)&&setTimeout(()=>s=!1,e))}}function le(o){return/^\//.test(o)?o:`/${o}`}function he(o){const{pathname:e,search:t,hash:s,protocol:n}=new URL(o,"http://a.com");if(je(o)||o.startsWith("#")||!n.startsWith("http")||!ze(e))return o;const{site:r}=V(),u=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${s}`);return ve(u)}const fe=w(J?location.hash:"");J&&window.addEventListener("hashchange",()=>{fe.value=location.hash});function Y({removeCurrent:o=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:s,page:n,theme:r}=V(),u=b(()=>{var p,g;return{label:(p=t.value.locales[s.value])==null?void 0:p.label,link:((g=t.value.locales[s.value])==null?void 0:g.link)||(s.value==="root"?"/":`/${s.value}/`)}});return{localeLinks:b(()=>Object.entries(t.value.locales).flatMap(([p,g])=>o&&u.value.label===g.label?[]:{text:g.label,link:rt(g.link||(p==="root"?"/":`/${p}/`),r.value.i18nRouting!==!1&&e,n.value.relativePath.slice(u.value.link.length-1),!t.value.cleanUrls)+fe.value})),currentLang:u}}function rt(o,e,t,s){return e?o.replace(/\/$/,"")+le(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):o}const it=o=>(C("data-v-0c65f488"),o=o(),H(),o),lt={class:"NotFound"},ct={class:"code"},ut={class:"title"},dt=it(()=>v("div",{class:"divider"},null,-1)),vt={class:"quote"},pt={class:"action"},ht=["href","aria-label"],ft=_({__name:"NotFound",setup(o){const{site:e,theme:t}=V(),{localeLinks:s}=Y({removeCurrent:!1}),n=w("/");return z(()=>{var u;const r=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");s.value.length&&(n.value=((u=s.value.find(({link:h})=>h.startsWith(r)))==null?void 0:u.link)||s.value[0].link)}),(r,u)=>{var h,p,g,y,P;return a(),c("div",lt,[v("p",ct,S(((h=i(t).notFound)==null?void 0:h.code)??"404"),1),v("h1",ut,S(((p=i(t).notFound)==null?void 0:p.title)??"PAGE NOT FOUND"),1),dt,v("blockquote",vt,S(((g=i(t).notFound)==null?void 0:g.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",pt,[v("a",{class:"link",href:i(ve)(n.value),"aria-label":((y=i(t).notFound)==null?void 0:y.linkLabel)??"go to home"},S(((P=i(t).notFound)==null?void 0:P.linkText)??"Take me home"),9,ht)])])}}}),_t=k(ft,[["__scopeId","data-v-0c65f488"]]);function Me(o,e){if(Array.isArray(o))return X(o);if(o==null)return[];e=le(e);const t=Object.keys(o).sort((n,r)=>r.split("/").length-n.split("/").length).find(n=>e.startsWith(le(n))),s=t?o[t]:[];return Array.isArray(s)?X(s):X(s.items,s.base)}function mt(o){const e=[];let t=0;for(const s in o){const n=o[s];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function kt(o){const e=[];function t(s){for(const n of s)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(o),e}function ce(o,e){return Array.isArray(e)?e.some(t=>ce(o,t)):j(o,e.link)?!0:e.items?ce(o,e.items):!1}function X(o,e){return[...o].map(t=>{const s={...t},n=s.base||e;return n&&s.link&&(s.link=n+s.link),s.items&&(s.items=X(s.items,n)),s})}function O(){const{frontmatter:o,page:e,theme:t}=V(),s=ie("(min-width: 960px)"),n=w(!1),r=b(()=>{const B=t.value.sidebar,L=e.value.relativePath;return B?Me(B,L):[]}),u=w(r.value);q(r,(B,L)=>{JSON.stringify(B)!==JSON.stringify(L)&&(u.value=r.value)});const h=b(()=>o.value.sidebar!==!1&&u.value.length>0&&o.value.layout!=="home"),p=b(()=>g?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),g=b(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),y=b(()=>h.value&&s.value),P=b(()=>h.value?mt(u.value):[]);function I(){n.value=!0}function N(){n.value=!1}function A(){n.value?N():I()}return{isOpen:n,sidebar:u,sidebarGroups:P,hasSidebar:h,hasAside:g,leftAside:p,isSidebarEnabled:y,open:I,close:N,toggle:A}}function $t(o,e){let t;x(()=>{t=o.value?document.activeElement:void 0}),z(()=>{window.addEventListener("keyup",s)}),pe(()=>{window.removeEventListener("keyup",s)});function s(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function bt(o){const{page:e}=V(),t=w(!1),s=b(()=>o.value.collapsed!=null),n=b(()=>!!o.value.link),r=w(!1),u=()=>{r.value=j(e.value.relativePath,o.value.link)};q([e,o,fe],u),z(u);const h=b(()=>r.value?!0:o.value.items?ce(e.value.relativePath,o.value.items):!1),p=b(()=>!!(o.value.items&&o.value.items.length));x(()=>{t.value=!!(s.value&&o.value.collapsed)}),Ve(()=>{(r.value||h.value)&&(t.value=!1)});function g(){s.value&&(t.value=!t.value)}return{collapsed:t,collapsible:s,isLink:n,isActiveLink:r,hasActiveLink:h,hasChildren:p,toggle:g}}function gt(){const{hasSidebar:o}=O(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:b(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const ue=[];function Ae(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function _e(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{element:t,title:yt(t),link:"#"+t.id,level:s}});return Pt(e,o)}function yt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Pt(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(u=>u.level>=s&&u.level<=n),ue.length=0;for(const{element:u,link:h}of o)ue.push({element:u,link:h});const r=[];e:for(let u=0;u<o.length;u++){const h=o[u];if(u===0)r.push(h);else{for(let p=u-1;p>=0;p--){const g=o[p];if(g.level<h.level){(g.children||(g.children=[])).push(h);continue e}}r.push(h)}}return r}function Vt(o,e){const{isAsideEnabled:t}=gt(),s=at(r,100);let n=null;z(()=>{requestAnimationFrame(r),window.addEventListener("scroll",s)}),qe(()=>{u(location.hash)}),pe(()=>{window.removeEventListener("scroll",s)});function r(){if(!t.value)return;const h=window.scrollY,p=window.innerHeight,g=document.body.offsetHeight,y=Math.abs(h+p-g)<1,P=ue.map(({element:N,link:A})=>({link:A,top:Lt(N)})).filter(({top:N})=>!Number.isNaN(N)).sort((N,A)=>N.top-A.top);if(!P.length){u(null);return}if(h<1){u(null);return}if(y){u(P[P.length-1].link);return}let I=null;for(const{link:N,top:A}of P){if(A>h+We()+4)break;I=N}u(I)}function u(h){n&&n.classList.remove("active"),h==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const p=n;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Lt(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const St=["href","title"],wt=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const s=t.href.split("#")[1],n=document.getElementById(decodeURIComponent(s));n==null||n.focus({preventScroll:!0})}return(t,s)=>{const n=W("VPDocOutlineItem",!0);return a(),c("ul",{class:T(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),c(M,null,E(t.headers,({children:r,link:u,title:h})=>(a(),c("li",null,[v("a",{class:"outline-link",href:u,onClick:e,title:h},S(h),9,St),r!=null&&r.length?(a(),$(n,{key:0,headers:r},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Be=k(wt,[["__scopeId","data-v-6cb559f2"]]),It=o=>(C("data-v-131f5528"),o=o(),H(),o),Tt={class:"content"},Nt={class:"outline-title",role:"heading","aria-level":"2"},Mt={"aria-labelledby":"doc-outline-aria-label"},At=It(()=>v("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Bt=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=V(),s=Le([]);ee(()=>{s.value=_e(e.value.outline??t.value.outline)});const n=w(),r=w();return Vt(n,r),(u,h)=>(a(),c("div",{class:T(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:n,role:"navigation"},[v("div",Tt,[v("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),v("div",Nt,S(i(Ae)(i(t))),1),v("nav",Mt,[At,m(Be,{headers:s.value,root:!0},null,8,["headers"])])])],2))}}),Ct=k(Bt,[["__scopeId","data-v-131f5528"]]),Ht={class:"VPDocAsideCarbonAds"},Et=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,s)=>(a(),c("div",Ht,[m(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ft=o=>(C("data-v-46f46991"),o=o(),H(),o),Dt={class:"VPDocAside"},Ot=Ft(()=>v("div",{class:"spacer"},null,-1)),Ut=_({__name:"VPDocAside",setup(o){const{theme:e}=V();return(t,s)=>(a(),c("div",Dt,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),m(Ct),l(t.$slots,"aside-outline-after",{},void 0,!0),Ot,l(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(a(),$(Et,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):f("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Gt=k(Ut,[["__scopeId","data-v-46f46991"]]);function jt(){const{theme:o,page:e}=V();return b(()=>{const{text:t="Edit this page",pattern:s=""}=o.value.editLink||{};let n;return typeof s=="function"?n=s(e.value):n=s.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function zt(){const{page:o,theme:e,frontmatter:t}=V();return b(()=>{var g,y,P,I,N,A,B,L;const s=Me(e.value.sidebar,o.value.relativePath),n=kt(s),r=qt(n,U=>U.link.replace(/[?#].*$/,"")),u=r.findIndex(U=>j(o.value.relativePath,U.link)),h=((g=e.value.docFooter)==null?void 0:g.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((y=e.value.docFooter)==null?void 0:y.next)===!1&&!t.value.next||t.value.next===!1;return{prev:h?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((P=r[u-1])==null?void 0:P.docFooterText)??((I=r[u-1])==null?void 0:I.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((N=r[u-1])==null?void 0:N.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=r[u+1])==null?void 0:A.docFooterText)??((B=r[u+1])==null?void 0:B.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((L=r[u+1])==null?void 0:L.link)}}})}function qt(o,e){const t=new Set;return o.filter(s=>{const n=e(s);return t.has(n)?!1:t.add(n)})}const D=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=b(()=>e.tag??(e.href?"a":"span")),s=b(()=>e.href&&Se.test(e.href));return(n,r)=>(a(),$(R(t.value),{class:T(["VPLink",{link:n.href,"vp-external-link-icon":s.value,"no-icon":n.noIcon}]),href:n.href?i(he)(n.href):void 0,target:n.target??(s.value?"_blank":void 0),rel:n.rel??(s.value?"noreferrer":void 0)},{default:d(()=>[l(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Wt={class:"VPLastUpdated"},Kt=["datetime"],Rt=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,frontmatter:s,lang:n}=V(),r=b(()=>new Date(s.value.lastUpdated??t.value.lastUpdated)),u=b(()=>r.value.toISOString()),h=w("");return z(()=>{x(()=>{var p,g,y;h.value=new Intl.DateTimeFormat((g=(p=e.value.lastUpdated)==null?void 0:p.formatOptions)!=null&&g.forceLocale?n.value:void 0,((y=e.value.lastUpdated)==null?void 0:y.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(r.value)})}),(p,g)=>{var y;return a(),c("p",Wt,[F(S(((y=i(e).lastUpdated)==null?void 0:y.text)||i(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:u.value},S(h.value),9,Kt)])}}}),Jt=k(Rt,[["__scopeId","data-v-22357e41"]]),Yt=o=>(C("data-v-8bf99fe7"),o=o(),H(),o),Qt={key:0,class:"VPDocFooter"},Xt={key:0,class:"edit-info"},Zt={key:0,class:"edit-link"},xt=Yt(()=>v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),eo={key:1,class:"last-updated"},to={key:1,class:"prev-next"},oo={class:"pager"},so=["innerHTML"],no=["innerHTML"],ao={class:"pager"},ro=["innerHTML"],io=["innerHTML"],lo=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:s}=V(),n=jt(),r=zt(),u=b(()=>e.value.editLink&&s.value.editLink!==!1),h=b(()=>t.value.lastUpdated&&s.value.lastUpdated!==!1),p=b(()=>u.value||h.value||r.value.prev||r.value.next);return(g,y)=>{var P,I,N,A;return p.value?(a(),c("footer",Qt,[l(g.$slots,"doc-footer-before",{},void 0,!0),u.value||h.value?(a(),c("div",Xt,[u.value?(a(),c("div",Zt,[m(D,{class:"edit-link-button",href:i(n).url,"no-icon":!0},{default:d(()=>[xt,F(" "+S(i(n).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),c("div",eo,[m(Jt)])):f("",!0)])):f("",!0),(P=i(r).prev)!=null&&P.link||(I=i(r).next)!=null&&I.link?(a(),c("nav",to,[v("div",oo,[(N=i(r).prev)!=null&&N.link?(a(),$(D,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:d(()=>{var B;return[v("span",{class:"desc",innerHTML:((B=i(e).docFooter)==null?void 0:B.prev)||"Previous page"},null,8,so),v("span",{class:"title",innerHTML:i(r).prev.text},null,8,no)]}),_:1},8,["href"])):f("",!0)]),v("div",ao,[(A=i(r).next)!=null&&A.link?(a(),$(D,{key:0,class:"pager-link next",href:i(r).next.link},{default:d(()=>{var B;return[v("span",{class:"desc",innerHTML:((B=i(e).docFooter)==null?void 0:B.next)||"Next page"},null,8,ro),v("span",{class:"title",innerHTML:i(r).next.text},null,8,io)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),co=k(lo,[["__scopeId","data-v-8bf99fe7"]]),uo=o=>(C("data-v-324ef281"),o=o(),H(),o),vo={class:"container"},po=uo(()=>v("div",{class:"aside-curtain"},null,-1)),ho={class:"aside-container"},fo={class:"aside-content"},_o={class:"content"},mo={class:"content-container"},ko={class:"main"},$o=_({__name:"VPDoc",setup(o){const{theme:e}=V(),t=te(),{hasSidebar:s,hasAside:n,leftAside:r}=O(),u=b(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,p)=>{const g=W("Content");return a(),c("div",{class:T(["VPDoc",{"has-sidebar":i(s),"has-aside":i(n)}])},[l(h.$slots,"doc-top",{},void 0,!0),v("div",vo,[i(n)?(a(),c("div",{key:0,class:T(["aside",{"left-aside":i(r)}])},[po,v("div",ho,[v("div",fo,[m(Gt,null,{"aside-top":d(()=>[l(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),v("div",_o,[v("div",mo,[l(h.$slots,"doc-before",{},void 0,!0),v("main",ko,[m(g,{class:T(["vp-doc",[u.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),m(co,null,{"doc-footer-before":d(()=>[l(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(h.$slots,"doc-after",{},void 0,!0)])])]),l(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),bo=k($o,[["__scopeId","data-v-324ef281"]]),go=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=b(()=>e.href&&Se.test(e.href)),s=b(()=>e.tag||e.href?"a":"button");return(n,r)=>(a(),$(R(s.value),{class:T(["VPButton",[n.size,n.theme]]),href:n.href?i(he)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:d(()=>[F(S(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),yo=k(go,[["__scopeId","data-v-d970c57e"]]),Po=["src","alt"],Vo=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const s=W("VPImage",!0);return e.image?(a(),c(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),c("img",Q({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(ve)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Po)):(a(),c(M,{key:1},[m(s,Q({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),m(s,Q({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),Z=k(Vo,[["__scopeId","data-v-8b2d1499"]]),Lo=o=>(C("data-v-67914ef4"),o=o(),H(),o),So={class:"container"},wo={class:"main"},Io={key:0,class:"name"},To=["innerHTML"],No=["innerHTML"],Mo=["innerHTML"],Ao={key:0,class:"actions"},Bo={key:0,class:"image"},Co={class:"image-container"},Ho=Lo(()=>v("div",{class:"image-bg"},null,-1)),Eo=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=oe("hero-image-slot-exists");return(t,s)=>(a(),c("div",{class:T(["VPHero",{"has-image":t.image||i(e)}])},[v("div",So,[v("div",wo,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(a(),c("h1",Io,[v("span",{innerHTML:t.name,class:"clip"},null,8,To)])):f("",!0),t.text?(a(),c("p",{key:1,innerHTML:t.text,class:"text"},null,8,No)):f("",!0),t.tagline?(a(),c("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Mo)):f("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),c("div",Ao,[(a(!0),c(M,null,E(t.actions,n=>(a(),c("div",{key:n.link,class:"action"},[m(yo,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):f("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(a(),c("div",Bo,[v("div",Co,[Ho,l(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(Z,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Fo=k(Eo,[["__scopeId","data-v-67914ef4"]]),Do=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=V();return(t,s)=>i(e).hero?(a(),$(Fo,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before")]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info")]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after")]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Oo=o=>(C("data-v-12915697"),o=o(),H(),o),Uo={class:"box"},Go={key:0,class:"icon"},jo=["innerHTML"],zo=["innerHTML"],qo=["innerHTML"],Wo={key:4,class:"link-text"},Ko={class:"link-text-value"},Ro=Oo(()=>v("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),Jo=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),$(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:d(()=>[v("article",Uo,[typeof e.icon=="object"&&e.icon.wrap?(a(),c("div",Go,[m(Z,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(Z,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),c("div",{key:2,class:"icon",innerHTML:e.icon},null,8,jo)):f("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,zo),e.details?(a(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,qo)):f("",!0),e.linkText?(a(),c("div",Wo,[v("p",Ko,[F(S(e.linkText)+" ",1),Ro])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Yo=k(Jo,[["__scopeId","data-v-12915697"]]),Qo={key:0,class:"VPFeatures"},Xo={class:"container"},Zo={class:"items"},xo=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=b(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,n)=>s.features?(a(),c("div",Qo,[v("div",Xo,[v("div",Zo,[(a(!0),c(M,null,E(s.features,r=>(a(),c("div",{key:r.title,class:T(["item",[t.value]])},[m(Yo,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),es=k(xo,[["__scopeId","data-v-9bf7213a"]]),ts=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=V();return(t,s)=>i(e).features?(a(),$(es,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):f("",!0)}}),os=_({__name:"VPHomeContent",setup(o){const{width:e}=Ke({includeScrollbar:!1});return(t,s)=>(a(),c("div",{class:"vp-doc container",style:we(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),ss=k(os,[["__scopeId","data-v-f87494e5"]]),ns={class:"VPHome"},as=_({__name:"VPHome",setup(o){const{frontmatter:e}=V();return(t,s)=>{const n=W("Content");return a(),c("div",ns,[l(t.$slots,"home-hero-before",{},void 0,!0),m(Do,null,{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),l(t.$slots,"home-hero-after",{},void 0,!0),l(t.$slots,"home-features-before",{},void 0,!0),m(ts),l(t.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(a(),$(ss,{key:0},{default:d(()=>[m(n)]),_:1})):(a(),$(n,{key:1}))])}}}),rs=k(as,[["__scopeId","data-v-d7ae2c1e"]]),is={},ls={class:"VPPage"};function cs(o,e){const t=W("Content");return a(),c("div",ls,[l(o.$slots,"page-top"),m(t),l(o.$slots,"page-bottom")])}const us=k(is,[["render",cs]]),ds=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=V(),{hasSidebar:s}=O();return(n,r)=>(a(),c("div",{class:T(["VPContent",{"has-sidebar":i(s),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?l(n.$slots,"not-found",{key:0},()=>[m(_t)],!0):i(t).layout==="page"?(a(),$(us,{key:1},{"page-top":d(()=>[l(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(a(),$(rs,{key:2},{"home-hero-before":d(()=>[l(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(a(),$(R(i(t).layout),{key:3})):(a(),$(bo,{key:4},{"doc-top":d(()=>[l(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":d(()=>[l(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":d(()=>[l(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":d(()=>[l(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":d(()=>[l(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),vs=k(ds,[["__scopeId","data-v-7d8e7fc6"]]),ps={class:"container"},hs=["innerHTML"],fs=["innerHTML"],_s=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=O();return(n,r)=>i(e).footer&&i(t).footer!==!1?(a(),c("footer",{key:0,class:T(["VPFooter",{"has-sidebar":i(s)}])},[v("div",ps,[i(e).footer.message?(a(),c("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,hs)):f("",!0),i(e).footer.copyright?(a(),c("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,fs)):f("",!0)])],2)):f("",!0)}}),ms=k(_s,[["__scopeId","data-v-a2838918"]]);function ks(){const{theme:o,frontmatter:e}=V(),t=Le([]),s=b(()=>t.value.length>0);return ee(()=>{t.value=_e(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:s}}const $s=o=>(C("data-v-c372f01a"),o=o(),H(),o),bs=$s(()=>v("span",{class:"vpi-chevron-right icon"},null,-1)),gs={class:"header"},ys={class:"outline"},Ps=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=V(),s=w(!1),n=w(0),r=w(),u=w();Re(r,()=>{s.value=!1}),Je("Escape",()=>{s.value=!1}),ee(()=>{s.value=!1});function h(){s.value=!s.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function p(y){y.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),Ye(()=>{s.value=!1}))}function g(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(y,P)=>(a(),c("div",{class:"VPLocalNavOutlineDropdown",style:we({"--vp-vh":n.value+"px"}),ref_key:"main",ref:r},[y.headers.length>0?(a(),c("button",{key:0,onClick:h,class:T({open:s.value})},[F(S(i(Ae)(i(t)))+" ",1),bs],2)):(a(),c("button",{key:1,onClick:g},S(i(t).returnToTopLabel||"Return to top"),1)),m(de,{name:"flyout"},{default:d(()=>[s.value?(a(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:p},[v("div",gs,[v("a",{class:"top-link",href:"#",onClick:g},S(i(t).returnToTopLabel||"Return to top"),1)]),v("div",ys,[m(Be,{headers:y.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Vs=k(Ps,[["__scopeId","data-v-c372f01a"]]),Ls=o=>(C("data-v-a5042708"),o=o(),H(),o),Ss={class:"container"},ws=["aria-expanded"],Is=Ls(()=>v("span",{class:"vpi-align-left menu-icon"},null,-1)),Ts={class:"menu-text"},Ns=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=O(),{headers:n}=ks(),{y:r}=Ie(),u=w(0);z(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ee(()=>{n.value=_e(t.value.outline??e.value.outline)});const h=b(()=>n.value.length===0),p=b(()=>h.value&&!s.value),g=b(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:h.value,fixed:p.value}));return(y,P)=>i(t).layout!=="home"&&(!p.value||i(r)>=u.value)?(a(),c("div",{key:0,class:T(g.value)},[v("div",Ss,[i(s)?(a(),c("button",{key:0,class:"menu","aria-expanded":y.open,"aria-controls":"VPSidebarNav",onClick:P[0]||(P[0]=I=>y.$emit("open-menu"))},[Is,v("span",Ts,S(i(e).sidebarMenuLabel||"Menu"),1)],8,ws)):f("",!0),m(Vs,{headers:i(n),navHeight:u.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Ms=k(Ns,[["__scopeId","data-v-a5042708"]]);function As(){const o=w(!1);function e(){o.value=!0,window.addEventListener("resize",n)}function t(){o.value=!1,window.removeEventListener("resize",n)}function s(){o.value?t():e()}function n(){window.outerWidth>=768&&t()}const r=te();return q(()=>r.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:s}}const Bs={},Cs={class:"VPSwitch",type:"button",role:"switch"},Hs={class:"check"},Es={key:0,class:"icon"};function Fs(o,e){return a(),c("button",Cs,[v("span",Hs,[o.$slots.default?(a(),c("span",Es,[l(o.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Ds=k(Bs,[["render",Fs],["__scopeId","data-v-1831e9e8"]]),Ce=o=>(C("data-v-67415aa0"),o=o(),H(),o),Os=Ce(()=>v("span",{class:"vpi-sun sun"},null,-1)),Us=Ce(()=>v("span",{class:"vpi-moon moon"},null,-1)),Gs=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=V(),s=oe("toggle-appearance",()=>{e.value=!e.value}),n=b(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(r,u)=>(a(),$(Ds,{title:n.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(s)},{default:d(()=>[Os,Us]),_:1},8,["title","aria-checked","onClick"]))}}),me=k(Gs,[["__scopeId","data-v-67415aa0"]]),js={key:0,class:"VPNavBarAppearance"},zs=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=V();return(t,s)=>i(e).appearance&&i(e).appearance!=="force-dark"?(a(),c("div",js,[m(me)])):f("",!0)}}),qs=k(zs,[["__scopeId","data-v-28db6b7e"]]),ke=w();let He=!1,re=0;function Ws(o){const e=w(!1);if(J){!He&&Ks(),re++;const t=q(ke,s=>{var n,r,u;s===o.el.value||(n=o.el.value)!=null&&n.contains(s)?(e.value=!0,(r=o.onFocus)==null||r.call(o)):(e.value=!1,(u=o.onBlur)==null||u.call(o))});pe(()=>{t(),re--,re||Rs()})}return Qe(e)}function Ks(){document.addEventListener("focusin",Ee),He=!0,ke.value=document.activeElement}function Rs(){document.removeEventListener("focusin",Ee)}function Ee(){ke.value=document.activeElement}const Js={class:"VPMenuLink"},Ys=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,s)=>(a(),c("div",Js,[m(D,{class:T({active:i(j)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:d(()=>[F(S(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),se=k(Ys,[["__scopeId","data-v-06c1d589"]]),Qs={class:"VPMenuGroup"},Xs={key:0,class:"title"},Zs=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Qs,[e.text?(a(),c("p",Xs,S(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),c(M,null,["link"in s?(a(),$(se,{key:0,item:s},null,8,["item"])):f("",!0)],64))),256))]))}}),xs=k(Zs,[["__scopeId","data-v-d6563914"]]),en={class:"VPMenu"},tn={key:0,class:"items"},on=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),c("div",en,[e.items?(a(),c("div",tn,[(a(!0),c(M,null,E(e.items,s=>(a(),c(M,{key:s.text},["link"in s?(a(),$(se,{key:0,item:s},null,8,["item"])):(a(),$(xs,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),sn=k(on,[["__scopeId","data-v-bb327cb9"]]),nn=o=>(C("data-v-f549863a"),o=o(),H(),o),an=["aria-expanded","aria-label"],rn={key:0,class:"text"},ln=["innerHTML"],cn=nn(()=>v("span",{class:"vpi-chevron-down text-icon"},null,-1)),un={key:1,class:"vpi-more-horizontal icon"},dn={class:"menu"},vn=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=w(!1),t=w();Ws({el:t,onBlur:s});function s(){e.value=!1}return(n,r)=>(a(),c("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=u=>e.value=!0),onMouseleave:r[2]||(r[2]=u=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:r[0]||(r[0]=u=>e.value=!e.value)},[n.button||n.icon?(a(),c("span",rn,[n.icon?(a(),c("span",{key:0,class:T([n.icon,"option-icon"])},null,2)):f("",!0),n.button?(a(),c("span",{key:1,innerHTML:n.button},null,8,ln)):f("",!0),cn])):(a(),c("span",un))],8,an),v("div",dn,[m(sn,{items:n.items},{default:d(()=>[l(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=k(vn,[["__scopeId","data-v-f549863a"]]),pn=["href","aria-label","innerHTML"],hn=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=b(()=>typeof e.icon=="object"?e.icon.svg:`<span class="vpi-social-${e.icon}" />`);return(s,n)=>(a(),c("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,pn))}}),fn=k(hn,[["__scopeId","data-v-7063c8a9"]]),_n={class:"VPSocialLinks"},mn=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),c("div",_n,[(a(!0),c(M,null,E(e.links,({link:s,icon:n,ariaLabel:r})=>(a(),$(fn,{key:s,icon:n,link:s,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),be=k(mn,[["__scopeId","data-v-dfab8935"]]),kn={key:0,class:"group translations"},$n={class:"trans-title"},bn={key:1,class:"group"},gn={class:"item appearance"},yn={class:"label"},Pn={class:"appearance-action"},Vn={key:2,class:"group"},Ln={class:"item social-links"},Sn=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=V(),{localeLinks:s,currentLang:n}=Y({correspondingLink:!0}),r=b(()=>s.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(u,h)=>r.value?(a(),$($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:d(()=>[i(s).length&&i(n).label?(a(),c("div",kn,[v("p",$n,S(i(n).label),1),(a(!0),c(M,null,E(i(s),p=>(a(),$(se,{key:p.link,item:p},null,8,["item"]))),128))])):f("",!0),i(e).appearance&&i(e).appearance!=="force-dark"?(a(),c("div",bn,[v("div",gn,[v("p",yn,S(i(t).darkModeSwitchLabel||"Appearance"),1),v("div",Pn,[m(me)])])])):f("",!0),i(t).socialLinks?(a(),c("div",Vn,[v("div",Ln,[m(be,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),wn=k(Sn,[["__scopeId","data-v-386272f7"]]),In=o=>(C("data-v-2b51153f"),o=o(),H(),o),Tn=["aria-expanded"],Nn=In(()=>v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)),Mn=[Nn],An=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),c("button",{type:"button",class:T(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},Mn,10,Tn))}}),Bn=k(An,[["__scopeId","data-v-2b51153f"]]),Cn=["innerHTML"],Hn=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,s)=>(a(),$(D,{class:T({VPNavBarMenuLink:!0,active:i(j)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:d(()=>[v("span",{innerHTML:t.item.text},null,8,Cn)]),_:1},8,["class","href","noIcon","target","rel"]))}}),En=k(Hn,[["__scopeId","data-v-c9c7a9c4"]]),Fn=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=V(),s=r=>"link"in r?j(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(s),n=b(()=>s(e.item));return(r,u)=>(a(),$($e,{class:T({VPNavBarMenuGroup:!0,active:i(j)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||n.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),Dn=o=>(C("data-v-3bc650c4"),o=o(),H(),o),On={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Un=Dn(()=>v("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Gn=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=V();return(t,s)=>i(e).nav?(a(),c("nav",On,[Un,(a(!0),c(M,null,E(i(e).nav,n=>(a(),c(M,{key:n.text},["link"in n?(a(),$(En,{key:0,item:n},null,8,["item"])):(a(),$(Fn,{key:1,item:n},null,8,["item"]))],64))),128))])):f("",!0)}}),jn=k(Gn,[["__scopeId","data-v-3bc650c4"]]);function zn(o){const{localeIndex:e,theme:t}=V();function s(n){var A,B,L;const r=n.split("."),u=(A=t.value.search)==null?void 0:A.options,h=u&&typeof u=="object",p=h&&((L=(B=u.locales)==null?void 0:B[e.value])==null?void 0:L.translations)||null,g=h&&u.translations||null;let y=p,P=g,I=o;const N=r.pop();for(const U of r){let G=null;const K=I==null?void 0:I[U];K&&(G=I=K);const ne=P==null?void 0:P[U];ne&&(G=P=ne);const ae=y==null?void 0:y[U];ae&&(G=y=ae),K||(I=G),ne||(P=G),ae||(y=G)}return(y==null?void 0:y[N])??(P==null?void 0:P[N])??(I==null?void 0:I[N])??""}return s}const qn=["aria-label"],Wn={class:"DocSearch-Button-Container"},Kn=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Rn={class:"DocSearch-Button-Placeholder"},Jn=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Pe=_({__name:"VPNavBarSearchButton",setup(o){const t=zn({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,n)=>(a(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[v("span",Wn,[Kn,v("span",Rn,S(i(t)("button.buttonText")),1)]),Jn],8,qn))}}),Yn={class:"VPNavBarSearch"},Qn={id:"local-search"},Xn={key:1,id:"docsearch"},Zn=_({__name:"VPNavBarSearch",setup(o){const e=()=>null,t=()=>null,{theme:s}=V(),n=w(!1),r=w(!1);z(()=>{});function u(){n.value||(n.value=!0,setTimeout(h,16))}function h(){const y=new Event("keydown");y.key="k",y.metaKey=!0,window.dispatchEvent(y),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}const p=w(!1),g="";return(y,P)=>{var I;return a(),c("div",Yn,[i(g)==="local"?(a(),c(M,{key:0},[p.value?(a(),$(i(e),{key:0,onClose:P[0]||(P[0]=N=>p.value=!1)})):f("",!0),v("div",Qn,[m(Pe,{onClick:P[1]||(P[1]=N=>p.value=!0)})])],64)):i(g)==="algolia"?(a(),c(M,{key:1},[n.value?(a(),$(i(t),{key:0,algolia:((I=i(s).search)==null?void 0:I.options)??i(s).algolia,onVnodeBeforeMount:P[2]||(P[2]=N=>r.value=!0)},null,8,["algolia"])):f("",!0),r.value?f("",!0):(a(),c("div",Xn,[m(Pe,{onClick:u})]))],64)):f("",!0)])}}}),xn=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=V();return(t,s)=>i(e).socialLinks?(a(),$(be,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):f("",!0)}}),ea=k(xn,[["__scopeId","data-v-803cb3a6"]]),ta=["href","rel","target"],oa={key:1},sa={key:2},na=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=V(),{hasSidebar:s}=O(),{currentLang:n}=Y(),r=b(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),u=b(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),h=b(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,g)=>(a(),c("div",{class:T(["VPNavBarTitle",{"has-sidebar":i(s)}])},[v("a",{class:"title",href:r.value??i(he)(i(n).link),rel:u.value,target:h.value},[l(p.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(a(),$(Z,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):f("",!0),i(t).siteTitle?(a(),c("span",oa,S(i(t).siteTitle),1)):i(t).siteTitle===void 0?(a(),c("span",sa,S(i(e).title),1)):f("",!0),l(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,ta)],2))}}),aa=k(na,[["__scopeId","data-v-1e6b5250"]]),ra={class:"items"},ia={class:"title"},la=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=V(),{localeLinks:t,currentLang:s}=Y({correspondingLink:!0});return(n,r)=>i(t).length&&i(s).label?(a(),$($e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:d(()=>[v("div",ra,[v("p",ia,S(i(s).label),1),(a(!0),c(M,null,E(i(t),u=>(a(),$(se,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),ca=k(la,[["__scopeId","data-v-2f3ba8a8"]]),ua=o=>(C("data-v-bd0c8613"),o=o(),H(),o),da={class:"wrapper"},va={class:"container"},pa={class:"title"},ha={class:"content"},fa={class:"content-body"},_a=ua(()=>v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1)),ma=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const{y:e}=Ie(),{hasSidebar:t}=O(),{frontmatter:s}=V(),n=w({});return Ve(()=>{n.value={"has-sidebar":t.value,home:s.value.layout==="home",top:e.value===0}}),(r,u)=>(a(),c("div",{class:T(["VPNavBar",n.value])},[v("div",da,[v("div",va,[v("div",pa,[m(aa,null,{"nav-bar-title-before":d(()=>[l(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(r.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",ha,[v("div",fa,[l(r.$slots,"nav-bar-content-before",{},void 0,!0),m(Zn,{class:"search"}),m(jn,{class:"menu"}),m(ca,{class:"translations"}),m(qs,{class:"appearance"}),m(ea,{class:"social-links"}),m(wn,{class:"extra"}),l(r.$slots,"nav-bar-content-after",{},void 0,!0),m(Bn,{class:"hamburger",active:r.isScreenOpen,onClick:u[0]||(u[0]=h=>r.$emit("toggle-screen"))},null,8,["active"])])])])]),_a],2))}}),ka=k(ma,[["__scopeId","data-v-bd0c8613"]]),$a={key:0,class:"VPNavScreenAppearance"},ba={class:"text"},ga=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=V();return(s,n)=>i(e).appearance&&i(e).appearance!=="force-dark"?(a(),c("div",$a,[v("p",ba,S(i(t).darkModeSwitchLabel||"Appearance"),1),m(me)])):f("",!0)}}),ya=k(ga,[["__scopeId","data-v-65944f0a"]]),Pa=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=oe("close-screen");return(t,s)=>(a(),$(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e)},{default:d(()=>[F(S(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Va=k(Pa,[["__scopeId","data-v-135f5a23"]]),La=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=oe("close-screen");return(t,s)=>(a(),$(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e)},{default:d(()=>[F(S(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Fe=k(La,[["__scopeId","data-v-5cd4ae0b"]]),Sa={class:"VPNavScreenMenuGroupSection"},wa={key:0,class:"title"},Ia=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Sa,[e.text?(a(),c("p",wa,S(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),$(Fe,{key:s.text,item:s},null,8,["item"]))),128))]))}}),Ta=k(Ia,[["__scopeId","data-v-d2fd7115"]]),Na=o=>(C("data-v-034fc6ae"),o=o(),H(),o),Ma=["aria-controls","aria-expanded"],Aa=["innerHTML"],Ba=Na(()=>v("span",{class:"vpi-plus button-icon"},null,-1)),Ca=["id"],Ha={key:1,class:"group"},Ea=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=w(!1),s=b(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(r,u)=>(a(),c("div",{class:T(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:n},[v("span",{class:"button-text",innerHTML:r.text},null,8,Aa),Ba],8,Ma),v("div",{id:s.value,class:"items"},[(a(!0),c(M,null,E(r.items,h=>(a(),c(M,{key:h.text},["link"in h?(a(),c("div",{key:h.text,class:"item"},[m(Fe,{item:h},null,8,["item"])])):(a(),c("div",Ha,[m(Ta,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,Ca)],2))}}),Fa=k(Ea,[["__scopeId","data-v-034fc6ae"]]),Da={key:0,class:"VPNavScreenMenu"},Oa=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=V();return(t,s)=>i(e).nav?(a(),c("nav",Da,[(a(!0),c(M,null,E(i(e).nav,n=>(a(),c(M,{key:n.text},["link"in n?(a(),$(Va,{key:0,item:n},null,8,["item"])):(a(),$(Fa,{key:1,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Ua=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=V();return(t,s)=>i(e).socialLinks?(a(),$(be,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):f("",!0)}}),De=o=>(C("data-v-e3e3caac"),o=o(),H(),o),Ga=De(()=>v("span",{class:"vpi-languages icon lang"},null,-1)),ja=De(()=>v("span",{class:"vpi-chevron-down icon chevron"},null,-1)),za={class:"list"},qa=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=Y({correspondingLink:!0}),s=w(!1);function n(){s.value=!s.value}return(r,u)=>i(e).length&&i(t).label?(a(),c("div",{key:0,class:T(["VPNavScreenTranslations",{open:s.value}])},[v("button",{class:"title",onClick:n},[Ga,F(" "+S(i(t).label)+" ",1),ja]),v("ul",za,[(a(!0),c(M,null,E(i(e),h=>(a(),c("li",{key:h.link,class:"item"},[m(D,{class:"link",href:h.link},{default:d(()=>[F(S(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),Wa=k(qa,[["__scopeId","data-v-e3e3caac"]]),Ka={class:"container"},Ra=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=w(null),t=Te(J?document.body:null);return(s,n)=>(a(),$(de,{name:"fade",onEnter:n[0]||(n[0]=r=>t.value=!0),onAfterLeave:n[1]||(n[1]=r=>t.value=!1)},{default:d(()=>[s.open?(a(),c("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",Ka,[l(s.$slots,"nav-screen-content-before",{},void 0,!0),m(Oa,{class:"menu"}),m(Wa,{class:"translations"}),m(ya,{class:"appearance"}),m(Ua,{class:"social-links"}),l(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Ja=k(Ra,[["__scopeId","data-v-3d951441"]]),Ya={key:0,class:"VPNav"},Qa=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=As(),{frontmatter:n}=V(),r=b(()=>n.value.navbar!==!1);return Ne("close-screen",t),x(()=>{J&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(u,h)=>r.value?(a(),c("header",Ya,[m(ka,{"is-screen-open":i(e),onToggleScreen:i(s)},{"nav-bar-title-before":d(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),m(Ja,{open:i(e)},{"nav-screen-content-before":d(()=>[l(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),Xa=k(Qa,[["__scopeId","data-v-de1dd4ca"]]),Oe=o=>(C("data-v-5025e96d"),o=o(),H(),o),Za=["role","tabindex"],xa=Oe(()=>v("div",{class:"indicator"},null,-1)),er=Oe(()=>v("span",{class:"vpi-chevron-right caret-icon"},null,-1)),tr=[er],or={key:1,class:"items"},sr=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:s,isLink:n,isActiveLink:r,hasActiveLink:u,hasChildren:h,toggle:p}=bt(b(()=>e.item)),g=b(()=>h.value?"section":"div"),y=b(()=>n.value?"a":"div"),P=b(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),I=b(()=>n.value?void 0:"button"),N=b(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":n.value},{"is-active":r.value},{"has-active":u.value}]);function A(L){"key"in L&&L.key!=="Enter"||!e.item.link&&p()}function B(){e.item.link&&p()}return(L,U)=>{const G=W("VPSidebarItem",!0);return a(),$(R(g.value),{class:T(["VPSidebarItem",N.value])},{default:d(()=>[L.item.text?(a(),c("div",Q({key:0,class:"item",role:I.value},Xe(L.item.items?{click:A,keydown:A}:{},!0),{tabindex:L.item.items&&0}),[xa,L.item.link?(a(),$(D,{key:0,tag:y.value,class:"link",href:L.item.link,rel:L.item.rel,target:L.item.target},{default:d(()=>[(a(),$(R(P.value),{class:"text",innerHTML:L.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(R(P.value),{key:1,class:"text",innerHTML:L.item.text},null,8,["innerHTML"])),L.item.collapsed!=null&&L.item.items&&L.item.items.length?(a(),c("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:B,onKeydown:Ze(B,["enter"]),tabindex:"0"},tr,32)):f("",!0)],16,Za)):f("",!0),L.item.items&&L.item.items.length?(a(),c("div",or,[L.depth<5?(a(!0),c(M,{key:0},E(L.item.items,K=>(a(),$(G,{key:K.text,item:K,depth:L.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),nr=k(sr,[["__scopeId","data-v-5025e96d"]]),Ue=o=>(C("data-v-efae9be1"),o=o(),H(),o),ar=Ue(()=>v("div",{class:"curtain"},null,-1)),rr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},ir=Ue(()=>v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),lr=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=O(),s=o,n=w(null),r=Te(J?document.body:null);return q([s,n],()=>{var u;s.open?(r.value=!0,(u=n.value)==null||u.focus()):r.value=!1},{immediate:!0,flush:"post"}),(u,h)=>i(t)?(a(),c("aside",{key:0,class:T(["VPSidebar",{open:u.open}]),ref_key:"navEl",ref:n,onClick:h[0]||(h[0]=xe(()=>{},["stop"]))},[ar,v("nav",rr,[ir,l(u.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),c(M,null,E(i(e),p=>(a(),c("div",{key:p.text,class:"group"},[m(nr,{item:p,depth:0},null,8,["item"])]))),128)),l(u.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),cr=k(lr,[["__scopeId","data-v-efae9be1"]]),ur=_({__name:"VPSkipLink",setup(o){const e=te(),t=w();q(()=>e.path,()=>t.value.focus());function s({target:n}){const r=document.getElementById(decodeURIComponent(n.hash).slice(1));if(r){const u=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",u)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",u),r.focus(),window.scrollTo(0,0)}}return(n,r)=>(a(),c(M,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),dr=k(ur,[["__scopeId","data-v-b0bf885a"]]),vr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:s}=O(),n=te();q(()=>n.path,s),$t(e,s);const{frontmatter:r}=V(),u=et(),h=b(()=>!!u["home-hero-image"]);return Ne("hero-image-slot-exists",h),(p,g)=>{const y=W("Content");return i(r).layout!==!1?(a(),c("div",{key:0,class:T(["Layout",i(r).pageClass])},[l(p.$slots,"layout-top",{},void 0,!0),m(dr),m(nt,{class:"backdrop",show:i(e),onClick:i(s)},null,8,["show","onClick"]),m(Xa,null,{"nav-bar-title-before":d(()=>[l(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":d(()=>[l(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),m(Ms,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),m(cr,{open:i(e)},{"sidebar-nav-before":d(()=>[l(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":d(()=>[l(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),m(vs,null,{"page-top":d(()=>[l(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":d(()=>[l(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":d(()=>[l(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":d(()=>[l(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":d(()=>[l(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":d(()=>[l(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),m(ms),l(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(y,{key:1}))}}}),pr=k(vr,[["__scopeId","data-v-9621c6d4"]]),hr={Layout:pr,enhanceApp:({app:o})=>{o.component("Badge",tt)}},_r={...hr,async enhanceApp({app:o}){o.component("BrocatelEditor",ge(async()=>(await ye(()=>import("./brocatel-mde.es.Bo8dZpIJ.js"),__vite__mapDeps([0,1]))).BrocatelEditor)),o.component("MdExample",ge(()=>ye(()=>import("./MdExample.DRafiJc8.js"),__vite__mapDeps([2,1]))))}};export{_r as e}; diff --git a/assets/cloak.md.CjDHB8DE.js b/assets/cloak.md.CjDHB8DE.js new file mode 100644 index 0000000..b88e248 --- /dev/null +++ b/assets/cloak.md.CjDHB8DE.js @@ -0,0 +1,203 @@ +import{_ as n,E as l,c as e,J as h,w as t,m as i,a as s,o as k}from"./chunks/framework.tOI-YKg8.js";const B=JSON.parse('{"title":"Cloak of Darkness","description":"","frontmatter":{},"headers":[],"relativePath":"cloak.md","filePath":"cloak.md"}'),r={name:"cloak.md"},E=i("h1",{id:"cloak-of-darkness",tabindex:"-1"},[s("Cloak of Darkness "),i("a",{class:"header-anchor",href:"#cloak-of-darkness","aria-label":'Permalink to "Cloak of Darkness"'},"​")],-1),d=i("p",null,[s("Here is an example of "),i("a",{href:"https://www.ifwiki.org/Cloak_of_Darkness",target:"_blank",rel:"noreferrer"},"Cloak of Darkness"),s(".")],-1),p=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"```lua global")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"-- Original by Roger Firth.")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"-- Adapted from the implementation by Michael Akinde.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"scuffled "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 0")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"has_cloak "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," true")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"hung_cloak "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," false")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"dropped_cloak "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," false")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"examined_self "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," false")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"```")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# opera_house")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Hurrying through the rainswept November night, you're glad to see the bright lights of the Opera House. It's surprising that there aren't more people about but, hey, what do you expect in a cheap demonstration vMap...?")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Enter the foyer.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You enter the foyer of the Opera house.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#foyer"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# foyer")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::loop")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You are standing in a spacious hall, splendidly decorated in red and gold, with glittering chandeliers overhead. The entrance from the street is to the north, and there are doorways south and west.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}}," # foyer_options")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 1."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Examine yourself.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You examine yourself.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `examined_self = true`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," :::if"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`has_cloak`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You are wearing a handsome cloak, of velvet trimmed with satin, and slightly splattered with raindrops. Its blackness is so deep that it almost seems to suck light from the room.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You aren't carrying anything.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#foyer_options"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 2."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go north.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#leave"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 3."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go west.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#cloakroom"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 4."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `not has_cloak`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go south.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#bar_light"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 5."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `has_cloak`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go south.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#bar_dark"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"## leave")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"```lua global")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"i "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 0")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"```")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::switch"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`local j = i % 4`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `j == 0`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," No. You've only just arrived, and besides, the weather outside seems to be getting worse.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `j == 1`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," No. It's really raining cats and dogs out there.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `j == 2`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Are you still considering that option? The answer is still no.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `j == 3`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Come on, get on with the vMap.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`i = i + 1`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#foyer_options"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# cloakroom")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"The walls of this small room were clearly once lined with hooks, though now only one remains. The exit is a door to the east.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`dropped_cloak`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Your cloak is on the floor here.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`hung_cloak`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Your cloak is hanging on the hook.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::loop")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}}," ## cloakroom_options")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 1."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Examine the hook.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You examine the hook.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," :::if"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`hung_cloak`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," It's just a small brass hook, with your cloak hanging on it.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," It's just a small brass hook screwed to the wall.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#cloakroom_options"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 2."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `has_cloak and examined_self`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Hang your cloak on the hook.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You hang your cloak on the hook.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `has_cloak = false`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `hung_cloak = true`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#cloakroom"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 3."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `has_cloak and examined_self`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Drop your cloak on the floor.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You drop your cloak on the floor.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `has_cloak = false`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `dropped_cloak = true`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#cloakroom"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 4."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `hung_cloak or dropped_cloak`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Pick up your cloak.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," :::if"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`hung_cloak`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You take your cloak from the hook.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You pick up your cloak from the floor.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ```lua")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," has_cloak "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," true")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," hung_cloak "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," false")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," dropped_cloak "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," false")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ```")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#cloakroom"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 5."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go east.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#foyer"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# bar_dark")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"You walk to the bar, but it's so dark here you can't really make anything out. The foyer is back to the north.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::loop")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}}," # bar_dark_options")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," *"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Feel around for a light switch.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," *"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Sit on a bar stool.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," *"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `RECUR`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go north.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#foyer"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," In the dark? You could easily disturb something.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `scuffled = scuffled + 1`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#bar_dark_options"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# bar_light")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"The bar, much rougher than you'd have guessed after the opulence of the foyer to the north, is completely empty. There seems to be some sort of message scrawled in the sawdust on the floor. The foyer is back to the north.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"1."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Examine the message.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#message"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"2."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go north.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#foyer"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"## message")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::switch")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `scuffled < 2`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," The message, neatly marked in the sawdust, reads...")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You have won!")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `true`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," The message has been carelessly trampled, making it difficult to read. You can just distinguish the words...")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You have lost.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"*"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," The End.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"---")])])])],-1);function o(c,g,y,F,u,C){const a=l("md-example");return k(),e("div",null,[E,d,h(a,null,{default:t(()=>[p]),_:1})])}const x=n(r,[["render",o]]);export{B as __pageData,x as default}; diff --git a/assets/cloak.md.CjDHB8DE.lean.js b/assets/cloak.md.CjDHB8DE.lean.js new file mode 100644 index 0000000..b88e248 --- /dev/null +++ b/assets/cloak.md.CjDHB8DE.lean.js @@ -0,0 +1,203 @@ +import{_ as n,E as l,c as e,J as h,w as t,m as i,a as s,o as k}from"./chunks/framework.tOI-YKg8.js";const B=JSON.parse('{"title":"Cloak of Darkness","description":"","frontmatter":{},"headers":[],"relativePath":"cloak.md","filePath":"cloak.md"}'),r={name:"cloak.md"},E=i("h1",{id:"cloak-of-darkness",tabindex:"-1"},[s("Cloak of Darkness "),i("a",{class:"header-anchor",href:"#cloak-of-darkness","aria-label":'Permalink to "Cloak of Darkness"'},"​")],-1),d=i("p",null,[s("Here is an example of "),i("a",{href:"https://www.ifwiki.org/Cloak_of_Darkness",target:"_blank",rel:"noreferrer"},"Cloak of Darkness"),s(".")],-1),p=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"```lua global")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"-- Original by Roger Firth.")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"-- Adapted from the implementation by Michael Akinde.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"scuffled "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 0")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"has_cloak "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," true")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"hung_cloak "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," false")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"dropped_cloak "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," false")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"examined_self "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," false")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"```")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# opera_house")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Hurrying through the rainswept November night, you're glad to see the bright lights of the Opera House. It's surprising that there aren't more people about but, hey, what do you expect in a cheap demonstration vMap...?")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Enter the foyer.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You enter the foyer of the Opera house.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#foyer"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# foyer")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::loop")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You are standing in a spacious hall, splendidly decorated in red and gold, with glittering chandeliers overhead. The entrance from the street is to the north, and there are doorways south and west.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}}," # foyer_options")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 1."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Examine yourself.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You examine yourself.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `examined_self = true`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," :::if"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`has_cloak`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You are wearing a handsome cloak, of velvet trimmed with satin, and slightly splattered with raindrops. Its blackness is so deep that it almost seems to suck light from the room.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You aren't carrying anything.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#foyer_options"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 2."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go north.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#leave"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 3."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go west.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#cloakroom"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 4."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `not has_cloak`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go south.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#bar_light"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 5."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `has_cloak`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go south.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#bar_dark"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"## leave")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"```lua global")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"i "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 0")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"```")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::switch"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`local j = i % 4`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `j == 0`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," No. You've only just arrived, and besides, the weather outside seems to be getting worse.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `j == 1`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," No. It's really raining cats and dogs out there.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `j == 2`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Are you still considering that option? The answer is still no.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `j == 3`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Come on, get on with the vMap.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`i = i + 1`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#foyer_options"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# cloakroom")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"The walls of this small room were clearly once lined with hooks, though now only one remains. The exit is a door to the east.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`dropped_cloak`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Your cloak is on the floor here.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`hung_cloak`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Your cloak is hanging on the hook.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::loop")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}}," ## cloakroom_options")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 1."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Examine the hook.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You examine the hook.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," :::if"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`hung_cloak`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," It's just a small brass hook, with your cloak hanging on it.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," It's just a small brass hook screwed to the wall.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#cloakroom_options"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 2."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `has_cloak and examined_self`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Hang your cloak on the hook.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You hang your cloak on the hook.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `has_cloak = false`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `hung_cloak = true`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#cloakroom"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 3."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `has_cloak and examined_self`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Drop your cloak on the floor.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You drop your cloak on the floor.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `has_cloak = false`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `dropped_cloak = true`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#cloakroom"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 4."),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `hung_cloak or dropped_cloak`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Pick up your cloak.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," :::if"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`hung_cloak`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You take your cloak from the hook.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You pick up your cloak from the floor.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ```lua")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," has_cloak "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," true")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," hung_cloak "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," false")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," dropped_cloak "),i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"="),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," false")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ```")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#cloakroom"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," 5."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go east.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#foyer"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# bar_dark")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"You walk to the bar, but it's so dark here you can't really make anything out. The foyer is back to the north.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::loop")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}}," # bar_dark_options")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," *"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Feel around for a light switch.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," *"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Sit on a bar stool.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," *"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `RECUR`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go north.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#foyer"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," In the dark? You could easily disturb something.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `scuffled = scuffled + 1`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#bar_dark_options"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# bar_light")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"The bar, much rougher than you'd have guessed after the opulence of the foyer to the north, is completely empty. There seems to be some sort of message scrawled in the sawdust on the floor. The foyer is back to the north.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"1."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Examine the message.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#message"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"2."),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go north.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"link"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#foyer"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"## message")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":::switch")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `scuffled < 2`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," The message, neatly marked in the sawdust, reads...")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You have won!")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `true`")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," The message has been carelessly trampled, making it difficult to read. You can just distinguish the words...")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You have lost.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"*"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," The End.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"---")])])])],-1);function o(c,g,y,F,u,C){const a=l("md-example");return k(),e("div",null,[E,d,h(a,null,{default:t(()=>[p]),_:1})])}const x=n(r,[["render",o]]);export{B as __pageData,x as default}; diff --git a/assets/grammar.md.CpkZ6GwH.js b/assets/grammar.md.CpkZ6GwH.js new file mode 100644 index 0000000..6ad20ca --- /dev/null +++ b/assets/grammar.md.CpkZ6GwH.js @@ -0,0 +1 @@ +import{_ as a,c as i,o as s,a4 as e}from"./chunks/framework.tOI-YKg8.js";const g=JSON.parse('{"title":"Brocatel Markdown Grammar Spec","description":"","frontmatter":{},"headers":[],"relativePath":"grammar.md","filePath":"grammar.md"}'),n={name:"grammar.md"},t=e('<h1 id="brocatel-markdown-grammar-spec" tabindex="-1">Brocatel Markdown Grammar Spec <a class="header-anchor" href="#brocatel-markdown-grammar-spec" aria-label="Permalink to "Brocatel Markdown Grammar Spec"">​</a></h1><h2 id="texts" tabindex="-1">Texts <a class="header-anchor" href="#texts" aria-label="Permalink to "Texts"">​</a></h2><ul><li>Usage: Same as texts in Markdown: if the text does not match any spec below, then it is a text.</li><li>Semantics: Texts.</li></ul><h2 id="comments" tabindex="-1">Comments <a class="header-anchor" href="#comments" aria-label="Permalink to "Comments"">​</a></h2><ul><li><p>Usage: Similar to HTML/XML comments since Markdown does not provide a comment grammar.</p></li><li><p>Semantics: Comments.</p><ul><li><p><code><!-- comment --></code>.</p></li><li><p>One may also use Lua comments in Lua code blocks if they find it convenient:</p><p><code>`-- comment`</code></p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">```lua</span></span>\n<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">--[[</span></span>\n<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> comment</span></span>\n<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">]]--</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">```</span></span></code></pre></div></li></ul></li></ul><h3 id="tags" tabindex="-1">Tags <a class="header-anchor" href="#tags" aria-label="Permalink to "Tags"">​</a></h3><ul><li><p>Usage: Prefixes the text with an inline directive to tag the text.</p></li><li><p>Semantics: Attaches extra info to the text to be used by external programs.</p><ul><li><code>:tag Text</code>.</li><li><code>:tag[value] Text</code>.</li></ul></li></ul><h3 id="interpolation" tabindex="-1">Interpolation <a class="header-anchor" href="#interpolation" aria-label="Permalink to "Interpolation"">​</a></h3><ul><li><p>Usage: Use Lua code in MDX expressions to interpolate the text with Lua values.</p></li><li><p>Semantics: The MDX expression is evaluated in the context of the current routine.</p><ul><li><code>1 + 1 is { 1 + 1 }</code> evaluates to <code>1 + 1 is 2</code>.</li></ul></li></ul><h3 id="marking-plural-variables-for-gettext" tabindex="-1">Marking Plural Variables For Gettext <a class="header-anchor" href="#marking-plural-variables-for-gettext" aria-label="Permalink to "Marking Plural Variables For Gettext"">​</a></h3><ul><li><p>Usage: Adds a <code>?</code> in the MDX expression to mark the variable that affects the plural forms of words in the text.</p></li><li><p>Semantics: The variable is marked for Gettext for easier I18N.</p><ul><li><code>You have { 1 + 1 ?} apples.</code> will generate a <code>msgid_plural</code> entry in the POT file so that the translation can be done in a better way.</li></ul></li></ul><h2 id="headings" tabindex="-1">Headings <a class="header-anchor" href="#headings" aria-label="Permalink to "Headings"">​</a></h2><ul><li>Usage: Same as headings in Markdown.</li><li>Semantics: A heading defines an anchor that a link can jump to.</li></ul><h3 id="routine-definitions" tabindex="-1">Routine Definitions <a class="header-anchor" href="#routine-definitions" aria-label="Permalink to "Routine Definitions"">​</a></h3><ul><li><p>Usage: A heading that contains a MDX expression.</p></li><li><p>Semantics: A routine definition defines a routine. The string in the MDX expression is treated as routine-local variable names.</p><ul><li><code>## heading 1 {}</code> defines a routine named <code>heading-1</code>.</li><li><code>## heading 1 { var1 }</code> defines a routine named <code>heading-1</code> with a routine-local variable <code>var1</code>.</li></ul></li></ul><h2 id="links-routine-calls" tabindex="-1">Links & Routine Calls <a class="header-anchor" href="#links-routine-calls" aria-label="Permalink to "Links & Routine Calls"">​</a></h2><ul><li><p>Usage: Mostly the same as links in Markdown.</p><p>If the link looks like a "normal" link (e.g. begins with <code>https</code>), the compiler treats the link as it.</p></li><li><p>Semantics: A link either directs the story flow to a certain heading or calls a routine.</p><ul><li><code>[](#heading-1)</code> jumps to the heading <code>heading-1</code> if the heading is not a routine. Otherwise, it calls the routine <code>heading-1</code>.</li><li><code>[{ var1 = 1 }](#heading-1)</code> calls the routine <code>heading-1</code> with the routine-local variable <code>var1</code> set to <code>1</code>.</li><li><code>[](another.md#heading-1)</code> similarly calls/jumps to story in <code>another.md</code> with the heading <code>heading-1</code>. This allows splitting a story into multiple files. No manual file linking is needed.</li></ul></li></ul><h2 id="lua-evaluation" tabindex="-1">Lua Evaluation <a class="header-anchor" href="#lua-evaluation" aria-label="Permalink to "Lua Evaluation"">​</a></h2><h3 id="compile-time-evaluation" tabindex="-1">Compile-Time Evaluation <a class="header-anchor" href="#compile-time-evaluation" aria-label="Permalink to "Compile-Time Evaluation"">​</a></h3><ul><li><p>Usage: A code block with its meta string set to <code>macro</code>.</p></li><li><p>Semantics: The code block is evaluated at compile-time to extend the compiler with macros, etc.</p><ul><li><p>For example,</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">```lua macro</span></span>\n<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> hello_world</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">()</span></span>\n<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> md.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">paragraph</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({ md.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">text</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"hello world from a macro"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) })</span></span>\n<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">end</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">```</span></span></code></pre></div><p>defines a macro <code>hello_world</code> that returns a Markdown paragraph with the text.</p></li></ul></li></ul><h3 id="runtime-evaluation" tabindex="-1">Runtime Evaluation <a class="header-anchor" href="#runtime-evaluation" aria-label="Permalink to "Runtime Evaluation"">​</a></h3><h4 id="global-lua-evaluation" tabindex="-1">Global Lua Evaluation <a class="header-anchor" href="#global-lua-evaluation" aria-label="Permalink to "Global Lua Evaluation"">​</a></h4><ul><li><p>Usage: A code block with its meta string set to <code>global</code>.</p></li><li><p>Semantics: The code block is evaluated at runtime when loading the story.</p><ul><li><p>For example,</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">```lua global</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">player_name </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Alice"</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">initial_score </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 0</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">```</span></span></code></pre></div><p>initializes the global state.</p></li></ul></li></ul><h4 id="local-lua-evaluation" tabindex="-1">Local Lua Evaluation <a class="header-anchor" href="#local-lua-evaluation" aria-label="Permalink to "Local Lua Evaluation"">​</a></h4><ul><li><p>Usage: Inline code snippets on a single line or Lua code blocks.</p></li><li><p>Semantics: These Lua code is run when the story passes through the code block.</p><ul><li><p><code>`v = 1`</code> sets the variable <code>v</code> to <code>1</code>, which is the same as:</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">```lua</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">v </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">```</span></span></code></pre></div></li></ul></li></ul><h4 id="conditional-execution" tabindex="-1">Conditional Execution <a class="header-anchor" href="#conditional-execution" aria-label="Permalink to "Conditional Execution"">​</a></h4><ul><li><p>Usage: A paragraph starts with a inline code snippet, following by texts.</p></li><li><p>Semantics: The snippet is evaluated as Lua code, and if the result is true, the paragraph is show as texts.</p><ul><li><p><code> `score == 100` You win!</code></p><p>If the variable <code>score</code> is equal to <code>100</code>, the paragraph is shown.</p></li></ul></li></ul><h4 id="lua-runtime-environment" tabindex="-1">Lua Runtime Environment <a class="header-anchor" href="#lua-runtime-environment" aria-label="Permalink to "Lua Runtime Environment"">​</a></h4><p>See <a href="./arch.html">arch.md</a>.</p><h2 id="macro-usage" tabindex="-1">Macro Usage <a class="header-anchor" href="#macro-usage" aria-label="Permalink to "Macro Usage"">​</a></h2><ul><li><p>Usage: A customized Markdown grammar:</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::macro_name </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">`extra info`</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Macro specific argument 1</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Macro specific argument 2</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ...</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> :::nested_macro</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> -</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Correct indentation is needed.</span></span></code></pre></div></li></ul><h4 id="built-in-macros" tabindex="-1">Built-In Macros <a class="header-anchor" href="#built-in-macros" aria-label="Permalink to "Built-In Macros"">​</a></h4><p>The <code>if</code>, <code>do</code>, <code>local</code> and <code>nil</code> macros are implemented by the JS/TS compiler, whose names are intentionally selected be Lua keywords to avoid conflicts with the user-defined macros.</p><ul><li><p><code>if</code>: Extended form of the <code>`condition` Text.</code> grammar with an <code>else</code> branch.</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::if </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">`score == 100`</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> You win!</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> You lose. (The else branch here.)</span></span></code></pre></div></li><li><p><code>do</code>: Calls a Lua function, passing the arguments specified in the list.</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::do </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">`function_name`</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Argument 1</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Argument 2</span></span></code></pre></div></li><li><p><code>local</code>: A quoted block of text, useful to avoid conflicting heading levels, mostly used by macros.</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;--shiki-light-font-weight:bold;--shiki-dark-font-weight:bold;"># heading-1</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::local</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;--shiki-light-font-weight:bold;--shiki-dark-font-weight:bold;"> # heading-1</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> No heading name conflict.</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> :::local</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> -</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Nesting allowed.</span></span></code></pre></div></li><li><p><code>nil</code>: Ask the compiler to treat the arguments as plain Markdown.</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::nil</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> `this is no more Lua expression but a Markdown code snippet`</span></span></code></pre></div></li></ul><p>The following macros are also built-in macros, but instead implemented in Lua as examples of custom macros. See <code>mdc/src/macros/builtin.lua</code> for details.</p><ul><li><p><code>loop</code>: Repeatedly executes part of the story.</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::loop </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">`label`</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Text 1.</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Text 2.</span></span></code></pre></div></li><li><p><code>switch</code>: Evaluates an expression, and executes the corresponding case.</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::switch </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">`a = 100`</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> `a == 0`</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Result: 0</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> `0 < a and a < 100`</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Result: 1~99</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> `a == 100`</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Result: 100</span></span></code></pre></div></li></ul><h2 id="threads-coroutine-grammar" tabindex="-1">Threads & Coroutine Grammar <a class="header-anchor" href="#threads-coroutine-grammar" aria-label="Permalink to "Threads & Coroutine Grammar"">​</a></h2><h3 id="coroutine" tabindex="-1">Coroutine <a class="header-anchor" href="#coroutine" aria-label="Permalink to "Coroutine"">​</a></h3><ul><li><p>Usage: Use <code>> [](#routine)</code> to create a coroutine.</p><p>If a coroutine runs to the end, one of the remaining threads will be selected as the next thread to run. If there is none, the story ends.</p></li></ul>',39),l=[t];function o(h,p,r,d,c,k){return s(),i("div",null,l)}const m=a(n,[["render",o]]);export{g as __pageData,m as default}; diff --git a/assets/grammar.md.CpkZ6GwH.lean.js b/assets/grammar.md.CpkZ6GwH.lean.js new file mode 100644 index 0000000..43d4df4 --- /dev/null +++ b/assets/grammar.md.CpkZ6GwH.lean.js @@ -0,0 +1 @@ +import{_ as a,c as i,o as s,a4 as e}from"./chunks/framework.tOI-YKg8.js";const g=JSON.parse('{"title":"Brocatel Markdown Grammar Spec","description":"","frontmatter":{},"headers":[],"relativePath":"grammar.md","filePath":"grammar.md"}'),n={name:"grammar.md"},t=e("",39),l=[t];function o(h,p,r,d,c,k){return s(),i("div",null,l)}const m=a(n,[["render",o]]);export{g as __pageData,m as default}; diff --git a/assets/index.md.DUZFSUlD.js b/assets/index.md.DUZFSUlD.js new file mode 100644 index 0000000..a0aa192 --- /dev/null +++ b/assets/index.md.DUZFSUlD.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as a}from"./chunks/framework.tOI-YKg8.js";const u=JSON.parse(`{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Brocatel","text":"Embeddable Scripting Language for Interactive Storytelling","tagline":"In Markdown and Lua","actions":[{"theme":"brand","text":"Getting Started","link":"/tutorial"},{"theme":"alt","text":"Road Map","link":"/roadmap"}]},"features":[{"title":"Easy to Use","details":"It is just Markdown (with Lua variables).\\nFamiliar with Markdown headings, links and lists?\\nYou're good to go!\\n"},{"title":"Portable","details":"<a href=\\"https://www.lua.org/about.html\\">Lua</a> being Lua,\\nit runs on most devices that you can possibly imagine,\\neven in browsers and consoles.\\n"},{"title":"Localization","details":"Designed with internalization needs in mind. A context-rich\\n<a href=\\"https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html\\">POT file</a>\\nis generated upon compilation for integration with\\n<a href=\\"https://www.gnu.org/software/gettext/\\">GNU gettext</a>.\\n"},{"title":"Fully Customizable","details":"The macro system allows literally any compile-time manipulation\\nof the Markdown structure.\\n"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}`),n={name:"index.md"};function i(o,r,s,l,d,m){return a(),e("div")}const h=t(n,[["render",i]]);export{u as __pageData,h as default}; diff --git a/assets/index.md.DUZFSUlD.lean.js b/assets/index.md.DUZFSUlD.lean.js new file mode 100644 index 0000000..a0aa192 --- /dev/null +++ b/assets/index.md.DUZFSUlD.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as a}from"./chunks/framework.tOI-YKg8.js";const u=JSON.parse(`{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Brocatel","text":"Embeddable Scripting Language for Interactive Storytelling","tagline":"In Markdown and Lua","actions":[{"theme":"brand","text":"Getting Started","link":"/tutorial"},{"theme":"alt","text":"Road Map","link":"/roadmap"}]},"features":[{"title":"Easy to Use","details":"It is just Markdown (with Lua variables).\\nFamiliar with Markdown headings, links and lists?\\nYou're good to go!\\n"},{"title":"Portable","details":"<a href=\\"https://www.lua.org/about.html\\">Lua</a> being Lua,\\nit runs on most devices that you can possibly imagine,\\neven in browsers and consoles.\\n"},{"title":"Localization","details":"Designed with internalization needs in mind. A context-rich\\n<a href=\\"https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html\\">POT file</a>\\nis generated upon compilation for integration with\\n<a href=\\"https://www.gnu.org/software/gettext/\\">GNU gettext</a>.\\n"},{"title":"Fully Customizable","details":"The macro system allows literally any compile-time manipulation\\nof the Markdown structure.\\n"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}`),n={name:"index.md"};function i(o,r,s,l,d,m){return a(),e("div")}const h=t(n,[["render",i]]);export{u as __pageData,h as default}; diff --git a/assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2 b/assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2 new file mode 100644 index 0000000..2a68729 Binary files /dev/null and b/assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2 differ diff --git a/assets/inter-italic-cyrillic.D6csxwjC.woff2 b/assets/inter-italic-cyrillic.D6csxwjC.woff2 new file mode 100644 index 0000000..f640351 Binary files /dev/null and b/assets/inter-italic-cyrillic.D6csxwjC.woff2 differ diff --git a/assets/inter-italic-greek-ext.CHOfFY1k.woff2 b/assets/inter-italic-greek-ext.CHOfFY1k.woff2 new file mode 100644 index 0000000..0021896 Binary files /dev/null and b/assets/inter-italic-greek-ext.CHOfFY1k.woff2 differ diff --git a/assets/inter-italic-greek.9J96vYpw.woff2 b/assets/inter-italic-greek.9J96vYpw.woff2 new file mode 100644 index 0000000..71c265f Binary files /dev/null and b/assets/inter-italic-greek.9J96vYpw.woff2 differ diff --git a/assets/inter-italic-latin-ext.BGcWXLrn.woff2 b/assets/inter-italic-latin-ext.BGcWXLrn.woff2 new file mode 100644 index 0000000..9c1b944 Binary files /dev/null and b/assets/inter-italic-latin-ext.BGcWXLrn.woff2 differ diff --git a/assets/inter-italic-latin.DbsTr1gm.woff2 b/assets/inter-italic-latin.DbsTr1gm.woff2 new file mode 100644 index 0000000..01fcf20 Binary files /dev/null and b/assets/inter-italic-latin.DbsTr1gm.woff2 differ diff --git a/assets/inter-italic-vietnamese.DHNAd7Wr.woff2 b/assets/inter-italic-vietnamese.DHNAd7Wr.woff2 new file mode 100644 index 0000000..e4f788e Binary files /dev/null and b/assets/inter-italic-vietnamese.DHNAd7Wr.woff2 differ diff --git a/assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2 b/assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2 new file mode 100644 index 0000000..28593cc Binary files /dev/null and b/assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2 differ diff --git a/assets/inter-roman-cyrillic.CMhn1ESj.woff2 b/assets/inter-roman-cyrillic.CMhn1ESj.woff2 new file mode 100644 index 0000000..a20adc1 Binary files /dev/null and b/assets/inter-roman-cyrillic.CMhn1ESj.woff2 differ diff --git a/assets/inter-roman-greek-ext.D0mI3NpI.woff2 b/assets/inter-roman-greek-ext.D0mI3NpI.woff2 new file mode 100644 index 0000000..e3b0be7 Binary files /dev/null and b/assets/inter-roman-greek-ext.D0mI3NpI.woff2 differ diff --git a/assets/inter-roman-greek.JvnBZ4YD.woff2 b/assets/inter-roman-greek.JvnBZ4YD.woff2 new file mode 100644 index 0000000..f790e04 Binary files /dev/null and b/assets/inter-roman-greek.JvnBZ4YD.woff2 differ diff --git a/assets/inter-roman-latin-ext.ZlYT4o7i.woff2 b/assets/inter-roman-latin-ext.ZlYT4o7i.woff2 new file mode 100644 index 0000000..715bd90 Binary files /dev/null and b/assets/inter-roman-latin-ext.ZlYT4o7i.woff2 differ diff --git a/assets/inter-roman-latin.Bu8hRsVA.woff2 b/assets/inter-roman-latin.Bu8hRsVA.woff2 new file mode 100644 index 0000000..a540b7a Binary files /dev/null and b/assets/inter-roman-latin.Bu8hRsVA.woff2 differ diff --git a/assets/inter-roman-vietnamese.ClpjcLMQ.woff2 b/assets/inter-roman-vietnamese.ClpjcLMQ.woff2 new file mode 100644 index 0000000..5a9f9cb Binary files /dev/null and b/assets/inter-roman-vietnamese.ClpjcLMQ.woff2 differ diff --git a/assets/playground.md._s8Bnijm.js b/assets/playground.md._s8Bnijm.js new file mode 100644 index 0000000..7799082 --- /dev/null +++ b/assets/playground.md._s8Bnijm.js @@ -0,0 +1 @@ +import{h as r,E as c,c as i,J as d,w as p,o as m,m as e}from"./chunks/framework.tOI-YKg8.js";const h=e("div",{class:"language-markdown vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"markdown"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Hello World!")])])])],-1),f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"playground.md","filePath":"playground.md"}'),u={name:"playground.md"},k=Object.assign(u,{setup(_){var o,l;const a=r("");if(!((l=(o=import.meta)==null?void 0:o.env)!=null&&l.SSR)){const t=new URLSearchParams(location.search).get("url");t&&(a.value=`Loading stories from \`${t.replace("`","`")}\`...`,fetch(t).then(s=>s.text()).then(s=>{a.value=s}).catch(()=>{a.value="Failed to load stories"}))}return(t,s)=>{const n=c("md-example");return m(),i("div",null,[d(n,{markdown:a.value},{default:p(()=>[h]),_:1},8,["markdown"])])}}});export{f as __pageData,k as default}; diff --git a/assets/playground.md._s8Bnijm.lean.js b/assets/playground.md._s8Bnijm.lean.js new file mode 100644 index 0000000..7799082 --- /dev/null +++ b/assets/playground.md._s8Bnijm.lean.js @@ -0,0 +1 @@ +import{h as r,E as c,c as i,J as d,w as p,o as m,m as e}from"./chunks/framework.tOI-YKg8.js";const h=e("div",{class:"language-markdown vp-adaptive-theme"},[e("button",{title:"Copy Code",class:"copy"}),e("span",{class:"lang"},"markdown"),e("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[e("code",null,[e("span",{class:"line"},[e("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Hello World!")])])])],-1),f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"playground.md","filePath":"playground.md"}'),u={name:"playground.md"},k=Object.assign(u,{setup(_){var o,l;const a=r("");if(!((l=(o=import.meta)==null?void 0:o.env)!=null&&l.SSR)){const t=new URLSearchParams(location.search).get("url");t&&(a.value=`Loading stories from \`${t.replace("`","`")}\`...`,fetch(t).then(s=>s.text()).then(s=>{a.value=s}).catch(()=>{a.value="Failed to load stories"}))}return(t,s)=>{const n=c("md-example");return m(),i("div",null,[d(n,{markdown:a.value},{default:p(()=>[h]),_:1},8,["markdown"])])}}});export{f as __pageData,k as default}; diff --git a/assets/roadmap.md.BXrdG_DE.js b/assets/roadmap.md.BXrdG_DE.js new file mode 100644 index 0000000..deb205d --- /dev/null +++ b/assets/roadmap.md.BXrdG_DE.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as i,a4 as l}from"./chunks/framework.tOI-YKg8.js";const k=JSON.parse('{"title":"Brocatel Roadmap","description":"","frontmatter":{},"headers":[],"relativePath":"roadmap.md","filePath":"roadmap.md"}'),t={name:"roadmap.md"},o=l('<h1 id="brocatel-roadmap" tabindex="-1">Brocatel Roadmap <a class="header-anchor" href="#brocatel-roadmap" aria-label="Permalink to "Brocatel Roadmap"">​</a></h1><h2 id="v0-x-x" tabindex="-1"><code>v0.X.X</code> <a class="header-anchor" href="#v0-x-x" aria-label="Permalink to "`v0.X.X`"">​</a></h2><p>We do not plan to follow <a href="https://semver.org/" target="_blank" rel="noreferrer">Semantic Versioning</a> at this stage, since drastic change in our Markdown grammar is expected (and personally I don't feel like large commits).</p><h3 id="v0-1-0" tabindex="-1"><code>v0.1.0</code> <a class="header-anchor" href="#v0-1-0" aria-label="Permalink to "`v0.1.0`"">​</a></h3><p>Single-threaded virtual machine implementation:</p><ul><li>[X] VM skeleton with delayed root node loading and array walking capabilities.</li><li>[X] Label and link support in the VM. <ul><li>[X] A label should also serve as a text pointer.</li></ul></li><li>[X] Global environment and if-else call support.</li><li>[X] Function call support.</li><li>[X] Tagged text support and Gettext API design.</li><li>[X] User input (options) support.</li><li>[X] Save data saving & loading.</li></ul><h3 id="v0-2-0" tabindex="-1"><code>v0.2.0</code> <a class="header-anchor" href="#v0-2-0" aria-label="Permalink to "`v0.2.0`"">​</a></h3><p>Markdown compiler implementation:</p><ul><li>[X] Plain text nodes.</li><li>[X] Tagged text nodes.</li><li>[X] Links. <ul><li>[X] Compile-time link validity checking.</li></ul></li><li>[X] Options. <ul><li>[X] Rework to allow show-once options.</li></ul></li><li>[X] Function calls.</li><li>[X] Labels. <ul><li>Compile-time label validity check: No need since we check links?</li></ul></li><li>[X] Macros.</li><li>[X] Debug info generation.</li></ul><h3 id="v0-3-0" tabindex="-1"><code>v0.3.0</code> <a class="header-anchor" href="#v0-3-0" aria-label="Permalink to "`v0.3.0`"">​</a></h3><h4 id="runtime-api-design" tabindex="-1">Runtime API design. <a class="header-anchor" href="#runtime-api-design" aria-label="Permalink to "Runtime API design."">​</a></h4><ul><li>[X] API naming convention (maybe all-capital to avoid name conflicts with user labels): ALL CAPITALS & some Lua reserved words. <ul><li>[X] Make API values read-only.</li><li>[ ] More API. <ul><li>[X] <code>BREAK</code> or <code>EXIT</code> or <strong><code>END</code></strong> for loops.<div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::loop </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">`loop_name`</span></span>\n<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> A</span></span>\n<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> `END(loop_name)`</span></span></code></pre></div><ul><li>[X] Syntax sugar: <code>---</code> for <code>END()</code> (we are going to use it for function calls)</li></ul></li><li>[ ] Search for TODO in <a href="./arch.html">arch.md</a>.</li></ul></li></ul></li><li>[X] IP (instruction pointer) access.</li><li>[X] Label access counter. <ul><li>[X] Label fuzzy lookup.<div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;--shiki-light-font-weight:bold;--shiki-dark-font-weight:bold;"># Markdown Examples</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[](</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;--shiki-light-text-decoration:underline;--shiki-dark-text-decoration:underline;">#markdown-examples</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div>(This allows running <code>README.md</code> from most repositories.)</li><li>[X] Exclude normal links like <code>[Wikipedia](https://...)</code>.</li></ul></li><li>[X] Show-once options, show-forever options and show-N-times options. <ul><li>[X] Data save API (allow functions to attach data to the current IP or any path).</li></ul></li><li>[X] Add caching layer. <ul><li>[X] Cache output to provide idempotency.</li><li>[X] Cache user input.</li></ul></li><li>[X] IFID: use frontmatter to include <a href="https://www.ifwiki.org/IFID" target="_blank" rel="noreferrer">IFIDs</a> for stories.</li></ul><h4 id="integration-examples" tabindex="-1">Integration examples <a class="header-anchor" href="#integration-examples" aria-label="Permalink to "Integration examples"">​</a></h4><ul><li>[ ] Save & load. <ul><li>[X] API.</li></ul></li><li>[ ] Fast-forward (skipping only texts that users have read).</li><li>[ ] Complete porting The Intercept, which is a little bit lengthy.</li></ul><h3 id="v0-4-0" tabindex="-1"><code>v0.4.0</code> <a class="header-anchor" href="#v0-4-0" aria-label="Permalink to "`v0.4.0`"">​</a></h3><p>Multi-thread (not <em>those</em> threads) support:</p><ul><li>[ ] Multi-thread API design. <ul><li>[X] Replace the quote grammar (<code>> text</code>) with a macro (maybe named <code>then</code>?).</li><li>[ ] Use <code>></code> to signify thread-related operations.</li></ul></li><li>[ ] Multi-thread API implementation and thread-local variable support.</li><li>[ ] Story call and local variable support. <ul><li>[X] Function stack: call and return.</li><li>[X] Tail call support: jump to elsewhere, popping up a stack frame.</li><li>[ ] Compiler error: forbid jumping from inside of a function.</li></ul></li><li>[ ] Coroutine support.</li></ul><p>Some clarifications:</p><ul><li>With <strong>threads</strong>, you may build games (with <em>lots</em> of tweaks, of course) like <a href="https://en.wikipedia.org/wiki/428:_Shibuya_Scramble" target="_blank" rel="noreferrer">428: Shibuya Scramble</a>, where multiple threads of stories interweaves.</li><li>With <strong>coroutines</strong>, you may construct conversations where people talk about multiple things simultaneously, just like <a href="https://github.com/inkle/ink/blob/master/Documentation/WritingWithInk.md#2-threads" target="_blank" rel="noreferrer"><em>threads</em> in Ink</a>.</li><li><strong>Story calls</strong> are just function calls for plots.</li></ul><h3 id="v0-5-0-and-on" tabindex="-1"><code>v0.5.0</code> and on <a class="header-anchor" href="#v0-5-0-and-on" aria-label="Permalink to "`v0.5.0` and on"">​</a></h3><p>Bug fixes and Markdown grammar optimization.</p><p>Documentation, tutorials, etc.</p><ul><li>[ ] Porting <a href="https://github.com/inkle/the-intercept/blob/master/Assets/Ink/TheIntercept.ink" target="_blank" rel="noreferrer">The Intercept</a>.</li><li>[X] Porting <a href="./cloak.html">Cloak of Darkness</a>.</li><li>[ ] Follow suit: <a href="https://www.inklestudios.com/ink/web-tutorial/" target="_blank" rel="noreferrer">Tutorial for Ink</a> (better still if interactive).</li><li>[ ] IDE implementation (or probably just a VS Code plugin with language server protocol implementation).</li><li>[ ] Frontend implementation, so that one can easily publish their IF online. <ul><li>[ ] Choice-based stories.</li><li>[ ] A bit parser-like frontend.</li></ul></li></ul><h2 id="v1-0-0" tabindex="-1"><code>v1.0.0</code> <a class="header-anchor" href="#v1-0-0" aria-label="Permalink to "`v1.0.0`"">​</a></h2><p>Let's start <a href="https://semver.org/" target="_blank" rel="noreferrer">Semantic Versioning</a>.</p>',25),n=[o];function r(s,d,c,h,p,u){return i(),a("div",null,n)}const g=e(t,[["render",r]]);export{k as __pageData,g as default}; diff --git a/assets/roadmap.md.BXrdG_DE.lean.js b/assets/roadmap.md.BXrdG_DE.lean.js new file mode 100644 index 0000000..484c3b6 --- /dev/null +++ b/assets/roadmap.md.BXrdG_DE.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as i,a4 as l}from"./chunks/framework.tOI-YKg8.js";const k=JSON.parse('{"title":"Brocatel Roadmap","description":"","frontmatter":{},"headers":[],"relativePath":"roadmap.md","filePath":"roadmap.md"}'),t={name:"roadmap.md"},o=l("",25),n=[o];function r(s,d,c,h,p,u){return i(),a("div",null,n)}const g=e(t,[["render",r]]);export{k as __pageData,g as default}; diff --git a/assets/style.D4Ig3dz1.css b/assets/style.D4Ig3dz1.css new file mode 100644 index 0000000..7fcb7e8 --- /dev/null +++ b/assets/style.D4Ig3dz1.css @@ -0,0 +1 @@ +@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/brocatel/assets/inter-roman-cyrillic.CMhn1ESj.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/brocatel/assets/inter-roman-cyrillic-ext.DxP3Awbn.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/brocatel/assets/inter-roman-greek.JvnBZ4YD.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/brocatel/assets/inter-roman-greek-ext.D0mI3NpI.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/brocatel/assets/inter-roman-latin.Bu8hRsVA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/brocatel/assets/inter-roman-latin-ext.ZlYT4o7i.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/brocatel/assets/inter-roman-vietnamese.ClpjcLMQ.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/brocatel/assets/inter-italic-cyrillic.D6csxwjC.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/brocatel/assets/inter-italic-cyrillic-ext.5XJwZIOp.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/brocatel/assets/inter-italic-greek.9J96vYpw.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/brocatel/assets/inter-italic-greek-ext.CHOfFY1k.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/brocatel/assets/inter-italic-latin.DbsTr1gm.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/brocatel/assets/inter-italic-latin-ext.BGcWXLrn.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/brocatel/assets/inter-italic-vietnamese.DHNAd7Wr.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-05762e2e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-05762e2e],.VPBackdrop.fade-leave-to[data-v-05762e2e]{opacity:0}.VPBackdrop.fade-leave-active[data-v-05762e2e]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-05762e2e]{display:none}}.NotFound[data-v-0c65f488]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-0c65f488]{padding:96px 32px 168px}}.code[data-v-0c65f488]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-0c65f488]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-0c65f488]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-0c65f488]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-0c65f488]{padding-top:20px}.link[data-v-0c65f488]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-0c65f488]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-6cb559f2]{position:relative;z-index:1}.nested[data-v-6cb559f2]{padding-right:16px;padding-left:16px}.outline-link[data-v-6cb559f2]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-6cb559f2]:hover,.outline-link.active[data-v-6cb559f2]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-6cb559f2]{padding-left:13px}.VPDocAsideOutline[data-v-131f5528]{display:none}.VPDocAsideOutline.has-outline[data-v-131f5528]{display:block}.content[data-v-131f5528]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-131f5528]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-131f5528]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-46f46991]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-46f46991]{flex-grow:1}.VPDocAside[data-v-46f46991] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-46f46991] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-46f46991] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-22357e41]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-22357e41]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-8bf99fe7]{margin-top:64px}.edit-info[data-v-8bf99fe7]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-8bf99fe7]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-8bf99fe7]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-8bf99fe7]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-8bf99fe7]{margin-right:8px}.prev-next[data-v-8bf99fe7]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-8bf99fe7]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-8bf99fe7]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-8bf99fe7]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-8bf99fe7]{margin-left:auto;text-align:right}.desc[data-v-8bf99fe7]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-8bf99fe7]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-324ef281]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-324ef281]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-324ef281]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-324ef281]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-324ef281]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-324ef281]{display:flex;justify-content:center}.VPDoc .aside[data-v-324ef281]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-324ef281]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-324ef281]{max-width:1104px}}.container[data-v-324ef281]{margin:0 auto;width:100%}.aside[data-v-324ef281]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-324ef281]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-324ef281]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-324ef281]::-webkit-scrollbar{display:none}.aside-curtain[data-v-324ef281]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-324ef281]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-324ef281]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-324ef281]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-324ef281]{order:1;margin:0;min-width:640px}}.content-container[data-v-324ef281]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-324ef281]{max-width:688px}.VPButton[data-v-d970c57e]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-d970c57e]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-d970c57e]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-d970c57e]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-d970c57e]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-d970c57e]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-d970c57e]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-d970c57e]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-d970c57e]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-d970c57e]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-d970c57e]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-d970c57e]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-d970c57e]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-8b2d1499]{display:none}.dark .VPImage.light[data-v-8b2d1499]{display:none}.VPHero[data-v-67914ef4]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-67914ef4]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-67914ef4]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-67914ef4]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-67914ef4]{flex-direction:row}}.main[data-v-67914ef4]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-67914ef4]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-67914ef4]{text-align:left}}@media (min-width: 960px){.main[data-v-67914ef4]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-67914ef4]{max-width:592px}}.name[data-v-67914ef4],.text[data-v-67914ef4]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-67914ef4],.VPHero.has-image .text[data-v-67914ef4]{margin:0 auto}.name[data-v-67914ef4]{color:var(--vp-home-hero-name-color)}.clip[data-v-67914ef4]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-67914ef4],.text[data-v-67914ef4]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-67914ef4],.text[data-v-67914ef4]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-67914ef4],.VPHero.has-image .text[data-v-67914ef4]{margin:0}}.tagline[data-v-67914ef4]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-67914ef4]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-67914ef4]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-67914ef4]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-67914ef4]{margin:0}}.actions[data-v-67914ef4]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-67914ef4]{justify-content:center}@media (min-width: 640px){.actions[data-v-67914ef4]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-67914ef4]{justify-content:flex-start}}.action[data-v-67914ef4]{flex-shrink:0;padding:6px}.image[data-v-67914ef4]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-67914ef4]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-67914ef4]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-67914ef4]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-67914ef4]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-67914ef4]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-67914ef4]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-67914ef4]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-67914ef4]{width:320px;height:320px}}[data-v-67914ef4] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-67914ef4] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-67914ef4] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-12915697]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-12915697]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-12915697]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-12915697]>.VPImage{margin-bottom:20px}.icon[data-v-12915697]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-12915697]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-12915697]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-12915697]{padding-top:8px}.link-text-value[data-v-12915697]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-12915697]{margin-left:6px}.VPFeatures[data-v-9bf7213a]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-9bf7213a]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-9bf7213a]{padding:0 64px}}.container[data-v-9bf7213a]{margin:0 auto;max-width:1152px}.items[data-v-9bf7213a]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-9bf7213a]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-9bf7213a],.item.grid-4[data-v-9bf7213a],.item.grid-6[data-v-9bf7213a]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-9bf7213a],.item.grid-4[data-v-9bf7213a]{width:50%}.item.grid-3[data-v-9bf7213a],.item.grid-6[data-v-9bf7213a]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-9bf7213a]{width:25%}}.container[data-v-f87494e5]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-f87494e5]{padding:0 48px}}@media (min-width: 960px){.container[data-v-f87494e5]{width:100%;padding:0 64px}}.vp-doc[data-v-f87494e5] .VPHomeSponsors,.vp-doc[data-v-f87494e5] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-f87494e5] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-f87494e5] .VPHomeSponsors a,.vp-doc[data-v-f87494e5] .VPTeamPage a{text-decoration:none}.VPHome[data-v-d7ae2c1e]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-d7ae2c1e]{margin-bottom:128px}}.VPContent[data-v-7d8e7fc6]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-7d8e7fc6]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-7d8e7fc6]{margin:0}@media (min-width: 960px){.VPContent[data-v-7d8e7fc6]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-7d8e7fc6]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-7d8e7fc6]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-a2838918]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-a2838918]{display:none}.VPFooter[data-v-a2838918] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-a2838918] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-a2838918]{padding:32px}}.container[data-v-a2838918]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-a2838918],.copyright[data-v-a2838918]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-c372f01a]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-c372f01a]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-c372f01a]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-c372f01a]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-c372f01a]{color:var(--vp-c-text-1)}.icon[data-v-c372f01a]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-c372f01a]{font-size:14px}.icon[data-v-c372f01a]{font-size:16px}}.open>.icon[data-v-c372f01a]{transform:rotate(90deg)}.items[data-v-c372f01a]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-c372f01a]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-c372f01a]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-c372f01a]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-c372f01a]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-c372f01a]{transition:all .2s ease-out}.flyout-leave-active[data-v-c372f01a]{transition:all .15s ease-in}.flyout-enter-from[data-v-c372f01a],.flyout-leave-to[data-v-c372f01a]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-a5042708]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-a5042708]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-a5042708]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-a5042708]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-a5042708]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-a5042708]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-a5042708]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-a5042708]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-a5042708]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-a5042708]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-a5042708]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-a5042708]{display:none}}.menu-icon[data-v-a5042708]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-a5042708]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-a5042708]{padding:12px 32px 11px}}.VPSwitch[data-v-1831e9e8]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-1831e9e8]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-1831e9e8]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-1831e9e8]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-1831e9e8] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-1831e9e8] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-67415aa0]{opacity:1}.moon[data-v-67415aa0],.dark .sun[data-v-67415aa0]{opacity:0}.dark .moon[data-v-67415aa0]{opacity:1}.dark .VPSwitchAppearance[data-v-67415aa0] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-28db6b7e]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-28db6b7e]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-06c1d589]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-06c1d589]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-06c1d589]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-06c1d589]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-d6563914]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-d6563914]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-d6563914]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-d6563914]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-bb327cb9]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-bb327cb9] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-bb327cb9] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-bb327cb9] .group:last-child{padding-bottom:0}.VPMenu[data-v-bb327cb9] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-bb327cb9] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-bb327cb9] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-bb327cb9] .action{padding-left:24px}.VPFlyout[data-v-f549863a]{position:relative}.VPFlyout[data-v-f549863a]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-f549863a]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-f549863a]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-f549863a]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-f549863a]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-f549863a],.button[aria-expanded=true]+.menu[data-v-f549863a]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-f549863a]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-f549863a]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-f549863a]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-f549863a]{margin-right:0;font-size:16px}.text-icon[data-v-f549863a]{margin-left:4px;font-size:14px}.icon[data-v-f549863a]{font-size:20px;transition:fill .25s}.menu[data-v-f549863a]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-7063c8a9]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-7063c8a9]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-7063c8a9]>svg,.VPSocialLink[data-v-7063c8a9]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-dfab8935]{display:flex;justify-content:center}.VPNavBarExtra[data-v-386272f7]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-386272f7]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-386272f7]{display:none}}.trans-title[data-v-386272f7]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-386272f7],.item.social-links[data-v-386272f7]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-386272f7]{min-width:176px}.appearance-action[data-v-386272f7]{margin-right:-2px}.social-links-list[data-v-386272f7]{margin:-4px -8px}.VPNavBarHamburger[data-v-2b51153f]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-2b51153f]{display:none}}.container[data-v-2b51153f]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-2b51153f]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-2b51153f]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-2b51153f]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-2b51153f]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-2b51153f]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-2b51153f]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-2b51153f],.VPNavBarHamburger.active:hover .middle[data-v-2b51153f],.VPNavBarHamburger.active:hover .bottom[data-v-2b51153f]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-2b51153f],.middle[data-v-2b51153f],.bottom[data-v-2b51153f]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-2b51153f]{top:0;left:0;transform:translate(0)}.middle[data-v-2b51153f]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-2b51153f]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-c9c7a9c4]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-c9c7a9c4],.VPNavBarMenuLink[data-v-c9c7a9c4]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-3bc650c4]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-3bc650c4]{display:flex}}/*! @docsearch/css 3.6.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.30196078431372547);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}.DocSearch-Button-Key--pressed{transform:translate3d(0,1px,0);box-shadow:var(--docsearch-key-pressed-shadow)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-803cb3a6]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-803cb3a6]{display:flex;align-items:center}}.title[data-v-1e6b5250]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-1e6b5250]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-1e6b5250]{border-bottom-color:var(--vp-c-divider)}}[data-v-1e6b5250] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-2f3ba8a8]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-2f3ba8a8]{display:flex;align-items:center}}.title[data-v-2f3ba8a8]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-bd0c8613]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar[data-v-bd0c8613]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-bd0c8613]:not(.home){background-color:transparent}.VPNavBar[data-v-bd0c8613]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-bd0c8613]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-bd0c8613]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-bd0c8613]{padding:0}}.container[data-v-bd0c8613]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-bd0c8613],.container>.content[data-v-bd0c8613]{pointer-events:none}.container[data-v-bd0c8613] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-bd0c8613]{max-width:100%}}.title[data-v-bd0c8613]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-bd0c8613]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-bd0c8613]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-bd0c8613]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-bd0c8613]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-bd0c8613]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-bd0c8613]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-bd0c8613]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-bd0c8613]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-bd0c8613]{column-gap:.5rem}}.menu+.translations[data-v-bd0c8613]:before,.menu+.appearance[data-v-bd0c8613]:before,.menu+.social-links[data-v-bd0c8613]:before,.translations+.appearance[data-v-bd0c8613]:before,.appearance+.social-links[data-v-bd0c8613]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-bd0c8613]:before,.translations+.appearance[data-v-bd0c8613]:before{margin-right:16px}.appearance+.social-links[data-v-bd0c8613]:before{margin-left:16px}.social-links[data-v-bd0c8613]{margin-right:-8px}.divider[data-v-bd0c8613]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-bd0c8613]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-bd0c8613]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-bd0c8613]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-bd0c8613]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-bd0c8613]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-bd0c8613]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-65944f0a]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-65944f0a]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-135f5a23]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-135f5a23]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-5cd4ae0b]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-5cd4ae0b]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-d2fd7115]{display:block}.title[data-v-d2fd7115]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-034fc6ae]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-034fc6ae]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-034fc6ae]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-034fc6ae]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-034fc6ae]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-034fc6ae]{transform:rotate(45deg)}.button[data-v-034fc6ae]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-034fc6ae]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-034fc6ae]{transition:transform .25s}.group[data-v-034fc6ae]:first-child{padding-top:0}.group+.group[data-v-034fc6ae],.group+.item[data-v-034fc6ae]{padding-top:4px}.VPNavScreenTranslations[data-v-e3e3caac]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-e3e3caac]{height:auto}.title[data-v-e3e3caac]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-e3e3caac]{font-size:16px}.icon.lang[data-v-e3e3caac]{margin-right:8px}.icon.chevron[data-v-e3e3caac]{margin-left:4px}.list[data-v-e3e3caac]{padding:4px 0 0 24px}.link[data-v-e3e3caac]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-3d951441]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-3d951441],.VPNavScreen.fade-leave-active[data-v-3d951441]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-3d951441],.VPNavScreen.fade-leave-active .container[data-v-3d951441]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-3d951441],.VPNavScreen.fade-leave-to[data-v-3d951441]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-3d951441],.VPNavScreen.fade-leave-to .container[data-v-3d951441]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-3d951441]{display:none}}.container[data-v-3d951441]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-3d951441],.menu+.appearance[data-v-3d951441],.translations+.appearance[data-v-3d951441]{margin-top:24px}.menu+.social-links[data-v-3d951441]{margin-top:16px}.appearance+.social-links[data-v-3d951441]{margin-top:16px}.VPNav[data-v-de1dd4ca]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-de1dd4ca]{position:fixed}}.VPSidebarItem.level-0[data-v-5025e96d]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-5025e96d]{padding-bottom:10px}.item[data-v-5025e96d]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-5025e96d]{cursor:pointer}.indicator[data-v-5025e96d]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-5025e96d],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-5025e96d],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-5025e96d],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-5025e96d]{background-color:var(--vp-c-brand-1)}.link[data-v-5025e96d]{display:flex;align-items:center;flex-grow:1}.text[data-v-5025e96d]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-5025e96d]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-5025e96d],.VPSidebarItem.level-2 .text[data-v-5025e96d],.VPSidebarItem.level-3 .text[data-v-5025e96d],.VPSidebarItem.level-4 .text[data-v-5025e96d],.VPSidebarItem.level-5 .text[data-v-5025e96d]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-5025e96d],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-5025e96d],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-5025e96d],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-5025e96d],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-5025e96d],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-5025e96d]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-5025e96d],.VPSidebarItem.level-1.has-active>.item>.text[data-v-5025e96d],.VPSidebarItem.level-2.has-active>.item>.text[data-v-5025e96d],.VPSidebarItem.level-3.has-active>.item>.text[data-v-5025e96d],.VPSidebarItem.level-4.has-active>.item>.text[data-v-5025e96d],.VPSidebarItem.level-5.has-active>.item>.text[data-v-5025e96d],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-5025e96d],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-5025e96d],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-5025e96d],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-5025e96d],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-5025e96d],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-5025e96d]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-5025e96d],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-5025e96d],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-5025e96d],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-5025e96d],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-5025e96d],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-5025e96d]{color:var(--vp-c-brand-1)}.caret[data-v-5025e96d]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-5025e96d]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-5025e96d]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-5025e96d]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-5025e96d]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-5025e96d],.VPSidebarItem.level-2 .items[data-v-5025e96d],.VPSidebarItem.level-3 .items[data-v-5025e96d],.VPSidebarItem.level-4 .items[data-v-5025e96d],.VPSidebarItem.level-5 .items[data-v-5025e96d]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-5025e96d]{display:none}.VPSidebar[data-v-efae9be1]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-efae9be1]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-efae9be1]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-efae9be1]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-efae9be1]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-efae9be1]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-efae9be1]{outline:0}.group+.group[data-v-efae9be1]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-efae9be1]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-b0bf885a]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-b0bf885a]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-b0bf885a]{top:14px;left:16px}}.Layout[data-v-9621c6d4]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-ef9a3b6d]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-ef9a3b6d]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-ef9a3b6d]{margin:128px 0}}.VPHomeSponsors[data-v-ef9a3b6d]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-ef9a3b6d]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-ef9a3b6d]{padding:0 64px}}.container[data-v-ef9a3b6d]{margin:0 auto;max-width:1152px}.love[data-v-ef9a3b6d]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-ef9a3b6d]{display:inline-block}.message[data-v-ef9a3b6d]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-ef9a3b6d]{padding-top:32px}.action[data-v-ef9a3b6d]{padding-top:40px;text-align:center}.VPTeamPage[data-v-93bf8ca1]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-93bf8ca1]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-93bf8ca1-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-93bf8ca1-s],.VPTeamMembers+.VPTeamPageSection[data-v-93bf8ca1-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-93bf8ca1-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-93bf8ca1-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-93bf8ca1-s],.VPTeamMembers+.VPTeamPageSection[data-v-93bf8ca1-s]{margin-top:96px}}.VPTeamMembers[data-v-93bf8ca1-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-93bf8ca1-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-93bf8ca1-s]{padding:0 64px}}.VPTeamPageTitle[data-v-450dc4f6]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-450dc4f6]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-450dc4f6]{padding:80px 64px 48px}}.title[data-v-450dc4f6]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-450dc4f6]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-450dc4f6]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-450dc4f6]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-7dc34bf9]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-7dc34bf9]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-7dc34bf9]{padding:0 64px}}.title[data-v-7dc34bf9]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-7dc34bf9]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-7dc34bf9]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-7dc34bf9]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-7dc34bf9]{padding-top:40px}.VPTeamMembersItem[data-v-c0f740a6]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-c0f740a6]{padding:32px}.VPTeamMembersItem.small .data[data-v-c0f740a6]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-c0f740a6]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-c0f740a6]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-c0f740a6]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-c0f740a6]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-c0f740a6]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-c0f740a6]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-c0f740a6]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-c0f740a6]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-c0f740a6]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-c0f740a6]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-c0f740a6]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-c0f740a6]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-c0f740a6]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-c0f740a6]{text-align:center}.avatar[data-v-c0f740a6]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-c0f740a6]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-c0f740a6]{margin:0;font-weight:600}.affiliation[data-v-c0f740a6]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-c0f740a6]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-c0f740a6]:hover{color:var(--vp-c-brand-1)}.desc[data-v-c0f740a6]{margin:0 auto}.desc[data-v-c0f740a6] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-c0f740a6]{display:flex;justify-content:center;height:56px}.sp-link[data-v-c0f740a6]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-c0f740a6]:hover,.sp .sp-link.link[data-v-c0f740a6]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-c0f740a6]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-8bcf220b]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-8bcf220b]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-8bcf220b]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-8bcf220b]{max-width:876px}.VPTeamMembers.medium .container[data-v-8bcf220b]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-8bcf220b]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-8bcf220b]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-8bcf220b]{max-width:760px}.container[data-v-8bcf220b]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-layout-max-width: 100%}#VPContent .VPDoc.has-aside .container .content .content-container{max-width:100%}:root{--vp-c-brand: #646cff;--vp-c-brand-light: #747bff;--vp-c-brand-lighter: #9499ff;--vp-c-brand-lightest: #bcc0ff;--vp-c-brand-dark: #535bf2;--vp-c-brand-darker: #454ce1;--vp-c-brand-dimm: rgba(100, 108, 255, .08)}:root{--vp-button-brand-border: var(--vp-c-brand-light);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-light);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-button-brand-bg)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 120deg, #bd34fe 30%, #41d1ff );--vp-home-hero-image-background-image: linear-gradient( -45deg, #bd34fe 50%, #47caff 50% );--vp-home-hero-image-filter: blur(40px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(72px)}}:root{--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand-darker);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm)}.dark{--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand-lightest);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm)}.DocSearch{--docsearch-primary-color: var(--vp-c-brand) !important}.resizable-input>div[data-v-214c62d0]{display:inline-block}.resizable-input>div.placeholding[data-v-214c62d0]:after{content:var(--497750b8);display:inline;color:gray}.ProseMirror div.directive,.ProseMirror div.directive>.container,.ProseMirror div.directive>.container>div[data-node-view-content]{display:inline}.ProseMirror div.directive div[data-type=containerDirectiveLabel],.ProseMirror div.directive div[data-type=containerDirectiveLabel]>span{font-family:monospace;white-space:normal;display:inline-block}.ProseMirror div.directive div[data-type=containerDirectiveLabel]{margin-left:1em}.ProseMirror div.directive{margin-top:1em}.ProseMirror div.directive:before{content:"::: ";font-size:xx-small}.ProseMirror div.directive div[data-type=containerDirectiveLabel]:before,.ProseMirror div.directive div[data-type=containerDirectiveLabel]:after{content:"`";display:inline}.ProseMirror div.directive div[data-type=containerDirectiveLabel]>span>br{display:none}.ProseMirror div.directive div[data-type=containerDirectiveLabel]>span>br:only-child{display:inline}.ProseMirror .heading{line-height:1.2rem;font-size:1.2rem}.ProseMirror .heading div[data-node-view-content]{display:inline-block}.ProseMirror h1.heading:before{content:"# "}.ProseMirror h2.heading:before{content:"## "}.ProseMirror h3.heading:before{content:"### "}.ProseMirror h4.heading:before{content:"#### "}.ProseMirror h5.heading:before{content:"##### "}.ProseMirror h6.heading:before{content:"###### "}.ProseMirror .heading>span{margin-right:1em}.ProseMirror .show-anchor.not-prose:not(:empty):before{content:"#"}.ProseMirror .show-anchor.not-prose{font-weight:400;opacity:.8}.ProseMirror .heading+button{background:none;border:none;cursor:pointer}.ProseMirror .paragraph{padding-top:.5em;display:flex;flex-wrap:wrap}.ProseMirror .paragraph div[data-node-view-content]{display:inline-block}.ProseMirror .paragraph>div{margin:0}.ProseMirror .link>div>a:before{content:"["}.ProseMirror .link>div>a:after{content:"]"}.ProseMirror .link+span:before{content:"("}.ProseMirror .link+span:after{content:")"}.ProseMirror .link+span>input{border:none;outline:none;text-decoration:underline}.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;font-feature-settings:"liga" 0}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.ProseMirror td,.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:#c8c8ff66;pointer-events:none}.milkdown-theme-nord blockquote{border-left-width:4px;--tw-border-opacity: 1;border-color:rgb(94 129 172 / var(--tw-border-opacity));padding-left:1rem;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-style:normal}.milkdown-theme-nord code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:400;--tw-text-opacity: 1;color:rgb(94 129 172 / var(--tw-text-opacity))}.milkdown-theme-nord pre code{color:inherit}.milkdown-theme-nord img{margin-top:0!important;margin-bottom:0!important;display:inline-block;max-width:100%}.milkdown-theme-nord.prose :where(blockquote):not(:where([class~=not-prose] *)){font-weight:400}.milkdown-theme-nord.prose :where(ol>li):not(:where([class~=not-prose] *))::marker,.milkdown-theme-nord.prose :where(ul>li):not(:where([class~=not-prose] *))::marker{--tw-text-opacity: 1;color:rgb(94 129 172 / var(--tw-text-opacity))}.milkdown-theme-nord.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):before,.milkdown-theme-nord.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):after{content:""}.milkdown-theme-nord.prose :where(code):not(:where([class~=not-prose] *)):before,.milkdown-theme-nord.prose :where(code):not(:where([class~=not-prose] *)):after{content:""}.milkdown-theme-nord.prose .tableWrapper{position:relative;margin-bottom:.5rem;overflow-x:auto}.milkdown-theme-nord.prose table{margin:1rem!important;overflow:visible!important;font-size:.875rem;line-height:1.25rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.milkdown-theme-nord.prose table{border-radius:.5rem}}.milkdown-theme-nord.prose td,th{padding:.75rem 1.5rem!important}.milkdown-theme-nord.prose tr{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.dark .milkdown-theme-nord.prose tr{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.milkdown-theme-nord.prose :where(td,th) p{margin:0!important}.milkdown-theme-nord.prose :where(td,th):nth-child(odd){--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.dark .milkdown-theme-nord.prose :where(td,th):nth-child(odd){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.milkdown-theme-nord.prose.ProseMirror .selectedCell:after{background-color:#88c0d04d}.milkdown-theme-nord.prose br[data-is-inline=true],.milkdown-theme-nord.prose br[data-is-inline=true]:after{content:" "}.brocatel-editor{height:100%;overflow:auto}.brocatel-editor>.milkdown-menu{position:sticky;top:0;margin:.2em;z-index:1}.milkdown-menu>.milkdown-buttons{display:inline}.ProseMirror.outline-none{outline:2px solid transparent;outline-offset:2px}.ProseMirror div[data-node-view-root]{display:flex}.ProseMirror.milkdown-theme-nord div.paragraph code[data-type=mdxTextExpression]:before,.ProseMirror.milkdown-theme-nord .heading code[data-type=mdxTextExpression]:before{content:"{";font-size:xx-small}.ProseMirror.milkdown-theme-nord div.paragraph code[data-type=mdxTextExpression]:after,.ProseMirror.milkdown-theme-nord .heading code[data-type=mdxTextExpression]:after{content:"}";font-size:xx-small}.ProseMirror span[data-type=textDirective]:before{content:":"}.ProseMirror span[data-type=textDirective]>span[data-type=textDirectiveName]:after{content:"["}.ProseMirror span[data-type=textDirective]:after{content:"]"}.ProseMirror span[data-type=textDirective]>span[data-type=textDirectiveName],.ProseMirror span[data-type=textDirective]:before,.ProseMirror span[data-type=textDirective]:after{font-family:monospace}.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.ProseMirror-focused .ProseMirror-gapcursor{display:inline-block}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}.ProseMirror-gapcursor:after{content:"";display:inline-block;top:-2px;height:20px;border-left:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}.md-example{margin:1em 0;box-shadow:0 0 2px var(--vp-c-brand);background-color:var(--vp-c-bg);height:50vh;display:flex;flex-direction:row}.md-example>div{width:50%}.md-output{border-left:1px solid var(--vp-c-brand-dimm);margin:0;display:flex;flex-direction:column}.md-output .output-container{overflow:auto;background-color:var(--vp-c-bg-alt);padding:0}.md-output .output-container p{margin:0;padding:.2em}@media only screen and (max-width: 640px){.md-example{flex-direction:column-reverse;min-height:50vh}.md-example>div{width:100%;height:50%}.md-output{border-left:none}}.md-output button{background-color:var(--vp-c-brand-lightest);padding:0 1em;border:1px solid var(--vp-c-brand);border-radius:.2em;transition:.5s all;box-shadow:1px 1px 1px var(--vp-c-brand);color:#000}.md-output button:hover{background-color:var(--vp-c-brand-lighter)}.v-enter-active,.v-leave-active{transition:opacity 1s ease}.v-enter-from,.v-leave-to{opacity:0}.brocatel-editor{margin:0}.brocatel-editor>.milkdown-menu{margin:0;background-color:var(--vp-c-bg)}.brocatel-editor div[data-milkdown-root]{margin:.2em 0;padding:.2em .5em;background-color:var(--vp-c-bg-alt)}.milkdown-menu button{border:1px solid var(--vp-c-brand-darker);background-color:var(--vp-c-bg-alt);margin:.2em;padding:0 1em;transition:all .2s;box-shadow:var(--vp-shadow-1)}.milkdown-menu button:hover{background-color:var(--vp-c-bg)}.brocatel-editor div[data-milkdown-root] ul{border:1px solid var(--vp-c-gray)}.brocatel-editor h1,.brocatel-editor h2,.brocatel-editor h3,.brocatel-editor h4,.brocatel-editor h5,.brocatel-editor h6{margin:0;padding:0} diff --git a/assets/subroutine.md.-A6sEVEO.js b/assets/subroutine.md.-A6sEVEO.js new file mode 100644 index 0000000..d73ab6a --- /dev/null +++ b/assets/subroutine.md.-A6sEVEO.js @@ -0,0 +1,37 @@ +import{_ as l,E as o,c as h,J as e,w as a,a4 as n,m as i,a as s,o as r}from"./chunks/framework.tOI-YKg8.js";const S=JSON.parse('{"title":"Story Subroutines","description":"","frontmatter":{},"headers":[],"relativePath":"subroutine.md","filePath":"subroutine.md"}'),d={name:"subroutine.md"},c=n('<h1 id="story-subroutines" tabindex="-1">Story Subroutines <a class="header-anchor" href="#story-subroutines" aria-label="Permalink to "Story Subroutines"">​</a></h1><p>In programming lanuages, we call them "functions". In Ink, they are called "tunnels". But anyway, this kind of structure allows you to reuse stories quite efficiently.</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>However, most stories just don't follow the typical "function" structure: they don't <em>return</em> properly. This currently usually leads to unexpected results.</p><p>Also, the current WYSIWYG widget does not support calling subroutines.</p></div><h2 id="basic-syntax" tabindex="-1">Basic Syntax <a class="header-anchor" href="#basic-syntax" aria-label="Permalink to "Basic Syntax"">​</a></h2><p>As you have learnt from <a href="./tutorial.html">the tutorial</a>, Brocatel lets you organize your stories with <code># headings</code>, and you can jump to those headings by using <code>[some links to](#headings)</code>. A subroutine is a part of stories that start with some special headings: <code># subroutine { args }</code>. And to use the subroutine, one uses a special kind of link: <code>[{ arg = value }](#subroutine)</code>.</p>',5),k=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# Main Story")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Statistics:")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"{ money = 10 }"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#stats"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Done!")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"---")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"## stats {money}")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Budget: ${money}!")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"---")])])])],-1),p=n('<p>In the example above, a <code>## stats</code> subroutine is defined (which accepts a <code>money</code> parameter), and we jump to the subroutine with a link <code>[{ money = 10 }](#stats)</code>, which also sets the requested parameter <code>money</code> to <code>10</code>. The story outputs three lines:</p><ul><li><code>Statistics:</code></li><li><code>Budget: $10!</code>: The story flows to the subroutine after the link.</li><li><code>Done!</code>: The story flows back to the main story! It resumes the story after the link.</li></ul><h2 id="no-fallthrough" tabindex="-1">No Fallthrough <a class="header-anchor" href="#no-fallthrough" aria-label="Permalink to "No Fallthrough"">​</a></h2><p>In normal stories, headings stop the story flow - we want the users to be explicit about story flow changes so as to avoid errors. And functions require explicit jumps / calls too.</p>',4),u=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Line 1.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# any heading")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Special case: the first heading is OK - the meaning is explicit enough - it is a starting point.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"## heading 2")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Then no Line 3.")])])])],-1),g=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Line 1.")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"<!-- The story ends here -->")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# any heading {}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Never.")])])])],-1),E=i("p",null,[s("Also, a function automatically returns at the end of it, and you may explicitly return with thematic breaks (a single line containing only "),i("code",null,"---"),s(").")],-1),y=i("p",null,"Function calls allows passing values that are only effective inside a certain function.",-1),m=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},'`from = "outside"`')]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"From(1): {from}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},'{ from = "foyer" }'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#west"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"From(5): {from}")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# west {from}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"From(2): {from}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},'{ from = "the west" }'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#south"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"From(4): {from}")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# south {from}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"From(3): {from}")])])])],-1),f=i("div",{class:"info custom-block"},[i("p",{class:"custom-block-title"},"INFO"),i("p",null,"It is a bit different from function parameters in programming languages. But since it is just a draft, I am not going into detail here.")],-1);function b(_,w,F,C,x,v){const t=o("md-example");return r(),h("div",null,[c,e(t,null,{default:a(()=>[k]),_:1}),p,e(t,null,{default:a(()=>[u]),_:1}),e(t,null,{default:a(()=>[g]),_:1}),E,y,e(t,null,{default:a(()=>[m]),_:1}),f])}const T=l(d,[["render",b]]);export{S as __pageData,T as default}; diff --git a/assets/subroutine.md.-A6sEVEO.lean.js b/assets/subroutine.md.-A6sEVEO.lean.js new file mode 100644 index 0000000..4546142 --- /dev/null +++ b/assets/subroutine.md.-A6sEVEO.lean.js @@ -0,0 +1,37 @@ +import{_ as l,E as o,c as h,J as e,w as a,a4 as n,m as i,a as s,o as r}from"./chunks/framework.tOI-YKg8.js";const S=JSON.parse('{"title":"Story Subroutines","description":"","frontmatter":{},"headers":[],"relativePath":"subroutine.md","filePath":"subroutine.md"}'),d={name:"subroutine.md"},c=n("",5),k=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# Main Story")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Statistics:")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"{ money = 10 }"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#stats"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Done!")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"---")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"## stats {money}")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Budget: ${money}!")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"---")])])])],-1),p=n("",4),u=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Line 1.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# any heading")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Special case: the first heading is OK - the meaning is explicit enough - it is a starting point.")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"## heading 2")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Then no Line 3.")])])])],-1),g=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Line 1.")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"<!-- The story ends here -->")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# any heading {}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Never.")])])])],-1),E=i("p",null,[s("Also, a function automatically returns at the end of it, and you may explicitly return with thematic breaks (a single line containing only "),i("code",null,"---"),s(").")],-1),y=i("p",null,"Function calls allows passing values that are only effective inside a certain function.",-1),m=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},'`from = "outside"`')]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"From(1): {from}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},'{ from = "foyer" }'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#west"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"From(5): {from}")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# west {from}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"From(2): {from}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},'{ from = "the west" }'),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#south"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"From(4): {from}")]),s(` +`),i("span",{class:"line"}),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# south {from}")]),s(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"From(3): {from}")])])])],-1),f=i("div",{class:"info custom-block"},[i("p",{class:"custom-block-title"},"INFO"),i("p",null,"It is a bit different from function parameters in programming languages. But since it is just a draft, I am not going into detail here.")],-1);function b(_,w,F,C,x,v){const t=o("md-example");return r(),h("div",null,[c,e(t,null,{default:a(()=>[k]),_:1}),p,e(t,null,{default:a(()=>[u]),_:1}),e(t,null,{default:a(()=>[g]),_:1}),E,y,e(t,null,{default:a(()=>[m]),_:1}),f])}const T=l(d,[["render",b]]);export{S as __pageData,T as default}; diff --git a/assets/tutorial.md.C_9s2kBb.js b/assets/tutorial.md.C_9s2kBb.js new file mode 100644 index 0000000..dfa35fd --- /dev/null +++ b/assets/tutorial.md.C_9s2kBb.js @@ -0,0 +1,68 @@ +import{_ as l,E as o,c as h,J as t,w as a,m as i,a4 as n,a as e,o as r}from"./chunks/framework.tOI-YKg8.js";const J=JSON.parse('{"title":"The Tutorial","description":"","frontmatter":{},"headers":[],"relativePath":"tutorial.md","filePath":"tutorial.md"}'),d={name:"tutorial.md"},k=n('<h1 id="the-tutorial" tabindex="-1">The Tutorial <a class="header-anchor" href="#the-tutorial" aria-label="Permalink to "The Tutorial"">​</a></h1><div class="danger custom-block"><p class="custom-block-title">DANGER</p><p>Many many things in this tutorial can be outdated since we are still rapidly updating things and changing the syntax. But if the interactive widgets somehow work, then it should still be up-to-date.</p></div><p>Brocatel lets you write interactive stories (choice-based interactive fictions) in <a href="https://en.wikipedia.org/wiki/Markdown" target="_blank" rel="noreferrer">Markdown</a>. It itself is written in <a href="https://en.wikipedia.org/wiki/Lua_(programming_language)" target="_blank" rel="noreferrer">Lua</a> and should run on almost every platform. And that means you can try things out in your browser, right in this web page, in any of the examples below, interactively.</p><p>You may try things out in the following widget:</p>',4),c=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Type something here!")])])])],-1),p=n('<div class="info custom-block"><p class="custom-block-title">INFO</p><p>If you've heard a bit about Markdown, you will know that it is a plain text markup language, which usually means the user will need to learn about the meanings behind <code>**bold** and *italics*</code> or <code> `code` and [links](http://url)</code>. They are not that hard to learn, but may still pose a challenge for users not really into plain text markups. To make things easier, here we use a <a href="https://en.wikipedia.org/wiki/WYSIWYG" target="_blank" rel="noreferrer">WYSIWYG</a> editor by default. (Also, lots of people out there just don't have regular <code>`</code> keys on their keyboards, and it is why originally I prefer <a href="https://orgmode.org/" target="_blank" rel="noreferrer">Org mode</a> to Markdown to be honest.)</p><p>If you prefer a plain text one, click on the "🗒️" checkbox in the editor.</p></div><h2 id="texts" tabindex="-1">Texts <a class="header-anchor" href="#texts" aria-label="Permalink to "Texts"">​</a></h2><p>Texts are texts.</p><div class="info custom-block"><p class="custom-block-title">INFO</p><p>Since Markdown is a markup language, it has built-in support for <em>italic</em> or <strong>bold</strong> texts.</p><ul><li>To make texts italic, use the "<em>Italics</em>" button in the widget or try typing in <code>_italics_</code>.</li><li>To make texts bold, use the "<strong>Bold</strong>" button, or try typing in <code>**bold**</code>.</li></ul></div>',4),g=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Hello World!")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-font-style":"italic","--shiki-dark-font-style":"italic"}},"_italics_")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"**bold**")])])])],-1),u=n('<h3 id="tags" tabindex="-1">Tags <a class="header-anchor" href="#tags" aria-label="Permalink to "Tags"">​</a></h3><p>You may tag texts with brackets like <code>:narration</code> or <code>:color[red]</code>. Tags means nothing on their own - they are merely information attached to a paragraph. But if you are looking to integrate your story into a larger game, where you want to specify where your texts are positioned, what avatars to display, etc., you will very likely need to tag your texts to provide the information and have other parts of the game interpret those tags accordingly.</p><p>In our widgets here, we choose to intepret tags as <a href="https://en.wikipedia.org/wiki/CSS" target="_blank" rel="noreferrer">CSS</a> styles, which allows you to, for example, make texts <span style="color:red;">red</span>.</p>',3),y=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"But you don't stop. You don't even slow down as you fly into the intersection, and the light stays an unmistakable red...")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":background-color["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"red"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"] :color["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"black"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"] :text-align["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"center"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"] "),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"**RED**")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(Quoted from Photopia (["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"https://ifdb.org/viewgame?id=ju778uv5xaswnlpl"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"https://ifdb.org/viewgame?id=ju778uv5xaswnlpl"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")).)")])])])],-1),E=i("h2",{id:"choices",tabindex:"-1"},[e("Choices "),i("a",{class:"header-anchor",href:"#choices","aria-label":'Permalink to "Choices"'},"​")],-1),m=i("p",null,"Brocatel uses Markdown lists to represent choices.",-1),w=i("p",null,"The first lines in list items are presented to the player as choices. When the player chooses one, the story will flow to that list item and continue there. If the story reaches the end of a choice branch, it will then flow to lines that goes after that Markdown list, thus allowing nesting choices.",-1),_=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"*"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Enter the foyer.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You enter the foyer of the Opera house.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go north.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," No. You've only just arrived, and besides, the weather outside seems to be getting worse.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go west.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," The walls of this small room were clearly once lined with hooks, though now only one remains.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Examine the hook.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You examine the hook.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Hang your cloak on the hook.")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You hang your cloak on the hook.")])])])],-1),f=n('<h2 id="controlling-story-flow" tabindex="-1">Controlling Story Flow <a class="header-anchor" href="#controlling-story-flow" aria-label="Permalink to "Controlling Story Flow"">​</a></h2><p>Brocatel lets you control the story flow with Markdown headings and Markdown links.</p><p>To put it simply, to make the story flow to a heading, one uses a link with a anchor corresponding to that heading.</p><h3 id="headings" tabindex="-1">Headings <a class="header-anchor" href="#headings" aria-label="Permalink to "Headings"">​</a></h3><p>Markdown headings, in their plain text forms, start with hashes (<code>#</code>). For example, <code># heading 1</code> means a first level heading named "heading 1", while <code>## another heading</code> means a second level heading named "another heading".</p><p>With headings, you may organize your stories into chapters, sections, or any segments. Headings will not show up in the story output.</p>',6),b=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Try starting a new line and typing "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`# another`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"!")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# heading")])])])],-1),v=n('<p>In the example widget above, you will notice that the editor part of the widget displays the heading weirdly as something like "<strong>## heading 2</strong> <a href="#heading-2">#heading-2</a>📋":</p><ul><li>The "<strong>## heading 2</strong>" part is the real heading, while</li><li>"<a href="#heading-2">#heading-2</a>" is the <em>anchor</em> name of the heading, and</li><li>clicking on "📋" copies the "#heading-2" anchor to your clipboard.</li></ul><p>You will need to use that anchor name in your links to make the story flow to that heading.</p><div class="info custom-block"><p class="custom-block-title">Why not just use headings instead of some random heading anchors?</p><p>Most of links (whether in Markdown or not) link to web pages, which use anchors to locate things. To make things worse, web anchors disallow whitespaces and recommend using ASCII characters only, and "heading 2" is simply not a valid anchor.</p><p>We don't want to deviate too much from the current Markdown implementations out there, most of which follow the web page anchor specification and replace whitespaces with hyphens (<code>-</code>).</p></div><h3 id="links" tabindex="-1">Links <a class="header-anchor" href="#links" aria-label="Permalink to "Links"">​</a></h3><p>Markdown links usually contain two pieces of information: link text and the link itself. Markdown uses <code>[link text](the-link-itself)</code> to indicate a link:</p><ul><li><a href="https://wikipedia.org" target="_blank" rel="noreferrer">A link to Wikipedia</a> in Markdown is just <code>[A link to Wikipedia](https://wikipedia.org)</code>.</li></ul><p>In Brocatel, we currently don't care about the text part too much - any text is fine as long as it is valid Markdown (that is, in this tutorial, it looks fine in the interative editor). The real link part matters though, as it controls where the link leads the story.</p>',8),x=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"*"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go north.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"this link leads to #north"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#north"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"*"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go west.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"this link leads to #west"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#west"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# north")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"No. You've only just arrived, and besides, the weather outside seems to be getting worse.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# west")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"The walls of this small room were clearly once lined with hooks, though now only one remains.")])])])],-1),F=i("p",null,[e('We also display links quite differently as something like "'),i("a",{href:"#west"},"[this link leads to #west]"),e("("),i("u",null,"#west"),e(')🔗". You may edit the "'),i("u",null,"#west"),e('" part to make the link lead to story to elsewhere as long as there is a corresponding heading.')],-1),C={class:"info custom-block"},T=i("p",{class:"custom-block-title"},"Link explicitly",-1),B=i("p",null,"Brocatel assumes that each heading marks the start of a brand new section, and thus never automatically flow the story onwards when it reaches the end of a section. You will need to link to those headings manually if you want the story to flow across sections.",-1),q=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# start")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Without "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`[a link](#new_section)`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# new section")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"The story never reaches here.")])])])],-1),A=i("p",null,[e("You may notice that we don't need a link to flow to the "),i("code",null,"#start"),e(" heading, and it is because we think it is quite unambiguous (you don't want an empty story right?).")],-1),I=i("h2",{id:"conditional-branches",tabindex:"-1"},[e("Conditional Branches "),i("a",{class:"header-anchor",href:"#conditional-branches","aria-label":'Permalink to "Conditional Branches"'},"​")],-1),S=i("p",null,"Sometimes you will want to vary your texts or choices depending on the player's previous actions. We use Markdown inline code snippets for that. Don't panic! It has very little to do with actual coding:",-1),D=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Examine yourself.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}}," # examine_self")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You are wearing a handsome cloak.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Do nothing.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"*"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `VISITED(examine_self)`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Hang your cloak on the hook.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You hang your cloak on the hook.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"*"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Do nothing.")])])])],-1),P=i("p",null,[e("In the example above, the player can only hang their cloak on the hook if they have examined themselves. This is achieved by putting an code snippet in the very front of a line (try using the "),i("code",null,"`Code`"),e(" button).")],-1),V=i("p",null,[e("Only if the story has ever flowed to the "),i("code",null,"#examine_self"),e(' heading (so the story has "VISITED" "examine_self"), will the "Hang your cloak on the hook" choice be presented to the player.')],-1),Y=i("p",null,"You can also use this for normal texts:",-1),M=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Examine yourself.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}}," # examine_self")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`VISITED(examine_self)`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You have examined yourself.")])])])],-1),N=n('<h2 id="variables" tabindex="-1">Variables <a class="header-anchor" href="#variables" aria-label="Permalink to "Variables"">​</a></h2><p>If you have a line that contains only an inline code snippet, Brocatel treats it as an arbitrary Lua statement, which means you can actually do anything you like from customizing Brocatel to crashing it. But as a tutorial, we only talk about the most simple Lua statements here: variable assignment.</p><p>In the following example, we assign the player's favorite animal to the variable <code>favorite_animal</code> by doing <code>favorite_animal = "cats/dogs"</code>. (Note the quotation marks (<code>"</code>), which tells Lua to treat it as text.) You may use variables in conditionals or simply put it in texts by using the <code>{Expr}</code> button and filling in the correct variable names.</p>',3),W=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Cats.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' `favorite_animal = "cats"`')]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Dogs.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' `favorite_animal = "dogs"`')]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Oh, I love {favorite_animal} too!")])])])],-1);function L(R,j,G,H,O,$){const s=o("md-example");return r(),h("div",null,[k,t(s,{height:"15em"},{default:a(()=>[c]),_:1}),p,t(s,{height:"15em"},{default:a(()=>[g]),_:1}),u,t(s,{height:"20em"},{default:a(()=>[y]),_:1}),E,m,w,t(s,{height:"40em"},{default:a(()=>[_]),_:1}),f,t(s,{height:"12em"},{default:a(()=>[b]),_:1}),v,t(s,{height:"30em"},{default:a(()=>[x]),_:1}),F,i("div",C,[T,B,t(s,{height:"18em"},{default:a(()=>[q]),_:1}),A]),I,S,t(s,{height:"30em"},{default:a(()=>[D]),_:1}),P,V,Y,t(s,{height:"18em"},{default:a(()=>[M]),_:1}),N,t(s,{height:"21em"},{default:a(()=>[W]),_:1})])}const Q=l(d,[["render",L]]);export{J as __pageData,Q as default}; diff --git a/assets/tutorial.md.C_9s2kBb.lean.js b/assets/tutorial.md.C_9s2kBb.lean.js new file mode 100644 index 0000000..144af5f --- /dev/null +++ b/assets/tutorial.md.C_9s2kBb.lean.js @@ -0,0 +1,68 @@ +import{_ as l,E as o,c as h,J as t,w as a,m as i,a4 as n,a as e,o as r}from"./chunks/framework.tOI-YKg8.js";const J=JSON.parse('{"title":"The Tutorial","description":"","frontmatter":{},"headers":[],"relativePath":"tutorial.md","filePath":"tutorial.md"}'),d={name:"tutorial.md"},k=n("",4),c=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Type something here!")])])])],-1),p=n("",4),g=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Hello World!")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-font-style":"italic","--shiki-dark-font-style":"italic"}},"_italics_")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"**bold**")])])])],-1),u=n("",3),y=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"But you don't stop. You don't even slow down as you fly into the intersection, and the light stays an unmistakable red...")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},":background-color["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"red"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"] :color["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"black"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"] :text-align["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"center"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"] "),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"**RED**")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(Quoted from Photopia (["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"https://ifdb.org/viewgame?id=ju778uv5xaswnlpl"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"https://ifdb.org/viewgame?id=ju778uv5xaswnlpl"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")).)")])])])],-1),E=i("h2",{id:"choices",tabindex:"-1"},[e("Choices "),i("a",{class:"header-anchor",href:"#choices","aria-label":'Permalink to "Choices"'},"​")],-1),m=i("p",null,"Brocatel uses Markdown lists to represent choices.",-1),w=i("p",null,"The first lines in list items are presented to the player as choices. When the player chooses one, the story will flow to that list item and continue there. If the story reaches the end of a choice branch, it will then flow to lines that goes after that Markdown list, thus allowing nesting choices.",-1),_=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"*"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Enter the foyer.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You enter the foyer of the Opera house.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go north.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," No. You've only just arrived, and besides, the weather outside seems to be getting worse.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go west.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," The walls of this small room were clearly once lined with hooks, though now only one remains.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Examine the hook.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You examine the hook.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}}," -"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Hang your cloak on the hook.")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You hang your cloak on the hook.")])])])],-1),f=n("",6),b=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Try starting a new line and typing "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`# another`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"!")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# heading")])])])],-1),v=n("",8),x=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"*"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go north.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"this link leads to #north"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#north"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"*"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Go west.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ["),i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#DBEDFF","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"this link leads to #west"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"]("),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8","--shiki-light-text-decoration":"underline","--shiki-dark-text-decoration":"underline"}},"#west"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# north")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"No. You've only just arrived, and besides, the weather outside seems to be getting worse.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# west")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"The walls of this small room were clearly once lined with hooks, though now only one remains.")])])])],-1),F=i("p",null,[e('We also display links quite differently as something like "'),i("a",{href:"#west"},"[this link leads to #west]"),e("("),i("u",null,"#west"),e(')🔗". You may edit the "'),i("u",null,"#west"),e('" part to make the link lead to story to elsewhere as long as there is a corresponding heading.')],-1),C={class:"info custom-block"},T=i("p",{class:"custom-block-title"},"Link explicitly",-1),B=i("p",null,"Brocatel assumes that each heading marks the start of a brand new section, and thus never automatically flow the story onwards when it reaches the end of a section. You will need to link to those headings manually if you want the story to flow across sections.",-1),q=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# start")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Without "),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`[a link](#new_section)`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}},"# new section")]),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"The story never reaches here.")])])])],-1),A=i("p",null,[e("You may notice that we don't need a link to flow to the "),i("code",null,"#start"),e(" heading, and it is because we think it is quite unambiguous (you don't want an empty story right?).")],-1),I=i("h2",{id:"conditional-branches",tabindex:"-1"},[e("Conditional Branches "),i("a",{class:"header-anchor",href:"#conditional-branches","aria-label":'Permalink to "Conditional Branches"'},"​")],-1),S=i("p",null,"Sometimes you will want to vary your texts or choices depending on the player's previous actions. We use Markdown inline code snippets for that. Don't panic! It has very little to do with actual coding:",-1),D=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Examine yourself.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}}," # examine_self")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You are wearing a handsome cloak.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Do nothing.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"*"),i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," `VISITED(examine_self)`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Hang your cloak on the hook.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You hang your cloak on the hook.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"*"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Do nothing.")])])])],-1),P=i("p",null,[e("In the example above, the player can only hang their cloak on the hook if they have examined themselves. This is achieved by putting an code snippet in the very front of a line (try using the "),i("code",null,"`Code`"),e(" button).")],-1),V=i("p",null,[e("Only if the story has ever flowed to the "),i("code",null,"#examine_self"),e(' heading (so the story has "VISITED" "examine_self"), will the "Hang your cloak on the hook" choice be presented to the player.')],-1),Y=i("p",null,"You can also use this for normal texts:",-1),M=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Examine yourself.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF","--shiki-light-font-weight":"bold","--shiki-dark-font-weight":"bold"}}," # examine_self")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"`VISITED(examine_self)`"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," You have examined yourself.")])])])],-1),N=n("",3),W=i("div",{class:"language-markdown vp-adaptive-theme"},[i("button",{title:"Copy Code",class:"copy"}),i("span",{class:"lang"},"markdown"),i("pre",{class:"shiki shiki-themes github-light github-dark vp-code"},[i("code",null,[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Cats.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' `favorite_animal = "cats"`')]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"-"),i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," Dogs.")]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},' `favorite_animal = "dogs"`')]),e(` +`),i("span",{class:"line"}),e(` +`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"Oh, I love {favorite_animal} too!")])])])],-1);function L(R,j,G,H,O,$){const s=o("md-example");return r(),h("div",null,[k,t(s,{height:"15em"},{default:a(()=>[c]),_:1}),p,t(s,{height:"15em"},{default:a(()=>[g]),_:1}),u,t(s,{height:"20em"},{default:a(()=>[y]),_:1}),E,m,w,t(s,{height:"40em"},{default:a(()=>[_]),_:1}),f,t(s,{height:"12em"},{default:a(()=>[b]),_:1}),v,t(s,{height:"30em"},{default:a(()=>[x]),_:1}),F,i("div",C,[T,B,t(s,{height:"18em"},{default:a(()=>[q]),_:1}),A]),I,S,t(s,{height:"30em"},{default:a(()=>[D]),_:1}),P,V,Y,t(s,{height:"18em"},{default:a(()=>[M]),_:1}),N,t(s,{height:"21em"},{default:a(()=>[W]),_:1})])}const Q=l(d,[["render",L]]);export{J as __pageData,Q as default}; diff --git a/caveat.html b/caveat.html new file mode 100644 index 0000000..f45ec08 --- /dev/null +++ b/caveat.html @@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html lang="en-US" dir="ltr"> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width,initial-scale=1"> + <title>Caveats | Brocatel + + + + + + + + + + + + + +
Skip to content

Caveats

In some Markdown processors (that convert Markdown into HTML), headings get unique HTML ids that serve as page "anchors", which links can then refer to with #id-of-a-heading. This is exactly why we choose to use headings and links to "jump" within stories - it is in sync with how you jump back and forth in an HTML page.

Generated Anchors in HTML Documents

However, in most processors, the generated id usually differs a bit from the actual heading. The following example is extracted from github-slugger, which we use to generate our anchors:

markdown
# foo
+[](#foo)
+
+# Привет non-latin 你好
+[](#привет-non-latin-你好)
+
+# 😄 emoji
+[](#-emoji)

It removes the quite a lot characters, but we are more interested in what gets preserved:

  • Any letter under the Letter category,
  • Any mark under the Mark category,
  • Any normal numbers other than Other Numbers,
  • All connectors punctuation,
  • Any alphabetic characters,
  • The space character (0x20) and hyphens - (0x2d).

After that, it replaces all spaces with hyphens.

Generated Anchors in Brocatel

I really can't remember those rules and I don't think that a system should require its users to do so. Therefor, we also transform all the links in the documents, so that users just don't need to be concerned about the charsets or any other string replacements:

markdown
# foo
+[](#foo)
+
+# Привет non-latin 你好
+[](<#привет non latin 你好>) or [](#привет-non-latin-你好)
+
+# 😄 emoji
+[](#😄-emoji)

However, it can become a problem when the user wants to use anchors in Lua code: obviously (due to how Lua recognizes its symbols) a word with space is treated as four separate words and it won't really serve as a symbol.

To simplify things a bit, we allow using a_word_with_space to refer to the # a word with space heading. However, again, this won't work with languages with non-ASCII daily letters, and the user will need to use ROOT:

markdown
# Привет non-latin 你好
+[](#привет-non-latin-你好)
+```lua
+привет_non_latin_你好 -- Not an indentifier.
+
+ROOT["привет-non-latin-你好"] -- This somehow works.
+```

Here comes a third caveat: Lua has poor regex and Unicode support, which means, it is hard to keep compiler rules (TypeScript) and runtime rules (Lua) in sync:

markdown
# 你好,世界!
+[](#你好世界) or [](#你好,世界!)
+```lua
+ROOT["你好世界"]      -- This works.
+ROOT["你好,世界!"]  -- This does not.
+```
+ + + + \ No newline at end of file diff --git a/choices.html b/choices.html new file mode 100644 index 0000000..e224b45 --- /dev/null +++ b/choices.html @@ -0,0 +1,24 @@ + + + + + + Advanced Choice Usages | Brocatel + + + + + + + + + + + + + +
Skip to content

Advanced Choice Usages

RECUR

There are two kinds of lists in Markdown:

  1. This is an ordered list.
  • And this is an unordered one.

Ordered ones recurs: the player can choose a one more than once; unordered ones, on the other hand, are one-time-only choices. You will probably want a DEFAULT branch for one-time-only choices. Otherwise, the script will just loooooooop.

You can have granular control over this using the RECUR API:

+ + + + \ No newline at end of file diff --git a/cloak.html b/cloak.html new file mode 100644 index 0000000..44f338b --- /dev/null +++ b/cloak.html @@ -0,0 +1,24 @@ + + + + + + Cloak of Darkness | Brocatel + + + + + + + + + + + + + +
Skip to content
+ + + + \ No newline at end of file diff --git a/grammar.html b/grammar.html new file mode 100644 index 0000000..70b8d73 --- /dev/null +++ b/grammar.html @@ -0,0 +1,60 @@ + + + + + + Brocatel Markdown Grammar Spec | Brocatel + + + + + + + + + + + + + +
Skip to content

Brocatel Markdown Grammar Spec

Texts

  • Usage: Same as texts in Markdown: if the text does not match any spec below, then it is a text.
  • Semantics: Texts.

Comments

  • Usage: Similar to HTML/XML comments since Markdown does not provide a comment grammar.

  • Semantics: Comments.

    • <!-- comment -->.

    • One may also use Lua comments in Lua code blocks if they find it convenient:

      `-- comment`

      markdown
      ```lua
      +--[[
      +  comment
      +]]--
      +```

Tags

  • Usage: Prefixes the text with an inline directive to tag the text.

  • Semantics: Attaches extra info to the text to be used by external programs.

    • :tag Text.
    • :tag[value] Text.

Interpolation

  • Usage: Use Lua code in MDX expressions to interpolate the text with Lua values.

  • Semantics: The MDX expression is evaluated in the context of the current routine.

    • 1 + 1 is { 1 + 1 } evaluates to 1 + 1 is 2.

Marking Plural Variables For Gettext

  • Usage: Adds a ? in the MDX expression to mark the variable that affects the plural forms of words in the text.

  • Semantics: The variable is marked for Gettext for easier I18N.

    • You have { 1 + 1 ?} apples. will generate a msgid_plural entry in the POT file so that the translation can be done in a better way.

Headings

  • Usage: Same as headings in Markdown.
  • Semantics: A heading defines an anchor that a link can jump to.

Routine Definitions

  • Usage: A heading that contains a MDX expression.

  • Semantics: A routine definition defines a routine. The string in the MDX expression is treated as routine-local variable names.

    • ## heading 1 {} defines a routine named heading-1.
    • ## heading 1 { var1 } defines a routine named heading-1 with a routine-local variable var1.
  • Usage: Mostly the same as links in Markdown.

    If the link looks like a "normal" link (e.g. begins with https), the compiler treats the link as it.

  • Semantics: A link either directs the story flow to a certain heading or calls a routine.

    • [](#heading-1) jumps to the heading heading-1 if the heading is not a routine. Otherwise, it calls the routine heading-1.
    • [{ var1 = 1 }](#heading-1) calls the routine heading-1 with the routine-local variable var1 set to 1.
    • [](another.md#heading-1) similarly calls/jumps to story in another.md with the heading heading-1. This allows splitting a story into multiple files. No manual file linking is needed.

Lua Evaluation

Compile-Time Evaluation

  • Usage: A code block with its meta string set to macro.

  • Semantics: The code block is evaluated at compile-time to extend the compiler with macros, etc.

    • For example,

      markdown
      ```lua macro
      +function hello_world()
      +  return md.paragraph({ md.text("hello world from a macro") })
      +end
      +```

      defines a macro hello_world that returns a Markdown paragraph with the text.

Runtime Evaluation

Global Lua Evaluation

  • Usage: A code block with its meta string set to global.

  • Semantics: The code block is evaluated at runtime when loading the story.

    • For example,

      markdown
      ```lua global
      +player_name = "Alice"
      +initial_score = 0
      +```

      initializes the global state.

Local Lua Evaluation

  • Usage: Inline code snippets on a single line or Lua code blocks.

  • Semantics: These Lua code is run when the story passes through the code block.

    • `v = 1` sets the variable v to 1, which is the same as:

      markdown
      ```lua
      +v = 1
      +```

Conditional Execution

  • Usage: A paragraph starts with a inline code snippet, following by texts.

  • Semantics: The snippet is evaluated as Lua code, and if the result is true, the paragraph is show as texts.

    • `score == 100` You win!

      If the variable score is equal to 100, the paragraph is shown.

Lua Runtime Environment

See arch.md.

Macro Usage

  • Usage: A customized Markdown grammar:

    markdown
    :::macro_name `extra info`
    +- Macro specific argument 1
    +- Macro specific argument 2
    +- ...
    +- :::nested_macro
    +  - Correct indentation is needed.

Built-In Macros

The if, do, local and nil macros are implemented by the JS/TS compiler, whose names are intentionally selected be Lua keywords to avoid conflicts with the user-defined macros.

  • if: Extended form of the `condition` Text. grammar with an else branch.

    markdown
    :::if `score == 100`
    +- You win!
    +- You lose. (The else branch here.)
  • do: Calls a Lua function, passing the arguments specified in the list.

    markdown
    :::do `function_name`
    +- Argument 1
    +- Argument 2
  • local: A quoted block of text, useful to avoid conflicting heading levels, mostly used by macros.

    markdown
    # heading-1
    +:::local
    +- # heading-1
    +  No heading name conflict.
    +- :::local
    +  - Nesting allowed.
  • nil: Ask the compiler to treat the arguments as plain Markdown.

    markdown
    :::nil
    +- `this is no more Lua expression but a Markdown code snippet`

The following macros are also built-in macros, but instead implemented in Lua as examples of custom macros. See mdc/src/macros/builtin.lua for details.

  • loop: Repeatedly executes part of the story.

    markdown
    :::loop `label`
    +- Text 1.
    +- Text 2.
  • switch: Evaluates an expression, and executes the corresponding case.

    markdown
    :::switch `a = 100`
    +- `a == 0`
    +  Result: 0
    +- `0 < a and a < 100`
    +  Result: 1~99
    +- `a == 100`
    +  Result: 100

Threads & Coroutine Grammar

Coroutine

  • Usage: Use > [](#routine) to create a coroutine.

    If a coroutine runs to the end, one of the remaining threads will be selected as the next thread to run. If there is none, the story ends.

+ + + + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json new file mode 100644 index 0000000..3feeb5d --- /dev/null +++ b/hashmap.json @@ -0,0 +1 @@ +{"caveat.md":"CH6aLyWN","subroutine.md":"-A6sEVEO","choices.md":"BAxSAmcV","cloak.md":"CjDHB8DE","index.md":"DUZFSUlD","grammar.md":"CpkZ6GwH","playground.md":"_s8Bnijm","roadmap.md":"BXrdG_DE","arch.md":"UB_RSDFD","tutorial.md":"C_9s2kBb"} diff --git a/index.html b/index.html new file mode 100644 index 0000000..4dcbcf4 --- /dev/null +++ b/index.html @@ -0,0 +1,36 @@ + + + + + + Brocatel + + + + + + + + + + + + + +
Skip to content

Brocatel

Embeddable Scripting Language for Interactive Storytelling

In Markdown and Lua

+ + + + \ No newline at end of file diff --git a/playground.html b/playground.html new file mode 100644 index 0000000..36557aa --- /dev/null +++ b/playground.html @@ -0,0 +1,24 @@ + + + + + + Brocatel + + + + + + + + + + + + + +
Skip to content
+ + + + \ No newline at end of file diff --git a/roadmap.html b/roadmap.html new file mode 100644 index 0000000..3fd1586 --- /dev/null +++ b/roadmap.html @@ -0,0 +1,27 @@ + + + + + + Brocatel Roadmap | Brocatel + + + + + + + + + + + + + +
Skip to content

Brocatel Roadmap

v0.X.X

We do not plan to follow Semantic Versioning at this stage, since drastic change in our Markdown grammar is expected (and personally I don't feel like large commits).

v0.1.0

Single-threaded virtual machine implementation:

  • [X] VM skeleton with delayed root node loading and array walking capabilities.
  • [X] Label and link support in the VM.
    • [X] A label should also serve as a text pointer.
  • [X] Global environment and if-else call support.
  • [X] Function call support.
  • [X] Tagged text support and Gettext API design.
  • [X] User input (options) support.
  • [X] Save data saving & loading.

v0.2.0

Markdown compiler implementation:

  • [X] Plain text nodes.
  • [X] Tagged text nodes.
  • [X] Links.
    • [X] Compile-time link validity checking.
  • [X] Options.
    • [X] Rework to allow show-once options.
  • [X] Function calls.
  • [X] Labels.
    • Compile-time label validity check: No need since we check links?
  • [X] Macros.
  • [X] Debug info generation.

v0.3.0

Runtime API design.

  • [X] API naming convention (maybe all-capital to avoid name conflicts with user labels): ALL CAPITALS & some Lua reserved words.
    • [X] Make API values read-only.
    • [ ] More API.
      • [X] BREAK or EXIT or END for loops.
        markdown
        :::loop `loop_name`
        +- A
        +  `END(loop_name)`
        • [X] Syntax sugar: --- for END() (we are going to use it for function calls)
      • [ ] Search for TODO in arch.md.
  • [X] IP (instruction pointer) access.
  • [X] Label access counter.
    • [X] Label fuzzy lookup.
      markdown
      # Markdown Examples
      +[](#markdown-examples)
      (This allows running README.md from most repositories.)
    • [X] Exclude normal links like [Wikipedia](https://...).
  • [X] Show-once options, show-forever options and show-N-times options.
    • [X] Data save API (allow functions to attach data to the current IP or any path).
  • [X] Add caching layer.
    • [X] Cache output to provide idempotency.
    • [X] Cache user input.
  • [X] IFID: use frontmatter to include IFIDs for stories.

Integration examples

  • [ ] Save & load.
    • [X] API.
  • [ ] Fast-forward (skipping only texts that users have read).
  • [ ] Complete porting The Intercept, which is a little bit lengthy.

v0.4.0

Multi-thread (not those threads) support:

  • [ ] Multi-thread API design.
    • [X] Replace the quote grammar (> text) with a macro (maybe named then?).
    • [ ] Use > to signify thread-related operations.
  • [ ] Multi-thread API implementation and thread-local variable support.
  • [ ] Story call and local variable support.
    • [X] Function stack: call and return.
    • [X] Tail call support: jump to elsewhere, popping up a stack frame.
    • [ ] Compiler error: forbid jumping from inside of a function.
  • [ ] Coroutine support.

Some clarifications:

  • With threads, you may build games (with lots of tweaks, of course) like 428: Shibuya Scramble, where multiple threads of stories interweaves.
  • With coroutines, you may construct conversations where people talk about multiple things simultaneously, just like threads in Ink.
  • Story calls are just function calls for plots.

v0.5.0 and on

Bug fixes and Markdown grammar optimization.

Documentation, tutorials, etc.

  • [ ] Porting The Intercept.
  • [X] Porting Cloak of Darkness.
  • [ ] Follow suit: Tutorial for Ink (better still if interactive).
  • [ ] IDE implementation (or probably just a VS Code plugin with language server protocol implementation).
  • [ ] Frontend implementation, so that one can easily publish their IF online.
    • [ ] Choice-based stories.
    • [ ] A bit parser-like frontend.

v1.0.0

Let's start Semantic Versioning.

+ + + + \ No newline at end of file diff --git a/subroutine.html b/subroutine.html new file mode 100644 index 0000000..db2cb86 --- /dev/null +++ b/subroutine.html @@ -0,0 +1,24 @@ + + + + + + Story Subroutines | Brocatel + + + + + + + + + + + + + +
Skip to content

Story Subroutines

In programming lanuages, we call them "functions". In Ink, they are called "tunnels". But anyway, this kind of structure allows you to reuse stories quite efficiently.

WARNING

However, most stories just don't follow the typical "function" structure: they don't return properly. This currently usually leads to unexpected results.

Also, the current WYSIWYG widget does not support calling subroutines.

Basic Syntax

As you have learnt from the tutorial, Brocatel lets you organize your stories with # headings, and you can jump to those headings by using [some links to](#headings). A subroutine is a part of stories that start with some special headings: # subroutine { args }. And to use the subroutine, one uses a special kind of link: [{ arg = value }](#subroutine).

In the example above, a ## stats subroutine is defined (which accepts a money parameter), and we jump to the subroutine with a link [{ money = 10 }](#stats), which also sets the requested parameter money to 10. The story outputs three lines:

  • Statistics:
  • Budget: $10!: The story flows to the subroutine after the link.
  • Done!: The story flows back to the main story! It resumes the story after the link.

No Fallthrough

In normal stories, headings stop the story flow - we want the users to be explicit about story flow changes so as to avoid errors. And functions require explicit jumps / calls too.

Also, a function automatically returns at the end of it, and you may explicitly return with thematic breaks (a single line containing only ---).

Function calls allows passing values that are only effective inside a certain function.

INFO

It is a bit different from function parameters in programming languages. But since it is just a draft, I am not going into detail here.

+ + + + \ No newline at end of file diff --git a/tutorial.html b/tutorial.html new file mode 100644 index 0000000..6ec9c8f --- /dev/null +++ b/tutorial.html @@ -0,0 +1,24 @@ + + + + + + The Tutorial | Brocatel + + + + + + + + + + + + + +
Skip to content

The Tutorial

DANGER

Many many things in this tutorial can be outdated since we are still rapidly updating things and changing the syntax. But if the interactive widgets somehow work, then it should still be up-to-date.

Brocatel lets you write interactive stories (choice-based interactive fictions) in Markdown. It itself is written in Lua and should run on almost every platform. And that means you can try things out in your browser, right in this web page, in any of the examples below, interactively.

You may try things out in the following widget:

INFO

If you've heard a bit about Markdown, you will know that it is a plain text markup language, which usually means the user will need to learn about the meanings behind **bold** and *italics* or `code` and [links](http://url). They are not that hard to learn, but may still pose a challenge for users not really into plain text markups. To make things easier, here we use a WYSIWYG editor by default. (Also, lots of people out there just don't have regular ` keys on their keyboards, and it is why originally I prefer Org mode to Markdown to be honest.)

If you prefer a plain text one, click on the "🗒️" checkbox in the editor.

Texts

Texts are texts.

INFO

Since Markdown is a markup language, it has built-in support for italic or bold texts.

  • To make texts italic, use the "Italics" button in the widget or try typing in _italics_.
  • To make texts bold, use the "Bold" button, or try typing in **bold**.

Tags

You may tag texts with brackets like :narration or :color[red]. Tags means nothing on their own - they are merely information attached to a paragraph. But if you are looking to integrate your story into a larger game, where you want to specify where your texts are positioned, what avatars to display, etc., you will very likely need to tag your texts to provide the information and have other parts of the game interpret those tags accordingly.

In our widgets here, we choose to intepret tags as CSS styles, which allows you to, for example, make texts red.

Choices

Brocatel uses Markdown lists to represent choices.

The first lines in list items are presented to the player as choices. When the player chooses one, the story will flow to that list item and continue there. If the story reaches the end of a choice branch, it will then flow to lines that goes after that Markdown list, thus allowing nesting choices.

Controlling Story Flow

Brocatel lets you control the story flow with Markdown headings and Markdown links.

To put it simply, to make the story flow to a heading, one uses a link with a anchor corresponding to that heading.

Headings

Markdown headings, in their plain text forms, start with hashes (#). For example, # heading 1 means a first level heading named "heading 1", while ## another heading means a second level heading named "another heading".

With headings, you may organize your stories into chapters, sections, or any segments. Headings will not show up in the story output.

In the example widget above, you will notice that the editor part of the widget displays the heading weirdly as something like "## heading 2 #heading-2📋":

  • The "## heading 2" part is the real heading, while
  • "#heading-2" is the anchor name of the heading, and
  • clicking on "📋" copies the "#heading-2" anchor to your clipboard.

You will need to use that anchor name in your links to make the story flow to that heading.

Why not just use headings instead of some random heading anchors?

Most of links (whether in Markdown or not) link to web pages, which use anchors to locate things. To make things worse, web anchors disallow whitespaces and recommend using ASCII characters only, and "heading 2" is simply not a valid anchor.

We don't want to deviate too much from the current Markdown implementations out there, most of which follow the web page anchor specification and replace whitespaces with hyphens (-).

Markdown links usually contain two pieces of information: link text and the link itself. Markdown uses [link text](the-link-itself) to indicate a link:

In Brocatel, we currently don't care about the text part too much - any text is fine as long as it is valid Markdown (that is, in this tutorial, it looks fine in the interative editor). The real link part matters though, as it controls where the link leads the story.

We also display links quite differently as something like "[this link leads to #west](#west)🔗". You may edit the "#west" part to make the link lead to story to elsewhere as long as there is a corresponding heading.

Link explicitly

Brocatel assumes that each heading marks the start of a brand new section, and thus never automatically flow the story onwards when it reaches the end of a section. You will need to link to those headings manually if you want the story to flow across sections.

You may notice that we don't need a link to flow to the #start heading, and it is because we think it is quite unambiguous (you don't want an empty story right?).

Conditional Branches

Sometimes you will want to vary your texts or choices depending on the player's previous actions. We use Markdown inline code snippets for that. Don't panic! It has very little to do with actual coding:

In the example above, the player can only hang their cloak on the hook if they have examined themselves. This is achieved by putting an code snippet in the very front of a line (try using the `Code` button).

Only if the story has ever flowed to the #examine_self heading (so the story has "VISITED" "examine_self"), will the "Hang your cloak on the hook" choice be presented to the player.

You can also use this for normal texts:

Variables

If you have a line that contains only an inline code snippet, Brocatel treats it as an arbitrary Lua statement, which means you can actually do anything you like from customizing Brocatel to crashing it. But as a tutorial, we only talk about the most simple Lua statements here: variable assignment.

In the following example, we assign the player's favorite animal to the variable favorite_animal by doing favorite_animal = "cats/dogs". (Note the quotation marks ("), which tells Lua to treat it as text.) You may use variables in conditionals or simply put it in texts by using the {Expr} button and filling in the correct variable names.

+ + + + \ No newline at end of file