Base 91
Similar to Base 64 but uses more characters resulting in smaller strings.
diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..d4bc2cda --- /dev/null +++ b/404.html @@ -0,0 +1,21 @@ + + +
+ + +@hpcc-js/wasm-root • Docs
@hpcc-js/wasm-root • Docs
@hpcc-js/wasm-root • Docs
@hpcc-js/wasm-root • Docs
@hpcc-js/wasm-root • Docs
Base 91 WASM library, similar to Base 64 but uses more characters resulting in smaller strings.
See Base91 for more details.
import { Base91 } from "@hpcc-js/wasm-base91";
+
+const base91 = await Base91.load();
+
+const encoded_data = await base91.encode(data);
+const decoded_data = await base91.decode(encoded_data);
static
load():Promise
<Base91
>
Compiles and instantiates the raw wasm.
INFO
In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing load
to be asynchronous;
Promise
<Base91
>
A promise to an instance of the Base91 class.
static
unload():void
Unloades the compiled wasm instance.
void
version():
string
string
The Base91 c++ version
encode(
data
):string
• data: Uint8Array
Data to encode.
string
string containing the Base 91 encoded data
decode(
base91Str
):Uint8Array
• base91Str: string
encoded string
Uint8Array
origonal data
@hpcc-js/wasm-root • Docs
Base 91 WASM library, similar to Base 64 but uses more characters resulting in smaller strings.
See Base91 for more details.
import { Base91 } from "@hpcc-js/wasm-base91";
+
+const base91 = await Base91.load();
+
+const encoded_data = await base91.encode(data);
+const decoded_data = await base91.decode(encoded_data);
static
load():Promise
<Base91
>
Compiles and instantiates the raw wasm.
INFO
In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing load
to be asynchronous;
Promise
<Base91
>
A promise to an instance of the Base91 class.
static
unload():void
Unloades the compiled wasm instance.
void
version():
string
string
The Base91 c++ version
encode(
data
):string
• data: Uint8Array
Data to encode.
string
string containing the Base 91 encoded data
decode(
base91Str
):Uint8Array
• base91Str: string
encoded string
Uint8Array
origonal data
@hpcc-js/wasm-root • Docs
@hpcc-js/wasm-root • Docs
@hpcc-js/wasm-root • Docs
Base class to simplify moving data into and out of Wasm memory.
@hpcc-js/wasm-root • Docs
Base class to simplify moving data into and out of Wasm memory.
@hpcc-js/wasm-root • Docs
ptr:
number
size:
number
@hpcc-js/wasm-root • Docs
ptr:
number
size:
number
@hpcc-js/wasm-root • Docs
PTR:
number
@hpcc-js/wasm-root • Docs
PTR:
number
{const{slotScopeIds:I}=p;I&&(j=j?j.concat(I):I);const _=o(g),P=E(i(g),p,_,R,$,j,W);return P&&cn(P)&&P.data==="]"?i(p.anchor=P):(wt(),c(p.anchor=u("]"),_,P),P)},L=(g,p,R,$,j,W)=>{if(an(g.parentElement,1)||wt(),p.el=null,W){const P=G(g);for(;;){const w=i(g);if(w&&w!==P)l(w);else break}}const I=i(g),_=o(g);return l(g),n(null,p,_,I,R,$,ln(_),j),I},G=(g,p="[",R="]")=>{let $=0;for(;g;)if(g=i(g),g&&cn(g)&&(g.data===p&&$++,g.data===R)){if($===0)return i(g);$--}return g},B=(g,p,R)=>{const $=p.parentNode;$&&$.replaceChild(g,p);let j=R;for(;j;)j.vnode.el===p&&(j.vnode.el=j.subTree.el=g),j=j.parent},q=g=>g.nodeType===1&&g.tagName==="TEMPLATE";return[f,h]}const cr="data-allow-mismatch",Dl={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function an(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(cr);)e=e.parentElement;const n=e&&e.getAttribute(cr);if(n==null)return!1;if(n==="")return!0;{const s=n.split(",");return t===0&&s.includes("children")?!0:n.split(",").includes(Dl[t])}}const gt=e=>!!e.type.__asyncLoader,Fn=e=>e.type.__isKeepAlive;function jl(e,t){Mi(e,"a",t)}function Vl(e,t){Mi(e,"da",t)}function Mi(e,t,n=fe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Hn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Fn(r.parent.vnode)&&Ul(s,t,n,r),r=r.parent}}function Ul(e,t,n,s){const r=Hn(t,e,s,!0);$n(()=>{Rs(s[t],r)},n)}function Hn(e,t,n=fe,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{it();const l=zt(n),c=Fe(t,n,e,o);return l(),ot(),c});return s?r.unshift(i):r.push(i),i}}const qe=e=>(t,n=fe)=>{(!Un||e==="sp")&&Hn(e,(...s)=>t(...s),n)},Bl=qe("bm"),Mt=qe("m"),kl=qe("bu"),Wl=qe("u"),Pi=qe("bum"),$n=qe("um"),Kl=qe("sp"),ql=qe("rtg"),Gl=qe("rtc");function Yl(e,t=fe){Hn("ec",e,t)}const Li="components";function ff(e,t){return Fi(Li,e,!0,t)||e}const Ni=Symbol.for("v-ndc");function uf(e){return re(e)?Fi(Li,e,!1)||e:e||Ni}function Fi(e,t,n=!0,s=!1){const r=ye||fe;if(r){const i=r.type;{const l=Lc(i,!1);if(l&&(l===t||l===Pe(t)||l===An(Pe(t))))return i}const o=ar(r[e]||i[e],t)||ar(r.appContext[e],t);return!o&&s?i:o}}function ar(e,t){return e&&(e[t]||e[Pe(t)]||e[An(Pe(t))])}function df(e,t,n,s){let r;const i=n,o=U(e);if(o||re(e)){const l=o&&pt(e);let c=!1;l&&(c=!Me(e),e=On(e)),r=new Array(e.length);for(let u=0,f=e.length;u @hpcc-js/wasm-root • Docs @hpcc-js/wasm-root • Docs @hpcc-js/wasm-root • Docs DuckDB WASM library, a in-process SQL OLAP Database Management System.. See DuckDB for more details. db: Compiles and instantiates the raw wasm. INFO In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing A promise to an instance of the DuckDB class. Unloades the compiled wasm instance. version(): The DuckDB version @hpcc-js/wasm-root • Docs DuckDB WASM library, a in-process SQL OLAP Database Management System.. See DuckDB for more details. db: Compiles and instantiates the raw wasm. INFO In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing A promise to an instance of the DuckDB class. Unloades the compiled wasm instance. version(): The DuckDB version @hpcc-js/wasm-root • Docs @hpcc-js/wasm-root • Docs @hpcc-js/wasm-root • Docs Expat XML parser WASM library, provides a simplified wrapper around the Expat XML Parser library. See libexpat.github.io for c++ details. Compiles and instantiates the raw wasm. INFO In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing A promise to an instance of the Expat class. Unloades the compiled wasm instance. version(): The Expat c++ version parse( Parses the XML with suitable callbacks. TIP The IParser.characterData callback method can get called several times for a single tag element. • xml: string containing XML • callback: Callback interface @hpcc-js/wasm-root • Docs Expat XML parser WASM library, provides a simplified wrapper around the Expat XML Parser library. See libexpat.github.io for c++ details. Compiles and instantiates the raw wasm. INFO In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing A promise to an instance of the Expat class. Unloades the compiled wasm instance. version(): The Expat c++ version parse( Parses the XML with suitable callbacks. TIP The IParser.characterData callback method can get called several times for a single tag element. • xml: string containing XML • callback: Callback interface @hpcc-js/wasm-root • Docs new StackElement( • tag: • attrs: appendContent( • content: @hpcc-js/wasm-root • Docs new StackElement( • tag: • attrs: appendContent( • content: @hpcc-js/wasm-root • Docs new StackParser(): parse( • xml: top(): startElement( • tag: • attrs: endElement( • _tag: characterData( • content: @hpcc-js/wasm-root • Docs new StackParser(): parse( • xml: top(): startElement( • tag: • attrs: endElement( • _tag: characterData( • content: @hpcc-js/wasm-root • Docs startElement( • tag: • attrs: endElement( • tag: characterData( • content: @hpcc-js/wasm-root • Docs startElement( • tag: • attrs: endElement( • tag: characterData( • content: @hpcc-js/wasm-root • Docs Attributes: [ @hpcc-js/wasm-root • Docs Attributes: [ By default @hpcc-js/wasm is a modern JavaScript Module (ESM) package, for convenience it also includes Universal Module Definition (UMD) bundles which can be loaded in older browser / build environments. The simplest way to include this project is via NPM: It can then be referenced within your source code: Alternatively the @hpcc-js/wasm package can be imported directly within the html page, using a NPM CDN server like unpkg or jsdelivr. For modern browsers and For legacy environments you can load the UMD packages: By default @hpcc-js/wasm is a modern JavaScript Module (ESM) package, for convenience it also includes Universal Module Definition (UMD) bundles which can be loaded in older browser / build environments. The simplest way to include this project is via NPM: It can then be referenced within your source code: Alternatively the @hpcc-js/wasm package can be imported directly within the html page, using a NPM CDN server like unpkg or jsdelivr. For modern browsers and For legacy environments you can load the UMD packages: To call To install the global command Usage: To call To install the global command Usage: @hpcc-js/wasm-root • Docs @hpcc-js/wasm-root • Docs @hpcc-js/wasm-root • Docs The Graphviz layout algorithms take descriptions of graphs in a simple text language, and make diagrams in useful formats, such as images and SVG for web pages or display in an interactive graph browser. Graphviz has many useful features for concrete diagrams, such as options for colors, fonts, tabular node layouts, line styles, hyperlinks, and custom shapes. See graphviz.org for more details. Compiles and instantiates the raw wasm. INFO In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing A promise to an instance of the Graphviz class. Unloades the compiled wasm instance. version(): The Graphviz c++ version layout( Performs layout for the supplied dotSource, see The DOT Language for specification. • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • layoutEngine: The type of layout to perform. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by acyclic( acyclic is a filter that takes a directed graph as input and outputs a copy of the graph with sufficient edges reversed to make the graph acyclic. The reversed edge inherits all of the attributes of the original edge. The optional file argument specifies where the input graph is stored; by default. • dotSource: Required - graph definition in DOT language • doWrite: Enable output is produced, though the return value will indicate whether the graph is acyclic or not. • verbose: Print information about whether the file is acyclic, has a cycle or is undirected. acyclic: num_rev: outFile: tred( tred computes the transitive reduction of directed graphs, and prints the resulting graphs to standard output. This removes edges implied by transitivity. Nodes and subgraphs are not otherwise affected. The ‘‘meaning’’ and validity of the reduced graphs is application dependent. tred is particularly useful as a preprocessor to dot to reduce clutter in dense layouts. Undirected graphs are silently ignored. • dotSource: Required - graph definition in DOT language • verbose: Print additional information. • printRemovedEdges: Print information about removed edges. out: err: unflatten( unflatten is a preprocessor to dot that is used to improve the aspect ratio of graphs having many leaves or disconnected nodes. The usual layout for such a graph is generally very wide or tall. unflatten inserts invisible edges or adjusts the minlen on edges to improve layout compaction. • dotSource: Required - graph definition in DOT language • maxMinlen: The minimum length of leaf edges is staggered between 1 and len (a small integer). • do_fans: Enables the staggering of the -maxMinlen option to fanout nodes whose indegree and outdegree are both 1. This helps with structures such as a -> {w x y } -> b. This option only works if the -maxMinlen flag is set. • chainLimit: Form disconnected nodes into chains of up to len nodes. A string containing the "unflattened" dotSource. circo( Convenience function that performs the circo layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by dot( Convenience function that performs the dot layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by fdp( Convenience function that performs the fdp layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by sfdp( Convenience function that performs the sfdp layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by neato( Convenience function that performs the neato layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by osage( Convenience function that performs the osage layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by patchwork( Convenience function that performs the patchwork layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by twopi( Convenience function that performs the twopi layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by nop( Convenience function that performs the nop layout, is equivalent to • dotSource: Required - graph definition in DOT language A string containing the "pretty printed" dotSource. nop2( Convenience function that performs the nop2 layout, is equivalent to • dotSource: Required - graph definition in DOT language A string containing the "pretty printed" dotSource. @hpcc-js/wasm-root • Docs The Graphviz layout algorithms take descriptions of graphs in a simple text language, and make diagrams in useful formats, such as images and SVG for web pages or display in an interactive graph browser. Graphviz has many useful features for concrete diagrams, such as options for colors, fonts, tabular node layouts, line styles, hyperlinks, and custom shapes. See graphviz.org for more details. Compiles and instantiates the raw wasm. INFO In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing A promise to an instance of the Graphviz class. Unloades the compiled wasm instance. version(): The Graphviz c++ version layout( Performs layout for the supplied dotSource, see The DOT Language for specification. • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • layoutEngine: The type of layout to perform. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by acyclic( acyclic is a filter that takes a directed graph as input and outputs a copy of the graph with sufficient edges reversed to make the graph acyclic. The reversed edge inherits all of the attributes of the original edge. The optional file argument specifies where the input graph is stored; by default. • dotSource: Required - graph definition in DOT language • doWrite: Enable output is produced, though the return value will indicate whether the graph is acyclic or not. • verbose: Print information about whether the file is acyclic, has a cycle or is undirected. acyclic: num_rev: outFile: tred( tred computes the transitive reduction of directed graphs, and prints the resulting graphs to standard output. This removes edges implied by transitivity. Nodes and subgraphs are not otherwise affected. The ‘‘meaning’’ and validity of the reduced graphs is application dependent. tred is particularly useful as a preprocessor to dot to reduce clutter in dense layouts. Undirected graphs are silently ignored. • dotSource: Required - graph definition in DOT language • verbose: Print additional information. • printRemovedEdges: Print information about removed edges. out: err: unflatten( unflatten is a preprocessor to dot that is used to improve the aspect ratio of graphs having many leaves or disconnected nodes. The usual layout for such a graph is generally very wide or tall. unflatten inserts invisible edges or adjusts the minlen on edges to improve layout compaction. • dotSource: Required - graph definition in DOT language • maxMinlen: The minimum length of leaf edges is staggered between 1 and len (a small integer). • do_fans: Enables the staggering of the -maxMinlen option to fanout nodes whose indegree and outdegree are both 1. This helps with structures such as a -> {w x y } -> b. This option only works if the -maxMinlen flag is set. • chainLimit: Form disconnected nodes into chains of up to len nodes. A string containing the "unflattened" dotSource. circo( Convenience function that performs the circo layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by dot( Convenience function that performs the dot layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by fdp( Convenience function that performs the fdp layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by sfdp( Convenience function that performs the sfdp layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by neato( Convenience function that performs the neato layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by osage( Convenience function that performs the osage layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by patchwork( Convenience function that performs the patchwork layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by twopi( Convenience function that performs the twopi layout, is equivalent to • dotSource: Required - graph definition in DOT language • outputFormat: The format of the result. • options?: Advanced Options for images, files, yInvert and nop. A string containing the calculated layout in the format specified by nop( Convenience function that performs the nop layout, is equivalent to • dotSource: Required - graph definition in DOT language A string containing the "pretty printed" dotSource. nop2( Convenience function that performs the nop2 layout, is equivalent to • dotSource: Required - graph definition in DOT language A string containing the "pretty printed" dotSource. @hpcc-js/wasm-root • Docs path: data: @hpcc-js/wasm-root • Docs path: data: @hpcc-js/wasm-root • Docs Example: Passing a web hosted Image to GraphViz: path: Full URL to image width: height: @hpcc-js/wasm-root • Docs Example: Passing a web hosted Image to GraphViz: path: Full URL to image width: height: @hpcc-js/wasm-root • Docs @hpcc-js/wasm-root • Docs @hpcc-js/wasm-root • Docs Engine: Various algorithms for projecting abstract graphs into a space for visualization. See Layout Engines for more details. @hpcc-js/wasm-root • Docs Engine: Various algorithms for projecting abstract graphs into a space for visualization. See Layout Engines for more details. @hpcc-js/wasm-root • Docs Format: Various graphic and data formats for end user, web, documents and other applications. See Output Formats for more information. @hpcc-js/wasm-root • Docs Format: Various graphic and data formats for end user, web, documents and other applications. See Output Formats for more information. @hpcc-js/wasm-root • Docs @hpcc-js/wasm-root • Docs @hpcc-js/wasm-root • Docs The llama WASM library, provides a simplified wrapper around the llama.cpp library. See llama.cpp for more details. Compiles and instantiates the raw wasm. INFO In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing A promise to an instance of the Llama class. Unloades the compiled wasm instance. version(): The Llama c++ version embedding( Calculates the vector representation of the input text. • text: The input text. • model: The model to use for the embedding. • format: The embedding of the text using the model. @hpcc-js/wasm-root • Docs The llama WASM library, provides a simplified wrapper around the llama.cpp library. See llama.cpp for more details. Compiles and instantiates the raw wasm. INFO In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing A promise to an instance of the Llama class. Unloades the compiled wasm instance. version(): The Llama c++ version embedding( Calculates the vector representation of the input text. • text: The input text. • model: The model to use for the embedding. • format: The embedding of the text using the model. @hpcc-js/wasm-root • Docs @hpcc-js/wasm-root • Docs @hpcc-js/wasm-root • Docs The Zstandard WASM library, provides a simplified wrapper around the Zstandard c++ library. See Zstandard for more details. Compiles and instantiates the raw wasm. INFO In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing A promise to an instance of the Zstd class. Unloades the compiled wasm instance. version(): The Zstd c++ version compress( • data: Data to be compressed • compressionLevel: Compression v Speed tradeoff, when omitted it will default to Compressed data. TIP A note on compressionLevel: The library supports regular compression levels from 1 up o 22. Levels >= 20, should be used with caution, as they require more memory. The library also offers negative compression levels, which extend the range of speed vs. ratio preferences. The lower the level, the faster the speed (at the cost of compression). decompress( • compressedData: Data to be compressed Uncompressed data. defaultCLevel(): Default compression level (see notes above above). minCLevel(): maxCLevel(): @hpcc-js/wasm-root • Docs The Zstandard WASM library, provides a simplified wrapper around the Zstandard c++ library. See Zstandard for more details. Compiles and instantiates the raw wasm. INFO In general WebAssembly compilation is disallowed on the main thread if the buffer size is larger than 4KB, hence forcing A promise to an instance of the Zstd class. Unloades the compiled wasm instance. version(): The Zstd c++ version compress( • data: Data to be compressed • compressionLevel: Compression v Speed tradeoff, when omitted it will default to Compressed data. TIP A note on compressionLevel: The library supports regular compression levels from 1 up o 22. Levels >= 20, should be used with caution, as they require more memory. The library also offers negative compression levels, which extend the range of speed vs. ratio preferences. The lower the level, the faster the speed (at the cost of compression). decompress( • compressedData: Data to be compressed Uncompressed data. defaultCLevel(): Default compression level (see notes above above). minCLevel(): maxCLevel(): duckdb/src/duckdb
Index
Classes
',6)]))}const b=d(r,[["render",t]]);export{k as __pageData,b as default};
diff --git a/assets/duckdb_src_duckdb_README.md.DSSHXat2.lean.js b/assets/duckdb_src_duckdb_README.md.DSSHXat2.lean.js
new file mode 100644
index 00000000..0bb8dee6
--- /dev/null
+++ b/assets/duckdb_src_duckdb_README.md.DSSHXat2.lean.js
@@ -0,0 +1 @@
+import{_ as d,c as s,a0 as c,o as e}from"./chunks/framework.Cu6dwUeI.js";const k=JSON.parse('{"title":"duckdb/src/duckdb","description":"","frontmatter":{},"headers":[],"relativePath":"duckdb/src/duckdb/README.md","filePath":"duckdb/src/duckdb/README.md","lastUpdated":null}'),r={name:"duckdb/src/duckdb/README.md"};function t(o,a,l,n,u,i){return e(),s("div",null,a[0]||(a[0]=[c('duckdb/src/duckdb
Index
Classes
',6)]))}const b=d(r,[["render",t]]);export{k as __pageData,b as default};
diff --git a/assets/duckdb_src_duckdb_classes_DuckDB.md.BjvlGE6-.js b/assets/duckdb_src_duckdb_classes_DuckDB.md.BjvlGE6-.js
new file mode 100644
index 00000000..200d6210
--- /dev/null
+++ b/assets/duckdb_src_duckdb_classes_DuckDB.md.BjvlGE6-.js
@@ -0,0 +1,20 @@
+import{_ as i,c as a,a0 as t,o as n}from"./chunks/framework.Cu6dwUeI.js";const o=JSON.parse('{"title":"Class: DuckDB","description":"","frontmatter":{},"headers":[],"relativePath":"duckdb/src/duckdb/classes/DuckDB.md","filePath":"duckdb/src/duckdb/classes/DuckDB.md","lastUpdated":null}'),h={name:"duckdb/src/duckdb/classes/DuckDB.md"};function e(l,s,k,p,r,d){return n(),a("div",null,s[0]||(s[0]=[t(`Class: DuckDB
import { DuckDB } from "@hpcc-js/wasm-duckdb";
+
+let duckdb = await DuckDB.load();
+const c = await duckdb.db.connect();
+
+const data = [
+ { "col1": 1, "col2": "foo" },
+ { "col1": 2, "col2": "bar" },
+];
+await duckdb.db.registerFileText("rows.json", JSON.stringify(data));
+await c.insertJSONFromPath('rows.json', { name: 'rows' });
+
+const arrowResult = await c.query("SELECT * FROM read_json_auto('rows.json')");
+const result = arrowResult.toArray().map((row) => row.toJSON());
+expect(result.length).to.equal(data.length);
+for (let i = 0; i < result.length; i++) {
+ expect(result[i].col2).to.equal(data[i].col2);
+}
+
+c.close();
Properties
db
AsyncDuckDB
Defined in
Methods
load()
static
load(): Promise
<DuckDB
>load
to be asynchronous;Returns
Promise
<DuckDB
>Defined in
unload()
static
unload(): void
Returns
void
Defined in
version()
string
Returns
string
Defined in
`,37)]))}const E=i(h,[["render",e]]);export{o as __pageData,E as default};
diff --git a/assets/duckdb_src_duckdb_classes_DuckDB.md.BjvlGE6-.lean.js b/assets/duckdb_src_duckdb_classes_DuckDB.md.BjvlGE6-.lean.js
new file mode 100644
index 00000000..200d6210
--- /dev/null
+++ b/assets/duckdb_src_duckdb_classes_DuckDB.md.BjvlGE6-.lean.js
@@ -0,0 +1,20 @@
+import{_ as i,c as a,a0 as t,o as n}from"./chunks/framework.Cu6dwUeI.js";const o=JSON.parse('{"title":"Class: DuckDB","description":"","frontmatter":{},"headers":[],"relativePath":"duckdb/src/duckdb/classes/DuckDB.md","filePath":"duckdb/src/duckdb/classes/DuckDB.md","lastUpdated":null}'),h={name:"duckdb/src/duckdb/classes/DuckDB.md"};function e(l,s,k,p,r,d){return n(),a("div",null,s[0]||(s[0]=[t(`Class: DuckDB
import { DuckDB } from "@hpcc-js/wasm-duckdb";
+
+let duckdb = await DuckDB.load();
+const c = await duckdb.db.connect();
+
+const data = [
+ { "col1": 1, "col2": "foo" },
+ { "col1": 2, "col2": "bar" },
+];
+await duckdb.db.registerFileText("rows.json", JSON.stringify(data));
+await c.insertJSONFromPath('rows.json', { name: 'rows' });
+
+const arrowResult = await c.query("SELECT * FROM read_json_auto('rows.json')");
+const result = arrowResult.toArray().map((row) => row.toJSON());
+expect(result.length).to.equal(data.length);
+for (let i = 0; i < result.length; i++) {
+ expect(result[i].col2).to.equal(data[i].col2);
+}
+
+c.close();
Properties
db
AsyncDuckDB
Defined in
Methods
load()
static
load(): Promise
<DuckDB
>load
to be asynchronous;Returns
Promise
<DuckDB
>Defined in
unload()
static
unload(): void
Returns
void
Defined in
version()
string
Returns
string
Defined in
`,37)]))}const E=i(h,[["render",e]]);export{o as __pageData,E as default};
diff --git a/assets/expat_src_expat_README.md.vyLcAduM.js b/assets/expat_src_expat_README.md.vyLcAduM.js
new file mode 100644
index 00000000..adaf70e2
--- /dev/null
+++ b/assets/expat_src_expat_README.md.vyLcAduM.js
@@ -0,0 +1 @@
+import{_ as e,c as t,a0 as s,o as r}from"./chunks/framework.Cu6dwUeI.js";const d=JSON.parse('{"title":"expat/src/expat","description":"","frontmatter":{},"headers":[],"relativePath":"expat/src/expat/README.md","filePath":"expat/src/expat/README.md","lastUpdated":null}'),l={name:"expat/src/expat/README.md"};function c(p,a,i,h,n,o){return r(),t("div",null,a[0]||(a[0]=[s('expat/src/expat
Index
Classes
Interfaces
Type Aliases
',10)]))}const m=e(l,[["render",c]]);export{d as __pageData,m as default};
diff --git a/assets/expat_src_expat_README.md.vyLcAduM.lean.js b/assets/expat_src_expat_README.md.vyLcAduM.lean.js
new file mode 100644
index 00000000..adaf70e2
--- /dev/null
+++ b/assets/expat_src_expat_README.md.vyLcAduM.lean.js
@@ -0,0 +1 @@
+import{_ as e,c as t,a0 as s,o as r}from"./chunks/framework.Cu6dwUeI.js";const d=JSON.parse('{"title":"expat/src/expat","description":"","frontmatter":{},"headers":[],"relativePath":"expat/src/expat/README.md","filePath":"expat/src/expat/README.md","lastUpdated":null}'),l={name:"expat/src/expat/README.md"};function c(p,a,i,h,n,o){return r(),t("div",null,a[0]||(a[0]=[s('expat/src/expat
Index
Classes
Interfaces
Type Aliases
',10)]))}const m=e(l,[["render",c]]);export{d as __pageData,m as default};
diff --git a/assets/expat_src_expat_classes_Expat.md.CWp3EuIl.js b/assets/expat_src_expat_classes_Expat.md.CWp3EuIl.js
new file mode 100644
index 00000000..95e7fbd4
--- /dev/null
+++ b/assets/expat_src_expat_classes_Expat.md.CWp3EuIl.js
@@ -0,0 +1,17 @@
+import{_ as s,c as e,a0 as i,o as t}from"./chunks/framework.Cu6dwUeI.js";const k=JSON.parse('{"title":"Class: Expat","description":"","frontmatter":{},"headers":[],"relativePath":"expat/src/expat/classes/Expat.md","filePath":"expat/src/expat/classes/Expat.md","lastUpdated":null}'),n={name:"expat/src/expat/classes/Expat.md"};function l(r,a,p,h,o,c){return t(),e("div",null,a[0]||(a[0]=[i(`Class: Expat
import { Expat } from "@hpcc-js/wasm-expat";
+
+const expat = await Expat.load();
+
+const xml = \` \\
+ <root>
+ <child xxx="yyy">content</child>
+ </root>
+\`;
+
+const callback = {
+ startElement(tag, attrs) { console.log("start", tag, attrs); },
+ endElement(tag) { console.log("end", tag); },
+ characterData(content) { console.log("characterData", content); }
+};
+
+expat.parse(xml, callback);
Methods
load()
static
load(): Promise
<Expat
>load
to be asynchronous;Returns
Promise
<Expat
>Defined in
unload()
static
unload(): void
Returns
void
Defined in
version()
string
Returns
string
Defined in
parse()
xml
, callback
): boolean
Parameters
string
IParser
Returns
boolean
true
|false
if the XML parse succeeds.Defined in
`,47)]))}const E=s(n,[["render",l]]);export{k as __pageData,E as default};
diff --git a/assets/expat_src_expat_classes_Expat.md.CWp3EuIl.lean.js b/assets/expat_src_expat_classes_Expat.md.CWp3EuIl.lean.js
new file mode 100644
index 00000000..95e7fbd4
--- /dev/null
+++ b/assets/expat_src_expat_classes_Expat.md.CWp3EuIl.lean.js
@@ -0,0 +1,17 @@
+import{_ as s,c as e,a0 as i,o as t}from"./chunks/framework.Cu6dwUeI.js";const k=JSON.parse('{"title":"Class: Expat","description":"","frontmatter":{},"headers":[],"relativePath":"expat/src/expat/classes/Expat.md","filePath":"expat/src/expat/classes/Expat.md","lastUpdated":null}'),n={name:"expat/src/expat/classes/Expat.md"};function l(r,a,p,h,o,c){return t(),e("div",null,a[0]||(a[0]=[i(`Class: Expat
import { Expat } from "@hpcc-js/wasm-expat";
+
+const expat = await Expat.load();
+
+const xml = \` \\
+ <root>
+ <child xxx="yyy">content</child>
+ </root>
+\`;
+
+const callback = {
+ startElement(tag, attrs) { console.log("start", tag, attrs); },
+ endElement(tag) { console.log("end", tag); },
+ characterData(content) { console.log("characterData", content); }
+};
+
+expat.parse(xml, callback);
Methods
load()
static
load(): Promise
<Expat
>load
to be asynchronous;Returns
Promise
<Expat
>Defined in
unload()
static
unload(): void
Returns
void
Defined in
version()
string
Returns
string
Defined in
parse()
xml
, callback
): boolean
Parameters
string
IParser
Returns
boolean
true
|false
if the XML parse succeeds.Defined in
`,47)]))}const E=s(n,[["render",l]]);export{k as __pageData,E as default};
diff --git a/assets/expat_src_expat_classes_StackElement.md.C2Vx9uLW.js b/assets/expat_src_expat_classes_StackElement.md.C2Vx9uLW.js
new file mode 100644
index 00000000..2762f1b2
--- /dev/null
+++ b/assets/expat_src_expat_classes_StackElement.md.C2Vx9uLW.js
@@ -0,0 +1 @@
+import{_ as a,c as t,a0 as r,o as s}from"./chunks/framework.Cu6dwUeI.js";const b=JSON.parse('{"title":"Class: StackElement","description":"","frontmatter":{},"headers":[],"relativePath":"expat/src/expat/classes/StackElement.md","filePath":"expat/src/expat/classes/StackElement.md","lastUpdated":null}'),o={name:"expat/src/expat/classes/StackElement.md"};function n(c,e,d,l,i,h){return s(),t("div",null,e[0]||(e[0]=[r('Class: StackElement
Constructors
new StackElement()
tag
, attrs
): StackElement
Parameters
string
Attributes
Returns
Defined in
Properties
tag
readonly
tag: string
Defined in
attrs
readonly
attrs: Attributes
Defined in
Accessors
content
get
content(): string
Returns
string
Defined in
Methods
appendContent()
content
): void
Parameters
string
Returns
void
Defined in
',39)]))}const m=a(o,[["render",n]]);export{b as __pageData,m as default};
diff --git a/assets/expat_src_expat_classes_StackElement.md.C2Vx9uLW.lean.js b/assets/expat_src_expat_classes_StackElement.md.C2Vx9uLW.lean.js
new file mode 100644
index 00000000..2762f1b2
--- /dev/null
+++ b/assets/expat_src_expat_classes_StackElement.md.C2Vx9uLW.lean.js
@@ -0,0 +1 @@
+import{_ as a,c as t,a0 as r,o as s}from"./chunks/framework.Cu6dwUeI.js";const b=JSON.parse('{"title":"Class: StackElement","description":"","frontmatter":{},"headers":[],"relativePath":"expat/src/expat/classes/StackElement.md","filePath":"expat/src/expat/classes/StackElement.md","lastUpdated":null}'),o={name:"expat/src/expat/classes/StackElement.md"};function n(c,e,d,l,i,h){return s(),t("div",null,e[0]||(e[0]=[r('Class: StackElement
Constructors
new StackElement()
tag
, attrs
): StackElement
Parameters
string
Attributes
Returns
Defined in
Properties
tag
readonly
tag: string
Defined in
attrs
readonly
attrs: Attributes
Defined in
Accessors
content
get
content(): string
Returns
string
Defined in
Methods
appendContent()
content
): void
Parameters
string
Returns
void
Defined in
',39)]))}const m=a(o,[["render",n]]);export{b as __pageData,m as default};
diff --git a/assets/expat_src_expat_classes_StackParser.md.DdRF1trH.js b/assets/expat_src_expat_classes_StackParser.md.DdRF1trH.js
new file mode 100644
index 00000000..6ac639df
--- /dev/null
+++ b/assets/expat_src_expat_classes_StackParser.md.DdRF1trH.js
@@ -0,0 +1 @@
+import{_ as a,c as t,a0 as r,o as s}from"./chunks/framework.Cu6dwUeI.js";const m=JSON.parse('{"title":"Class: StackParser","description":"","frontmatter":{},"headers":[],"relativePath":"expat/src/expat/classes/StackParser.md","filePath":"expat/src/expat/classes/StackParser.md","lastUpdated":null}'),c={name:"expat/src/expat/classes/StackParser.md"};function o(n,e,l,h,d,i){return s(),t("div",null,e[0]||(e[0]=[r('Class: StackParser
Implements
Constructors
new StackParser()
StackParser
Returns
Methods
parse()
xml
): Promise
<boolean
>Parameters
string
Returns
Promise
<boolean
>Defined in
top()
StackElement
Returns
Defined in
startElement()
tag
, attrs
): StackElement
Parameters
string
Attributes
Returns
Implementation of
Defined in
endElement()
_tag
): StackElement
Parameters
string
Returns
Implementation of
Defined in
characterData()
content
): void
Parameters
string
Returns
void
Implementation of
Defined in
',60)]))}const f=a(c,[["render",o]]);export{m as __pageData,f as default};
diff --git a/assets/expat_src_expat_classes_StackParser.md.DdRF1trH.lean.js b/assets/expat_src_expat_classes_StackParser.md.DdRF1trH.lean.js
new file mode 100644
index 00000000..6ac639df
--- /dev/null
+++ b/assets/expat_src_expat_classes_StackParser.md.DdRF1trH.lean.js
@@ -0,0 +1 @@
+import{_ as a,c as t,a0 as r,o as s}from"./chunks/framework.Cu6dwUeI.js";const m=JSON.parse('{"title":"Class: StackParser","description":"","frontmatter":{},"headers":[],"relativePath":"expat/src/expat/classes/StackParser.md","filePath":"expat/src/expat/classes/StackParser.md","lastUpdated":null}'),c={name:"expat/src/expat/classes/StackParser.md"};function o(n,e,l,h,d,i){return s(),t("div",null,e[0]||(e[0]=[r('Class: StackParser
Implements
Constructors
new StackParser()
StackParser
Returns
Methods
parse()
xml
): Promise
<boolean
>Parameters
string
Returns
Promise
<boolean
>Defined in
top()
StackElement
Returns
Defined in
startElement()
tag
, attrs
): StackElement
Parameters
string
Attributes
Returns
Implementation of
Defined in
endElement()
_tag
): StackElement
Parameters
string
Returns
Implementation of
Defined in
characterData()
content
): void
Parameters
string
Returns
void
Implementation of
Defined in
',60)]))}const f=a(c,[["render",o]]);export{m as __pageData,f as default};
diff --git a/assets/expat_src_expat_interfaces_IParser.md.APlKBXlx.js b/assets/expat_src_expat_interfaces_IParser.md.APlKBXlx.js
new file mode 100644
index 00000000..31dc3031
--- /dev/null
+++ b/assets/expat_src_expat_interfaces_IParser.md.APlKBXlx.js
@@ -0,0 +1 @@
+import{_ as a,c as t,a0 as r,o as s}from"./chunks/framework.Cu6dwUeI.js";const m=JSON.parse('{"title":"Interface: IParser","description":"","frontmatter":{},"headers":[],"relativePath":"expat/src/expat/interfaces/IParser.md","filePath":"expat/src/expat/interfaces/IParser.md","lastUpdated":null}'),o={name:"expat/src/expat/interfaces/IParser.md"};function n(c,e,d,i,h,l){return s(),t("div",null,e[0]||(e[0]=[r('Interface: IParser
Methods
startElement()
tag
, attrs
): void
Parameters
string
Attributes
Returns
void
Defined in
endElement()
tag
): void
Parameters
string
Returns
void
Defined in
characterData()
content
): void
Parameters
string
Returns
void
Defined in
',31)]))}const b=a(o,[["render",n]]);export{m as __pageData,b as default};
diff --git a/assets/expat_src_expat_interfaces_IParser.md.APlKBXlx.lean.js b/assets/expat_src_expat_interfaces_IParser.md.APlKBXlx.lean.js
new file mode 100644
index 00000000..31dc3031
--- /dev/null
+++ b/assets/expat_src_expat_interfaces_IParser.md.APlKBXlx.lean.js
@@ -0,0 +1 @@
+import{_ as a,c as t,a0 as r,o as s}from"./chunks/framework.Cu6dwUeI.js";const m=JSON.parse('{"title":"Interface: IParser","description":"","frontmatter":{},"headers":[],"relativePath":"expat/src/expat/interfaces/IParser.md","filePath":"expat/src/expat/interfaces/IParser.md","lastUpdated":null}'),o={name:"expat/src/expat/interfaces/IParser.md"};function n(c,e,d,i,h,l){return s(),t("div",null,e[0]||(e[0]=[r('Interface: IParser
Methods
startElement()
tag
, attrs
): void
Parameters
string
Attributes
Returns
void
Defined in
endElement()
tag
): void
Parameters
string
Returns
void
Defined in
characterData()
content
): void
Parameters
string
Returns
void
Defined in
',31)]))}const b=a(o,[["render",n]]);export{m as __pageData,b as default};
diff --git a/assets/expat_src_expat_type-aliases_Attributes.md.CFOlmGfl.js b/assets/expat_src_expat_type-aliases_Attributes.md.CFOlmGfl.js
new file mode 100644
index 00000000..c464f79e
--- /dev/null
+++ b/assets/expat_src_expat_type-aliases_Attributes.md.CFOlmGfl.js
@@ -0,0 +1 @@
+import{_ as t,c as a,a0 as s,o as r}from"./chunks/framework.Cu6dwUeI.js";const h=JSON.parse('{"title":"Type Alias: Attributes","description":"","frontmatter":{},"headers":[],"relativePath":"expat/src/expat/type-aliases/Attributes.md","filePath":"expat/src/expat/type-aliases/Attributes.md","lastUpdated":null}'),i={name:"expat/src/expat/type-aliases/Attributes.md"};function o(n,e,c,d,p,l){return r(),a("div",null,e[0]||(e[0]=[s('Type Alias: Attributes
object
Index Signature
key
: string
]: string
Defined in
',8)]))}const b=t(i,[["render",o]]);export{h as __pageData,b as default};
diff --git a/assets/expat_src_expat_type-aliases_Attributes.md.CFOlmGfl.lean.js b/assets/expat_src_expat_type-aliases_Attributes.md.CFOlmGfl.lean.js
new file mode 100644
index 00000000..c464f79e
--- /dev/null
+++ b/assets/expat_src_expat_type-aliases_Attributes.md.CFOlmGfl.lean.js
@@ -0,0 +1 @@
+import{_ as t,c as a,a0 as s,o as r}from"./chunks/framework.Cu6dwUeI.js";const h=JSON.parse('{"title":"Type Alias: Attributes","description":"","frontmatter":{},"headers":[],"relativePath":"expat/src/expat/type-aliases/Attributes.md","filePath":"expat/src/expat/type-aliases/Attributes.md","lastUpdated":null}'),i={name:"expat/src/expat/type-aliases/Attributes.md"};function o(n,e,c,d,p,l){return r(),a("div",null,e[0]||(e[0]=[s('Type Alias: Attributes
object
Index Signature
key
: string
]: string
Defined in
',8)]))}const b=t(i,[["render",o]]);export{h as __pageData,b as default};
diff --git a/assets/getting-started.md.DXtGWebB.js b/assets/getting-started.md.DXtGWebB.js
new file mode 100644
index 00000000..d4a5449b
--- /dev/null
+++ b/assets/getting-started.md.DXtGWebB.js
@@ -0,0 +1,48 @@
+import{_ as i,c as a,a0 as n,o as t}from"./chunks/framework.Cu6dwUeI.js";const g=JSON.parse('{"title":"Getting Started","description":"","frontmatter":{},"headers":[],"relativePath":"getting-started.md","filePath":"getting-started.md","lastUpdated":1730794083000}'),h={name:"getting-started.md"};function l(k,s,p,e,r,E){return t(),a("div",null,s[0]||(s[0]=[n(`Getting Started
Installation
NPM
npm install --save @hpcc-js/wasm
import { Base91, Graphviz, Zstd } from "@hpcc-js/wasm";
+
+// Graphviz ---
+async function dot2svg() {
+ const graphviz = await Graphviz.load();
+ console.log("svg: ", graphviz.dot('digraph G { Hello -> World }'));
+}
+
+dot2svg();
+
+// Base91 + Zstd ---
+const text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi.";
+const data = new TextEncoder().encode(text);
+
+async function compressDecompress() {
+ const zstd = await Zstd.load();
+ const compressed_data = zstd.compress(data);
+ const base91 = await Base91.load();
+ const base91Str = base91.encode(compressed_data);
+
+ const compressed_data2 = base91.decode(base91Str);
+ const data2 = zstd.decompress(compressed_data2);
+ const text2 = new TextDecoder().decode(data2);
+
+ console.log("Text Length: ", text.length);
+ console.log("Compressed Length: ", compressed_data.length);
+ console.log("Base91 Length: ", base91Str.length);
+ console.log("Passed: ", text === text2);
+}
+
+compressDecompress();
Vanilla HTML
import
:<script type="module">
+ import { Graphviz } from "https://cdn.jsdelivr.net/npm/@hpcc-js/wasm/dist/graphviz.js";
+
+ const graphviz = await Graphviz.load();
+ const dot = "digraph G { Hello -> World }";
+ const svg = graphviz.dot(dot);
+ const div = document.getElementById("placeholder");
+ div.innerHTML = graphviz.layout(dot, "svg", "dot");
+</script>
<script src="https://cdn.jsdelivr.net/npm/@hpcc-js/wasm/dist/graphviz.umd.js"></script>
+<script>
+ var hpccWasm = window["@hpcc-js/wasm"];
+ hpccWasm.Graphviz.load().then(graphviz => {
+ var dot = "digraph G { Hello -> World }";
+ var svg = graphviz.dot(dot);
+ var div = document.getElementById("placeholder");
+ div.innerHTML = graphviz.layout(dot, "svg", "dot");
+ });
+</script>
Getting Started
Installation
NPM
npm install --save @hpcc-js/wasm
import { Base91, Graphviz, Zstd } from "@hpcc-js/wasm";
+
+// Graphviz ---
+async function dot2svg() {
+ const graphviz = await Graphviz.load();
+ console.log("svg: ", graphviz.dot('digraph G { Hello -> World }'));
+}
+
+dot2svg();
+
+// Base91 + Zstd ---
+const text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi.";
+const data = new TextEncoder().encode(text);
+
+async function compressDecompress() {
+ const zstd = await Zstd.load();
+ const compressed_data = zstd.compress(data);
+ const base91 = await Base91.load();
+ const base91Str = base91.encode(compressed_data);
+
+ const compressed_data2 = base91.decode(base91Str);
+ const data2 = zstd.decompress(compressed_data2);
+ const text2 = new TextDecoder().decode(data2);
+
+ console.log("Text Length: ", text.length);
+ console.log("Compressed Length: ", compressed_data.length);
+ console.log("Base91 Length: ", base91Str.length);
+ console.log("Passed: ", text === text2);
+}
+
+compressDecompress();
Vanilla HTML
import
:<script type="module">
+ import { Graphviz } from "https://cdn.jsdelivr.net/npm/@hpcc-js/wasm/dist/graphviz.js";
+
+ const graphviz = await Graphviz.load();
+ const dot = "digraph G { Hello -> World }";
+ const svg = graphviz.dot(dot);
+ const div = document.getElementById("placeholder");
+ div.innerHTML = graphviz.layout(dot, "svg", "dot");
+</script>
<script src="https://cdn.jsdelivr.net/npm/@hpcc-js/wasm/dist/graphviz.umd.js"></script>
+<script>
+ var hpccWasm = window["@hpcc-js/wasm"];
+ hpccWasm.Graphviz.load().then(graphviz => {
+ var dot = "digraph G { Hello -> World }";
+ var svg = graphviz.dot(dot);
+ var div = document.getElementById("placeholder");
+ div.innerHTML = graphviz.layout(dot, "svg", "dot");
+ });
+</script>
Command Line Interface
dot-wasm
without installing:npx -p @hpcc-js/wasm dot-wasm [options] fileOrDot
dot-wasm
via NPM:npm install --global @hpcc-js/wasm
Usage: dot-wasm [options] fileOrDot
+
+Options:
+ --version Show version number [boolean]
+ -K, --layout Set layout engine (circo | dot | fdp | sfdp | neato | osage
+ | patchwork | twopi | nop | nop2). By default, dot is used.
+ -T, --format Set output language to one of the supported formats (svg,
+ dot, json, dot_json, xdot_json, plain, plain-ext). By
+ default, svg is produced.
+ -n, --neato-no-op Sets no-op flag in neato.
+ "-n 1" assumes neato nodes have already been positioned and
+ all nodes have a pos attribute giving the positions. It
+ then performs an optional adjustment to remove node-node
+ overlap, depending on the value of the overlap attribute,
+ computes the edge layouts, depending on the value of the
+ splines attribute, and emits the graph in the appropriate
+ format.
+ "-n 2" Use node positions as specified, with no adjustment
+ to remove node-node overlaps, and use any edge layouts
+ already specified by the pos attribute. neato computes an
+ edge layout for any edge that does not have a pos
+ attribute. As usual, edge layout is guided by the splines
+ attribute.
+ -y, --invert-y By default, the coordinate system used in generic output
+ formats, such as attributed dot, extended dot, plain and
+ plain-ext, is the standard cartesian system with the origin
+ in the lower left corner, and with increasing y coordinates
+ as points move from bottom to top. If the -y flag is used,
+ the coordinate system is inverted, so that increasing
+ values of y correspond to movement from top to bottom.
+ -v Echo GraphViz library version
+ -h, --help Show help [boolean]
+
+Examples:
+ dot-wasm -K neato -T xdot ./input.dot Execute NEATO layout and outputs XDOT
+ format.
Command Line Interface
dot-wasm
without installing:npx -p @hpcc-js/wasm dot-wasm [options] fileOrDot
dot-wasm
via NPM:npm install --global @hpcc-js/wasm
Usage: dot-wasm [options] fileOrDot
+
+Options:
+ --version Show version number [boolean]
+ -K, --layout Set layout engine (circo | dot | fdp | sfdp | neato | osage
+ | patchwork | twopi | nop | nop2). By default, dot is used.
+ -T, --format Set output language to one of the supported formats (svg,
+ dot, json, dot_json, xdot_json, plain, plain-ext). By
+ default, svg is produced.
+ -n, --neato-no-op Sets no-op flag in neato.
+ "-n 1" assumes neato nodes have already been positioned and
+ all nodes have a pos attribute giving the positions. It
+ then performs an optional adjustment to remove node-node
+ overlap, depending on the value of the overlap attribute,
+ computes the edge layouts, depending on the value of the
+ splines attribute, and emits the graph in the appropriate
+ format.
+ "-n 2" Use node positions as specified, with no adjustment
+ to remove node-node overlaps, and use any edge layouts
+ already specified by the pos attribute. neato computes an
+ edge layout for any edge that does not have a pos
+ attribute. As usual, edge layout is guided by the splines
+ attribute.
+ -y, --invert-y By default, the coordinate system used in generic output
+ formats, such as attributed dot, extended dot, plain and
+ plain-ext, is the standard cartesian system with the origin
+ in the lower left corner, and with increasing y coordinates
+ as points move from bottom to top. If the -y flag is used,
+ the coordinate system is inverted, so that increasing
+ values of y correspond to movement from top to bottom.
+ -v Echo GraphViz library version
+ -h, --help Show help [boolean]
+
+Examples:
+ dot-wasm -K neato -T xdot ./input.dot Execute NEATO layout and outputs XDOT
+ format.
graphviz/src/graphviz
Index
Classes
Interfaces
Type Aliases
',10)]))}const d=r(h,[["render",t]]);export{m as __pageData,d as default};
diff --git a/assets/graphviz_src_graphviz_README.md.7cGMhimQ.lean.js b/assets/graphviz_src_graphviz_README.md.7cGMhimQ.lean.js
new file mode 100644
index 00000000..20785edb
--- /dev/null
+++ b/assets/graphviz_src_graphviz_README.md.7cGMhimQ.lean.js
@@ -0,0 +1 @@
+import{_ as r,c as e,a0 as s,o as i}from"./chunks/framework.Cu6dwUeI.js";const m=JSON.parse('{"title":"graphviz/src/graphviz","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/README.md","filePath":"graphviz/src/graphviz/README.md","lastUpdated":null}'),h={name:"graphviz/src/graphviz/README.md"};function t(l,a,c,p,n,o){return i(),e("div",null,a[0]||(a[0]=[s('graphviz/src/graphviz
Index
Classes
Interfaces
Type Aliases
',10)]))}const d=r(h,[["render",t]]);export{m as __pageData,d as default};
diff --git a/assets/graphviz_src_graphviz_classes_Graphviz.md.CMJU0z53.js b/assets/graphviz_src_graphviz_classes_Graphviz.md.CMJU0z53.js
new file mode 100644
index 00000000..5eb5d724
--- /dev/null
+++ b/assets/graphviz_src_graphviz_classes_Graphviz.md.CMJU0z53.js
@@ -0,0 +1,6 @@
+import{_ as a,c as t,a0 as o,o as r}from"./chunks/framework.Cu6dwUeI.js";const u=JSON.parse('{"title":"Class: Graphviz","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/classes/Graphviz.md","filePath":"graphviz/src/graphviz/classes/Graphviz.md","lastUpdated":null}'),i={name:"graphviz/src/graphviz/classes/Graphviz.md"};function s(n,e,c,d,h,p){return r(),t("div",null,e[0]||(e[0]=[o(`Class: Graphviz
import { Graphviz } from "@hpcc-js/wasm/graphviz";
+
+const graphviz = await Graphviz.load();
+
+const dot = "digraph G { Hello -> World }";
+const svg = graphviz.dot(dot);
Online Demos
Methods
load()
static
load(): Promise
<Graphviz
>load
to be asynchronous;Returns
Promise
<Graphviz
>Defined in
unload()
static
unload(): void
Returns
void
Defined in
version()
string
Returns
string
Defined in
layout()
dotSource
, outputFormat
, layoutEngine
, options
?): string
Parameters
string
Format
= "svg"
Engine
= "dot"
Options
Returns
string
outputFormat
Defined in
acyclic()
dotSource
, doWrite
, verbose
): object
Parameters
string
boolean
= false
boolean
= false
Returns
object
{ acyclic: boolean, num_rev: number, outFile: string }
acyclic
will be true if a cycle was found, num_rev
will contain the number of reversed edges and outFile
will (optionally) contain the output.acyclic
boolean
num_rev
number
outFile
string
Defined in
tred()
dotSource
, verbose
, printRemovedEdges
): object
Parameters
string
boolean
= false
boolean
= false
Returns
object
{ out: string, err: string }
.out
string
err
string
Defined in
unflatten()
dotSource
, maxMinlen
, do_fans
, chainLimit
): string
Parameters
string
number
= 0
boolean
= false
number
= 0
Returns
string
Defined in
circo()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "circo");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
dot()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "dot");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
fdp()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "fdp");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
sfdp()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "sfdp");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
neato()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "neato");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
osage()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "osage");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
patchwork()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "patchwork");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
twopi()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "twopi");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
nop()
dotSource
): string
layout(dotSource, "dot", "nop");
.Parameters
string
Returns
string
Defined in
nop2()
dotSource
): string
layout(dotSource, "dot", "nop2");
.Parameters
string
Returns
string
Defined in
`,265)]))}const g=a(i,[["render",s]]);export{u as __pageData,g as default};
diff --git a/assets/graphviz_src_graphviz_classes_Graphviz.md.CMJU0z53.lean.js b/assets/graphviz_src_graphviz_classes_Graphviz.md.CMJU0z53.lean.js
new file mode 100644
index 00000000..5eb5d724
--- /dev/null
+++ b/assets/graphviz_src_graphviz_classes_Graphviz.md.CMJU0z53.lean.js
@@ -0,0 +1,6 @@
+import{_ as a,c as t,a0 as o,o as r}from"./chunks/framework.Cu6dwUeI.js";const u=JSON.parse('{"title":"Class: Graphviz","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/classes/Graphviz.md","filePath":"graphviz/src/graphviz/classes/Graphviz.md","lastUpdated":null}'),i={name:"graphviz/src/graphviz/classes/Graphviz.md"};function s(n,e,c,d,h,p){return r(),t("div",null,e[0]||(e[0]=[o(`Class: Graphviz
import { Graphviz } from "@hpcc-js/wasm/graphviz";
+
+const graphviz = await Graphviz.load();
+
+const dot = "digraph G { Hello -> World }";
+const svg = graphviz.dot(dot);
Online Demos
Methods
load()
static
load(): Promise
<Graphviz
>load
to be asynchronous;Returns
Promise
<Graphviz
>Defined in
unload()
static
unload(): void
Returns
void
Defined in
version()
string
Returns
string
Defined in
layout()
dotSource
, outputFormat
, layoutEngine
, options
?): string
Parameters
string
Format
= "svg"
Engine
= "dot"
Options
Returns
string
outputFormat
Defined in
acyclic()
dotSource
, doWrite
, verbose
): object
Parameters
string
boolean
= false
boolean
= false
Returns
object
{ acyclic: boolean, num_rev: number, outFile: string }
acyclic
will be true if a cycle was found, num_rev
will contain the number of reversed edges and outFile
will (optionally) contain the output.acyclic
boolean
num_rev
number
outFile
string
Defined in
tred()
dotSource
, verbose
, printRemovedEdges
): object
Parameters
string
boolean
= false
boolean
= false
Returns
object
{ out: string, err: string }
.out
string
err
string
Defined in
unflatten()
dotSource
, maxMinlen
, do_fans
, chainLimit
): string
Parameters
string
number
= 0
boolean
= false
number
= 0
Returns
string
Defined in
circo()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "circo");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
dot()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "dot");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
fdp()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "fdp");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
sfdp()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "sfdp");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
neato()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "neato");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
osage()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "osage");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
patchwork()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "patchwork");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
twopi()
dotSource
, outputFormat
, options
?): string
layout(dotSource, outputFormat, "twopi");
.Parameters
string
Format
= "svg"
Options
Returns
string
outputFormat
Defined in
nop()
dotSource
): string
layout(dotSource, "dot", "nop");
.Parameters
string
Returns
string
Defined in
nop2()
dotSource
): string
layout(dotSource, "dot", "nop2");
.Parameters
string
Returns
string
Defined in
`,265)]))}const g=a(i,[["render",s]]);export{u as __pageData,g as default};
diff --git a/assets/graphviz_src_graphviz_interfaces_File.md.B_3EWbmU.js b/assets/graphviz_src_graphviz_interfaces_File.md.B_3EWbmU.js
new file mode 100644
index 00000000..f8288d8d
--- /dev/null
+++ b/assets/graphviz_src_graphviz_interfaces_File.md.B_3EWbmU.js
@@ -0,0 +1 @@
+import{_ as e,c as r,a0 as t,o as i}from"./chunks/framework.Cu6dwUeI.js";const f=JSON.parse('{"title":"Interface: File","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/interfaces/File.md","filePath":"graphviz/src/graphviz/interfaces/File.md","lastUpdated":null}'),s={name:"graphviz/src/graphviz/interfaces/File.md"};function o(n,a,c,h,d,p){return i(),r("div",null,a[0]||(a[0]=[t('Interface: File
Properties
path
string
Defined in
data
string
Defined in
',13)]))}const g=e(s,[["render",o]]);export{f as __pageData,g as default};
diff --git a/assets/graphviz_src_graphviz_interfaces_File.md.B_3EWbmU.lean.js b/assets/graphviz_src_graphviz_interfaces_File.md.B_3EWbmU.lean.js
new file mode 100644
index 00000000..f8288d8d
--- /dev/null
+++ b/assets/graphviz_src_graphviz_interfaces_File.md.B_3EWbmU.lean.js
@@ -0,0 +1 @@
+import{_ as e,c as r,a0 as t,o as i}from"./chunks/framework.Cu6dwUeI.js";const f=JSON.parse('{"title":"Interface: File","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/interfaces/File.md","filePath":"graphviz/src/graphviz/interfaces/File.md","lastUpdated":null}'),s={name:"graphviz/src/graphviz/interfaces/File.md"};function o(n,a,c,h,d,p){return i(),r("div",null,a[0]||(a[0]=[t('Interface: File
Properties
path
string
Defined in
data
string
Defined in
',13)]))}const g=e(s,[["render",o]]);export{f as __pageData,g as default};
diff --git a/assets/graphviz_src_graphviz_interfaces_Image.md.CCSkBa0H.js b/assets/graphviz_src_graphviz_interfaces_Image.md.CCSkBa0H.js
new file mode 100644
index 00000000..5fe4224a
--- /dev/null
+++ b/assets/graphviz_src_graphviz_interfaces_Image.md.CCSkBa0H.js
@@ -0,0 +1,11 @@
+import{_ as a,c as i,a0 as t,o as e}from"./chunks/framework.Cu6dwUeI.js";const g=JSON.parse('{"title":"Interface: Image","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/interfaces/Image.md","filePath":"graphviz/src/graphviz/interfaces/Image.md","lastUpdated":null}'),h={name:"graphviz/src/graphviz/interfaces/Image.md"};function n(p,s,r,l,k,d){return e(),i("div",null,s[0]||(s[0]=[t(`Interface: Image
import { Graphviz } from "@hpcc-js/wasm-graphviz";
+
+const graphviz = await Graphviz.load();
+const svg = graphviz.layout('digraph { a[image="https://.../image.png"]; }', "svg", "dot", {
+ images: [{
+ path: "https://.../image.png",
+ width: "272px",
+ height: "92px"
+ }]
+});
+document.getElementById("placeholder").innerHTML = svg;
Properties
path
string
Defined in
width
string
Defined in
height
string
Defined in
`,21)]))}const c=a(h,[["render",n]]);export{g as __pageData,c as default};
diff --git a/assets/graphviz_src_graphviz_interfaces_Image.md.CCSkBa0H.lean.js b/assets/graphviz_src_graphviz_interfaces_Image.md.CCSkBa0H.lean.js
new file mode 100644
index 00000000..5fe4224a
--- /dev/null
+++ b/assets/graphviz_src_graphviz_interfaces_Image.md.CCSkBa0H.lean.js
@@ -0,0 +1,11 @@
+import{_ as a,c as i,a0 as t,o as e}from"./chunks/framework.Cu6dwUeI.js";const g=JSON.parse('{"title":"Interface: Image","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/interfaces/Image.md","filePath":"graphviz/src/graphviz/interfaces/Image.md","lastUpdated":null}'),h={name:"graphviz/src/graphviz/interfaces/Image.md"};function n(p,s,r,l,k,d){return e(),i("div",null,s[0]||(s[0]=[t(`Interface: Image
import { Graphviz } from "@hpcc-js/wasm-graphviz";
+
+const graphviz = await Graphviz.load();
+const svg = graphviz.layout('digraph { a[image="https://.../image.png"]; }', "svg", "dot", {
+ images: [{
+ path: "https://.../image.png",
+ width: "272px",
+ height: "92px"
+ }]
+});
+document.getElementById("placeholder").innerHTML = svg;
Properties
path
string
Defined in
width
string
Defined in
height
string
Defined in
`,21)]))}const c=a(h,[["render",n]]);export{g as __pageData,c as default};
diff --git a/assets/graphviz_src_graphviz_interfaces_Options.md.BR8MuxIr.js b/assets/graphviz_src_graphviz_interfaces_Options.md.BR8MuxIr.js
new file mode 100644
index 00000000..ed9b7e98
--- /dev/null
+++ b/assets/graphviz_src_graphviz_interfaces_Options.md.BR8MuxIr.js
@@ -0,0 +1 @@
+import{_ as a,c as r,a0 as t,o as i}from"./chunks/framework.Cu6dwUeI.js";const f=JSON.parse('{"title":"Interface: Options","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/interfaces/Options.md","filePath":"graphviz/src/graphviz/interfaces/Options.md","lastUpdated":null}'),o={name:"graphviz/src/graphviz/interfaces/Options.md"};function s(n,e,c,h,p,d){return i(),r("div",null,e[0]||(e[0]=[t('Interface: Options
Properties
images?
optional
images: Image
[]Defined in
files?
optional
files: File
[]Defined in
yInvert?
optional
yInvert: boolean
Defined in
nop?
optional
nop: number
Defined in
',23)]))}const b=a(o,[["render",s]]);export{f as __pageData,b as default};
diff --git a/assets/graphviz_src_graphviz_interfaces_Options.md.BR8MuxIr.lean.js b/assets/graphviz_src_graphviz_interfaces_Options.md.BR8MuxIr.lean.js
new file mode 100644
index 00000000..ed9b7e98
--- /dev/null
+++ b/assets/graphviz_src_graphviz_interfaces_Options.md.BR8MuxIr.lean.js
@@ -0,0 +1 @@
+import{_ as a,c as r,a0 as t,o as i}from"./chunks/framework.Cu6dwUeI.js";const f=JSON.parse('{"title":"Interface: Options","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/interfaces/Options.md","filePath":"graphviz/src/graphviz/interfaces/Options.md","lastUpdated":null}'),o={name:"graphviz/src/graphviz/interfaces/Options.md"};function s(n,e,c,h,p,d){return i(),r("div",null,e[0]||(e[0]=[t('Interface: Options
Properties
images?
optional
images: Image
[]Defined in
files?
optional
files: File
[]Defined in
yInvert?
optional
yInvert: boolean
Defined in
nop?
optional
nop: number
Defined in
',23)]))}const b=a(o,[["render",s]]);export{f as __pageData,b as default};
diff --git a/assets/graphviz_src_graphviz_type-aliases_Engine.md.D6J1ZD-x.js b/assets/graphviz_src_graphviz_type-aliases_Engine.md.D6J1ZD-x.js
new file mode 100644
index 00000000..c0a6672f
--- /dev/null
+++ b/assets/graphviz_src_graphviz_type-aliases_Engine.md.D6J1ZD-x.js
@@ -0,0 +1 @@
+import{_ as o,c as a,a0 as t,o as r}from"./chunks/framework.Cu6dwUeI.js";const h=JSON.parse('{"title":"Type Alias: Engine","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/type-aliases/Engine.md","filePath":"graphviz/src/graphviz/type-aliases/Engine.md","lastUpdated":null}'),s={name:"graphviz/src/graphviz/type-aliases/Engine.md"};function i(n,e,c,p,d,l){return r(),a("div",null,e[0]||(e[0]=[t('Type Alias: Engine
"circo"
| "dot"
| "fdp"
| "sfdp"
| "neato"
| "osage"
| "patchwork"
| "twopi"
| "nop"
| "nop2"
Defined in
',7)]))}const u=o(s,[["render",i]]);export{h as __pageData,u as default};
diff --git a/assets/graphviz_src_graphviz_type-aliases_Engine.md.D6J1ZD-x.lean.js b/assets/graphviz_src_graphviz_type-aliases_Engine.md.D6J1ZD-x.lean.js
new file mode 100644
index 00000000..c0a6672f
--- /dev/null
+++ b/assets/graphviz_src_graphviz_type-aliases_Engine.md.D6J1ZD-x.lean.js
@@ -0,0 +1 @@
+import{_ as o,c as a,a0 as t,o as r}from"./chunks/framework.Cu6dwUeI.js";const h=JSON.parse('{"title":"Type Alias: Engine","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/type-aliases/Engine.md","filePath":"graphviz/src/graphviz/type-aliases/Engine.md","lastUpdated":null}'),s={name:"graphviz/src/graphviz/type-aliases/Engine.md"};function i(n,e,c,p,d,l){return r(),a("div",null,e[0]||(e[0]=[t('Type Alias: Engine
"circo"
| "dot"
| "fdp"
| "sfdp"
| "neato"
| "osage"
| "patchwork"
| "twopi"
| "nop"
| "nop2"
Defined in
',7)]))}const u=o(s,[["render",i]]);export{h as __pageData,u as default};
diff --git a/assets/graphviz_src_graphviz_type-aliases_Format.md.CIT9mHPv.js b/assets/graphviz_src_graphviz_type-aliases_Format.md.CIT9mHPv.js
new file mode 100644
index 00000000..e276f015
--- /dev/null
+++ b/assets/graphviz_src_graphviz_type-aliases_Format.md.CIT9mHPv.js
@@ -0,0 +1 @@
+import{_ as t,c as o,a0 as e,o as r}from"./chunks/framework.Cu6dwUeI.js";const u=JSON.parse('{"title":"Type Alias: Format","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/type-aliases/Format.md","filePath":"graphviz/src/graphviz/type-aliases/Format.md","lastUpdated":null}'),s={name:"graphviz/src/graphviz/type-aliases/Format.md"};function c(i,a,n,d,p,l){return r(),o("div",null,a[0]||(a[0]=[e('Type Alias: Format
"svg"
| "dot"
| "json"
| "dot_json"
| "xdot_json"
| "plain"
| "plain-ext"
| "canon"
Defined in
',7)]))}const m=t(s,[["render",c]]);export{u as __pageData,m as default};
diff --git a/assets/graphviz_src_graphviz_type-aliases_Format.md.CIT9mHPv.lean.js b/assets/graphviz_src_graphviz_type-aliases_Format.md.CIT9mHPv.lean.js
new file mode 100644
index 00000000..e276f015
--- /dev/null
+++ b/assets/graphviz_src_graphviz_type-aliases_Format.md.CIT9mHPv.lean.js
@@ -0,0 +1 @@
+import{_ as t,c as o,a0 as e,o as r}from"./chunks/framework.Cu6dwUeI.js";const u=JSON.parse('{"title":"Type Alias: Format","description":"","frontmatter":{},"headers":[],"relativePath":"graphviz/src/graphviz/type-aliases/Format.md","filePath":"graphviz/src/graphviz/type-aliases/Format.md","lastUpdated":null}'),s={name:"graphviz/src/graphviz/type-aliases/Format.md"};function c(i,a,n,d,p,l){return r(),o("div",null,a[0]||(a[0]=[e('Type Alias: Format
"svg"
| "dot"
| "json"
| "dot_json"
| "xdot_json"
| "plain"
| "plain-ext"
| "canon"
Defined in
',7)]))}const m=t(s,[["render",c]]);export{u as __pageData,m as default};
diff --git a/assets/index.md.WK7qQMC9.js b/assets/index.md.WK7qQMC9.js
new file mode 100644
index 00000000..7ce9afde
--- /dev/null
+++ b/assets/index.md.WK7qQMC9.js
@@ -0,0 +1 @@
+import{_ as s,c as e,o as a}from"./chunks/framework.Cu6dwUeI.js";const p=JSON.parse(`{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"@hpcc-js/wasm","xtext":"Collection of wasm libraries.","tagline":"HPCC Systems WASM Collection.","image":{"light":{"src":"/hpccsystems.png","alt":"HPCC Systems","link":"https://hpccsystems.com/hpcc-systems/hpcc-js-wasm"},"dark":{"src":"/hpccsystemsdark.png","alt":"HPCC Systems","link":"https://hpccsystems.com/hpcc-systems/hpcc-js-wasm"}},"actions":[{"theme":"brand","text":"Get Started","link":"/getting-started"},{"theme":"alt","text":"View on GitHub","link":"https://github.com/hpcc-systems/hpcc-js-wasm"}]},"features":[{"title":"Base 91","details":"Similar to Base 64 but uses more characters resulting in smaller strings.","link":"/base91/src/base91/classes/Base91"},{"title":"DuckDB","details":"DuckDB - a fast in-process analytical database.","link":"/duckdb/src/duckdb/classes/DuckDB"},{"title":"Expat","details":"A popular stream-oriented XML parser library.","link":"/expat/src/expat/classes/Expat"},{"title":"GraphViz","details":"The Graphviz layout algorithms take descriptions of graphs in a simple text language, and make diagrams in useful formats, such as images and SVG for web pages or display in an interactive graph browser.","link":"/graphviz/src/graphviz/classes/Graphviz"},{"title":"Llama","details":"Inference of Meta's LLaMA model (and others) in pure C/C++.","link":"/llama/src/llama/classes/Llama"},{"title":"Zstd","details":"Zstandard is a fast compression algorithm, providing high compression ratios and is backed by an extremely fast decoder.","link":"/zstd/src/zstd/classes/Zstd"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1730794083000}`),t={name:"index.md"};function i(r,c,l,n,o,d){return a(),e("div")}const h=s(t,[["render",i]]);export{p as __pageData,h as default};
diff --git a/assets/index.md.WK7qQMC9.lean.js b/assets/index.md.WK7qQMC9.lean.js
new file mode 100644
index 00000000..7ce9afde
--- /dev/null
+++ b/assets/index.md.WK7qQMC9.lean.js
@@ -0,0 +1 @@
+import{_ as s,c as e,o as a}from"./chunks/framework.Cu6dwUeI.js";const p=JSON.parse(`{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"@hpcc-js/wasm","xtext":"Collection of wasm libraries.","tagline":"HPCC Systems WASM Collection.","image":{"light":{"src":"/hpccsystems.png","alt":"HPCC Systems","link":"https://hpccsystems.com/hpcc-systems/hpcc-js-wasm"},"dark":{"src":"/hpccsystemsdark.png","alt":"HPCC Systems","link":"https://hpccsystems.com/hpcc-systems/hpcc-js-wasm"}},"actions":[{"theme":"brand","text":"Get Started","link":"/getting-started"},{"theme":"alt","text":"View on GitHub","link":"https://github.com/hpcc-systems/hpcc-js-wasm"}]},"features":[{"title":"Base 91","details":"Similar to Base 64 but uses more characters resulting in smaller strings.","link":"/base91/src/base91/classes/Base91"},{"title":"DuckDB","details":"DuckDB - a fast in-process analytical database.","link":"/duckdb/src/duckdb/classes/DuckDB"},{"title":"Expat","details":"A popular stream-oriented XML parser library.","link":"/expat/src/expat/classes/Expat"},{"title":"GraphViz","details":"The Graphviz layout algorithms take descriptions of graphs in a simple text language, and make diagrams in useful formats, such as images and SVG for web pages or display in an interactive graph browser.","link":"/graphviz/src/graphviz/classes/Graphviz"},{"title":"Llama","details":"Inference of Meta's LLaMA model (and others) in pure C/C++.","link":"/llama/src/llama/classes/Llama"},{"title":"Zstd","details":"Zstandard is a fast compression algorithm, providing high compression ratios and is backed by an extremely fast decoder.","link":"/zstd/src/zstd/classes/Zstd"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1730794083000}`),t={name:"index.md"};function i(r,c,l,n,o,d){return a(),e("div")}const h=s(t,[["render",i]]);export{p as __pageData,h as default};
diff --git a/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 b/assets/inter-italic-cyrillic-ext.r48I6akx.woff2
new file mode 100644
index 00000000..b6b603d5
Binary files /dev/null and b/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 differ
diff --git a/assets/inter-italic-cyrillic.By2_1cv3.woff2 b/assets/inter-italic-cyrillic.By2_1cv3.woff2
new file mode 100644
index 00000000..def40a4f
Binary files /dev/null and b/assets/inter-italic-cyrillic.By2_1cv3.woff2 differ
diff --git a/assets/inter-italic-greek-ext.1u6EdAuj.woff2 b/assets/inter-italic-greek-ext.1u6EdAuj.woff2
new file mode 100644
index 00000000..e070c3d3
Binary files /dev/null and b/assets/inter-italic-greek-ext.1u6EdAuj.woff2 differ
diff --git a/assets/inter-italic-greek.DJ8dCoTZ.woff2 b/assets/inter-italic-greek.DJ8dCoTZ.woff2
new file mode 100644
index 00000000..a3c16ca4
Binary files /dev/null and b/assets/inter-italic-greek.DJ8dCoTZ.woff2 differ
diff --git a/assets/inter-italic-latin-ext.CN1xVJS-.woff2 b/assets/inter-italic-latin-ext.CN1xVJS-.woff2
new file mode 100644
index 00000000..2210a899
Binary files /dev/null and b/assets/inter-italic-latin-ext.CN1xVJS-.woff2 differ
diff --git a/assets/inter-italic-latin.C2AdPX0b.woff2 b/assets/inter-italic-latin.C2AdPX0b.woff2
new file mode 100644
index 00000000..790d62dc
Binary files /dev/null and b/assets/inter-italic-latin.C2AdPX0b.woff2 differ
diff --git a/assets/inter-italic-vietnamese.BSbpV94h.woff2 b/assets/inter-italic-vietnamese.BSbpV94h.woff2
new file mode 100644
index 00000000..1eec0775
Binary files /dev/null and b/assets/inter-italic-vietnamese.BSbpV94h.woff2 differ
diff --git a/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 b/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2
new file mode 100644
index 00000000..2cfe6153
Binary files /dev/null and b/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 differ
diff --git a/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 b/assets/inter-roman-cyrillic.C5lxZ8CY.woff2
new file mode 100644
index 00000000..e3886dd1
Binary files /dev/null and b/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 differ
diff --git a/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 b/assets/inter-roman-greek-ext.CqjqNYQ-.woff2
new file mode 100644
index 00000000..36d67487
Binary files /dev/null and b/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 differ
diff --git a/assets/inter-roman-greek.BBVDIX6e.woff2 b/assets/inter-roman-greek.BBVDIX6e.woff2
new file mode 100644
index 00000000..2bed1e85
Binary files /dev/null and b/assets/inter-roman-greek.BBVDIX6e.woff2 differ
diff --git a/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 b/assets/inter-roman-latin-ext.4ZJIpNVo.woff2
new file mode 100644
index 00000000..9a8d1e2b
Binary files /dev/null and b/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 differ
diff --git a/assets/inter-roman-latin.Di8DUHzh.woff2 b/assets/inter-roman-latin.Di8DUHzh.woff2
new file mode 100644
index 00000000..07d3c53a
Binary files /dev/null and b/assets/inter-roman-latin.Di8DUHzh.woff2 differ
diff --git a/assets/inter-roman-vietnamese.BjW4sHH5.woff2 b/assets/inter-roman-vietnamese.BjW4sHH5.woff2
new file mode 100644
index 00000000..57bdc22a
Binary files /dev/null and b/assets/inter-roman-vietnamese.BjW4sHH5.woff2 differ
diff --git a/assets/llama_src_llama_README.md.CRbTwk1D.js b/assets/llama_src_llama_README.md.CRbTwk1D.js
new file mode 100644
index 00000000..920b2ee3
--- /dev/null
+++ b/assets/llama_src_llama_README.md.CRbTwk1D.js
@@ -0,0 +1 @@
+import{_ as l,c as s,a0 as e,o as r}from"./chunks/framework.Cu6dwUeI.js";const p=JSON.parse('{"title":"llama/src/llama","description":"","frontmatter":{},"headers":[],"relativePath":"llama/src/llama/README.md","filePath":"llama/src/llama/README.md","lastUpdated":null}'),t={name:"llama/src/llama/README.md"};function c(m,a,o,n,i,d){return r(),s("div",null,a[0]||(a[0]=[e('llama/src/llama
Index
Classes
',6)]))}const u=l(t,[["render",c]]);export{p as __pageData,u as default};
diff --git a/assets/llama_src_llama_README.md.CRbTwk1D.lean.js b/assets/llama_src_llama_README.md.CRbTwk1D.lean.js
new file mode 100644
index 00000000..920b2ee3
--- /dev/null
+++ b/assets/llama_src_llama_README.md.CRbTwk1D.lean.js
@@ -0,0 +1 @@
+import{_ as l,c as s,a0 as e,o as r}from"./chunks/framework.Cu6dwUeI.js";const p=JSON.parse('{"title":"llama/src/llama","description":"","frontmatter":{},"headers":[],"relativePath":"llama/src/llama/README.md","filePath":"llama/src/llama/README.md","lastUpdated":null}'),t={name:"llama/src/llama/README.md"};function c(m,a,o,n,i,d){return r(),s("div",null,a[0]||(a[0]=[e('llama/src/llama
Index
Classes
',6)]))}const u=l(t,[["render",c]]);export{p as __pageData,u as default};
diff --git a/assets/llama_src_llama_classes_Llama.md.DejEYr4W.js b/assets/llama_src_llama_classes_Llama.md.DejEYr4W.js
new file mode 100644
index 00000000..ab8e42ab
--- /dev/null
+++ b/assets/llama_src_llama_classes_Llama.md.DejEYr4W.js
@@ -0,0 +1,9 @@
+import{_ as s,c as e,a0 as i,o as t}from"./chunks/framework.Cu6dwUeI.js";const k=JSON.parse('{"title":"Class: Llama","description":"","frontmatter":{},"headers":[],"relativePath":"llama/src/llama/classes/Llama.md","filePath":"llama/src/llama/classes/Llama.md","lastUpdated":null}'),l={name:"llama/src/llama/classes/Llama.md"};function n(r,a,h,o,d,p){return t(),e("div",null,a[0]||(a[0]=[i(`Class: Llama
import { Llama, WebBlob } from "@hpcc-js/wasm-llama";
+
+let llama = await Llama.load();
+const model = "https://huggingface.co/CompendiumLabs/bge-base-en-v1.5-gguf/resolve/main/bge-base-en-v1.5-q4_k_m.gguf";
+const webBlob: Blob = await WebBlob.create(new URL(model));
+
+const data: ArrayBuffer = await webBlob.arrayBuffer();
+
+const embeddings = llama.embedding("Hello and Welcome!", new Uint8Array(data));
Methods
load()
static
load(): Promise
<Llama
>load
to be asynchronous;Returns
Promise
<Llama
>Defined in
unload()
static
unload(): void
Returns
void
Defined in
version()
string
Returns
string
Defined in
embedding()
text
, model
, format
): number
[][]Parameters
string
Uint8Array
string
= "array"
Returns
number
[][]Defined in
`,47)]))}const m=s(l,[["render",n]]);export{k as __pageData,m as default};
diff --git a/assets/llama_src_llama_classes_Llama.md.DejEYr4W.lean.js b/assets/llama_src_llama_classes_Llama.md.DejEYr4W.lean.js
new file mode 100644
index 00000000..ab8e42ab
--- /dev/null
+++ b/assets/llama_src_llama_classes_Llama.md.DejEYr4W.lean.js
@@ -0,0 +1,9 @@
+import{_ as s,c as e,a0 as i,o as t}from"./chunks/framework.Cu6dwUeI.js";const k=JSON.parse('{"title":"Class: Llama","description":"","frontmatter":{},"headers":[],"relativePath":"llama/src/llama/classes/Llama.md","filePath":"llama/src/llama/classes/Llama.md","lastUpdated":null}'),l={name:"llama/src/llama/classes/Llama.md"};function n(r,a,h,o,d,p){return t(),e("div",null,a[0]||(a[0]=[i(`Class: Llama
import { Llama, WebBlob } from "@hpcc-js/wasm-llama";
+
+let llama = await Llama.load();
+const model = "https://huggingface.co/CompendiumLabs/bge-base-en-v1.5-gguf/resolve/main/bge-base-en-v1.5-q4_k_m.gguf";
+const webBlob: Blob = await WebBlob.create(new URL(model));
+
+const data: ArrayBuffer = await webBlob.arrayBuffer();
+
+const embeddings = llama.embedding("Hello and Welcome!", new Uint8Array(data));
Methods
load()
static
load(): Promise
<Llama
>load
to be asynchronous;Returns
Promise
<Llama
>Defined in
unload()
static
unload(): void
Returns
void
Defined in
version()
string
Returns
string
Defined in
embedding()
text
, model
, format
): number
[][]Parameters
string
Uint8Array
string
= "array"
Returns
number
[][]Defined in
`,47)]))}const m=s(l,[["render",n]]);export{k as __pageData,m as default};
diff --git a/assets/style.B2rP4cJA.css b/assets/style.B2rP4cJA.css
new file mode 100644
index 00000000..5456ac69
--- /dev/null
+++ b/assets/style.B2rP4cJA.css
@@ -0,0 +1 @@
+@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-roman-cyrillic-ext.BBPuwvHQ.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;font-style:normal;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-roman-cyrillic.C5lxZ8CY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-roman-greek-ext.CqjqNYQ-.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-roman-greek.BBVDIX6e.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-roman-vietnamese.BjW4sHH5.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-roman-latin-ext.4ZJIpNVo.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-roman-latin.Di8DUHzh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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;font-style:italic;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-italic-cyrillic-ext.r48I6akx.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;font-style:italic;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-italic-cyrillic.By2_1cv3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-italic-greek-ext.1u6EdAuj.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-italic-greek.DJ8dCoTZ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-italic-vietnamese.BSbpV94h.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-italic-latin-ext.CN1xVJS-.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/hpcc-js-wasm/assets/inter-italic-latin.C2AdPX0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}: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: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}: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{overflow-x:auto}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 h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.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;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;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,.vp-doc h4>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-c79a1216]{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-c79a1216],.VPBackdrop.fade-leave-to[data-v-c79a1216]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c79a1216]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c79a1216]{display:none}}.NotFound[data-v-d6be1790]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-d6be1790]{padding:96px 32px 168px}}.code[data-v-d6be1790]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-d6be1790]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-d6be1790]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-d6be1790]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-d6be1790]{padding-top:20px}.link[data-v-d6be1790]{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-d6be1790]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-b933a997]{position:relative;z-index:1}.nested[data-v-b933a997]{padding-right:16px;padding-left:16px}.outline-link[data-v-b933a997]{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-b933a997]:hover,.outline-link.active[data-v-b933a997]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-b933a997]{padding-left:13px}.VPDocAsideOutline[data-v-a5bbad30]{display:none}.VPDocAsideOutline.has-outline[data-v-a5bbad30]{display:block}.content[data-v-a5bbad30]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-a5bbad30]{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-a5bbad30]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-3f215769]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-3f215769]{flex-grow:1}.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-3f215769] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-e98dd255]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-e98dd255]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-e257564d]{margin-top:64px}.edit-info[data-v-e257564d]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-e257564d]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-e257564d]{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-e257564d]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-e257564d]{margin-right:8px}.prev-next[data-v-e257564d]{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-e257564d]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-e257564d]{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-e257564d]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-e257564d]{margin-left:auto;text-align:right}.desc[data-v-e257564d]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-e257564d]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-39a288b8]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-39a288b8]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-39a288b8]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-39a288b8]{display:flex;justify-content:center}.VPDoc .aside[data-v-39a288b8]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{max-width:1104px}}.container[data-v-39a288b8]{margin:0 auto;width:100%}.aside[data-v-39a288b8]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-39a288b8]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-39a288b8]{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-39a288b8]::-webkit-scrollbar{display:none}.aside-curtain[data-v-39a288b8]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-39a288b8]{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-39a288b8]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-39a288b8]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-39a288b8]{order:1;margin:0;min-width:640px}}.content-container[data-v-39a288b8]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-39a288b8]{max-width:688px}.VPButton[data-v-cad61b99]{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-cad61b99]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-cad61b99]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-cad61b99]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-cad61b99]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-cad61b99]: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-cad61b99]: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-cad61b99]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-cad61b99]: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-cad61b99]: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-cad61b99]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-cad61b99]: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-cad61b99]: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-8426fc1a]{display:none}.dark .VPImage.light[data-v-8426fc1a]{display:none}.VPHero[data-v-303bb580]{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-303bb580]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-303bb580]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-303bb580]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-303bb580]{flex-direction:row}}.main[data-v-303bb580]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-303bb580]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-303bb580]{text-align:left}}@media (min-width: 960px){.main[data-v-303bb580]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-303bb580]{max-width:592px}}.name[data-v-303bb580],.text[data-v-303bb580]{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-303bb580],.VPHero.has-image .text[data-v-303bb580]{margin:0 auto}.name[data-v-303bb580]{color:var(--vp-home-hero-name-color)}.clip[data-v-303bb580]{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-303bb580],.text[data-v-303bb580]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-303bb580],.text[data-v-303bb580]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-303bb580],.VPHero.has-image .text[data-v-303bb580]{margin:0}}.tagline[data-v-303bb580]{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-303bb580]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-303bb580]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-303bb580]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-303bb580]{margin:0}}.actions[data-v-303bb580]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-303bb580]{justify-content:center}@media (min-width: 640px){.actions[data-v-303bb580]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-303bb580]{justify-content:flex-start}}.action[data-v-303bb580]{flex-shrink:0;padding:6px}.image[data-v-303bb580]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-303bb580]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-303bb580]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-303bb580]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-303bb580]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-303bb580]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-303bb580]{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-303bb580]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-303bb580]{width:320px;height:320px}}[data-v-303bb580] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-303bb580] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-303bb580] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-a3976bdc]{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-a3976bdc]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-a3976bdc]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-a3976bdc]>.VPImage{margin-bottom:20px}.icon[data-v-a3976bdc]{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-a3976bdc]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-a3976bdc]{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-a3976bdc]{padding-top:8px}.link-text-value[data-v-a3976bdc]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-a3976bdc]{margin-left:6px}.VPFeatures[data-v-a6181336]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-a6181336]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-a6181336]{padding:0 64px}}.container[data-v-a6181336]{margin:0 auto;max-width:1152px}.items[data-v-a6181336]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-a6181336]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336]{width:50%}.item.grid-3[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-a6181336]{width:25%}}.container[data-v-8e2d4988]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-8e2d4988]{padding:0 48px}}@media (min-width: 960px){.container[data-v-8e2d4988]{width:100%;padding:0 64px}}.vp-doc[data-v-8e2d4988] .VPHomeSponsors,.vp-doc[data-v-8e2d4988] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-8e2d4988] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-8e2d4988] .VPHomeSponsors a,.vp-doc[data-v-8e2d4988] .VPTeamPage a{text-decoration:none}.VPHome[data-v-686f80a6]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-686f80a6]{margin-bottom:128px}}.VPContent[data-v-1428d186]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-1428d186]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-1428d186]{margin:0}@media (min-width: 960px){.VPContent[data-v-1428d186]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-1428d186]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-1428d186]{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-e315a0ad]{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-e315a0ad]{display:none}.VPFooter[data-v-e315a0ad] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-e315a0ad] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-e315a0ad]{padding:32px}}.container[data-v-e315a0ad]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e315a0ad],.copyright[data-v-e315a0ad]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-17a5e62e]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-17a5e62e]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-17a5e62e]{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-17a5e62e]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-17a5e62e]{color:var(--vp-c-text-1)}.icon[data-v-17a5e62e]{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-17a5e62e]{font-size:14px}.icon[data-v-17a5e62e]{font-size:16px}}.open>.icon[data-v-17a5e62e]{transform:rotate(90deg)}.items[data-v-17a5e62e]{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-17a5e62e]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-17a5e62e]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-17a5e62e]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-17a5e62e]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-17a5e62e]{transition:all .2s ease-out}.flyout-leave-active[data-v-17a5e62e]{transition:all .15s ease-in}.flyout-enter-from[data-v-17a5e62e],.flyout-leave-to[data-v-17a5e62e]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-a6f0e41e]{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-a6f0e41e]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-a6f0e41e]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-a6f0e41e]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-a6f0e41e]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-a6f0e41e]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-a6f0e41e]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-a6f0e41e]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-a6f0e41e]{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-a6f0e41e]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-a6f0e41e]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-a6f0e41e]{display:none}}.menu-icon[data-v-a6f0e41e]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-a6f0e41e]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-a6f0e41e]{padding:12px 32px 11px}}.VPSwitch[data-v-1d5665e3]{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-1d5665e3]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-1d5665e3]{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-1d5665e3]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-1d5665e3] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-1d5665e3] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-5337faa4]{opacity:1}.moon[data-v-5337faa4],.dark .sun[data-v-5337faa4]{opacity:0}.dark .moon[data-v-5337faa4]{opacity:1}.dark .VPSwitchAppearance[data-v-5337faa4] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-6c893767]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-6c893767]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-43f1e123]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-43f1e123]{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-43f1e123]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-43f1e123]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-69e747b5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-69e747b5]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-69e747b5]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-69e747b5]{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-b98bc113]{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-b98bc113] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-b98bc113] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-b98bc113] .group:last-child{padding-bottom:0}.VPMenu[data-v-b98bc113] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-b98bc113] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-b98bc113] .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-b98bc113] .action{padding-left:24px}.VPFlyout[data-v-b6c34ac9]{position:relative}.VPFlyout[data-v-b6c34ac9]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-b6c34ac9]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-b6c34ac9]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-b6c34ac9]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-b6c34ac9]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-b6c34ac9],.button[aria-expanded=true]+.menu[data-v-b6c34ac9]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-b6c34ac9]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-b6c34ac9]{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-b6c34ac9]{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-b6c34ac9]{margin-right:0;font-size:16px}.text-icon[data-v-b6c34ac9]{margin-left:4px;font-size:14px}.icon[data-v-b6c34ac9]{font-size:20px;transition:fill .25s}.menu[data-v-b6c34ac9]{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-eee4e7cb]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-eee4e7cb]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-eee4e7cb]>svg,.VPSocialLink[data-v-eee4e7cb]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-7bc22406]{display:flex;justify-content:center}.VPNavBarExtra[data-v-bb2aa2f0]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-bb2aa2f0]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-bb2aa2f0]{display:none}}.trans-title[data-v-bb2aa2f0]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-bb2aa2f0],.item.social-links[data-v-bb2aa2f0]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-bb2aa2f0]{min-width:176px}.appearance-action[data-v-bb2aa2f0]{margin-right:-2px}.social-links-list[data-v-bb2aa2f0]{margin:-4px -8px}.VPNavBarHamburger[data-v-e5dd9c1c]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e5dd9c1c]{display:none}}.container[data-v-e5dd9c1c]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e5dd9c1c]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .middle[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .bottom[data-v-e5dd9c1c]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e5dd9c1c],.middle[data-v-e5dd9c1c],.bottom[data-v-e5dd9c1c]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(0)}.middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-9c663999]{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-9c663999],.VPNavBarMenuLink[data-v-9c663999]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-dc692963]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-dc692963]{display:flex}}/*! @docsearch/css 3.6.2 | 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-Key--pressed{transform:none;box-shadow:none}.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-0394ad82]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-0394ad82]{display:flex;align-items:center}}.title[data-v-ab179fa1]{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-ab179fa1]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-ab179fa1]{border-bottom-color:var(--vp-c-divider)}}[data-v-ab179fa1] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-88af2de4]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-88af2de4]{display:flex;align-items:center}}.title[data-v-88af2de4]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-6aa21345]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar.screen-open[data-v-6aa21345]{transition:none;background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider)}.VPNavBar[data-v-6aa21345]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-6aa21345]:not(.home){background-color:transparent}.VPNavBar[data-v-6aa21345]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-6aa21345]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-6aa21345]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-6aa21345]{padding:0}}.container[data-v-6aa21345]{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-6aa21345],.container>.content[data-v-6aa21345]{pointer-events:none}.container[data-v-6aa21345] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-6aa21345]{max-width:100%}}.title[data-v-6aa21345]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-6aa21345]{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-6aa21345]{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-6aa21345]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-6aa21345]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-6aa21345]{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-6aa21345]{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-6aa21345]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-6aa21345]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-6aa21345]{column-gap:.5rem}}.menu+.translations[data-v-6aa21345]:before,.menu+.appearance[data-v-6aa21345]:before,.menu+.social-links[data-v-6aa21345]:before,.translations+.appearance[data-v-6aa21345]:before,.appearance+.social-links[data-v-6aa21345]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-6aa21345]:before,.translations+.appearance[data-v-6aa21345]:before{margin-right:16px}.appearance+.social-links[data-v-6aa21345]:before{margin-left:16px}.social-links[data-v-6aa21345]{margin-right:-8px}.divider[data-v-6aa21345]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-6aa21345]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-6aa21345]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-6aa21345]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-6aa21345]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-6aa21345]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-6aa21345]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-b44890b2]{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-b44890b2]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-7f31e1f6]{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-7f31e1f6]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-19976ae1]{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-19976ae1]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-8133b170]{display:block}.title[data-v-8133b170]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-b9ab8c58]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-b9ab8c58]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-b9ab8c58]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-b9ab8c58]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-b9ab8c58]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-b9ab8c58]{transform:rotate(45deg)}.button[data-v-b9ab8c58]{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-b9ab8c58]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-b9ab8c58]{transition:transform .25s}.group[data-v-b9ab8c58]:first-child{padding-top:0}.group+.group[data-v-b9ab8c58],.group+.item[data-v-b9ab8c58]{padding-top:4px}.VPNavScreenTranslations[data-v-858fe1a4]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-858fe1a4]{height:auto}.title[data-v-858fe1a4]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-858fe1a4]{font-size:16px}.icon.lang[data-v-858fe1a4]{margin-right:8px}.icon.chevron[data-v-858fe1a4]{margin-left:4px}.list[data-v-858fe1a4]{padding:4px 0 0 24px}.link[data-v-858fe1a4]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-f2779853]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px));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 .25s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-f2779853],.VPNavScreen.fade-leave-active[data-v-f2779853]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-f2779853],.VPNavScreen.fade-leave-active .container[data-v-f2779853]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-f2779853],.VPNavScreen.fade-leave-to[data-v-f2779853]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-f2779853],.VPNavScreen.fade-leave-to .container[data-v-f2779853]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-f2779853]{display:none}}.container[data-v-f2779853]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-f2779853],.menu+.appearance[data-v-f2779853],.translations+.appearance[data-v-f2779853]{margin-top:24px}.menu+.social-links[data-v-f2779853]{margin-top:16px}.appearance+.social-links[data-v-f2779853]{margin-top:16px}.VPNav[data-v-ae24b3ad]{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-ae24b3ad]{position:fixed}}.VPSidebarItem.level-0[data-v-b7550ba0]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-b7550ba0]{padding-bottom:10px}.item[data-v-b7550ba0]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-b7550ba0]{cursor:pointer}.indicator[data-v-b7550ba0]{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-b7550ba0],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-b7550ba0],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-b7550ba0],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-b7550ba0]{background-color:var(--vp-c-brand-1)}.link[data-v-b7550ba0]{display:flex;align-items:center;flex-grow:1}.text[data-v-b7550ba0]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-b7550ba0]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-b7550ba0],.VPSidebarItem.level-2 .text[data-v-b7550ba0],.VPSidebarItem.level-3 .text[data-v-b7550ba0],.VPSidebarItem.level-4 .text[data-v-b7550ba0],.VPSidebarItem.level-5 .text[data-v-b7550ba0]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-b7550ba0],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-b7550ba0],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-b7550ba0],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-b7550ba0],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-b7550ba0],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-b7550ba0]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-b7550ba0],.VPSidebarItem.level-1.has-active>.item>.text[data-v-b7550ba0],.VPSidebarItem.level-2.has-active>.item>.text[data-v-b7550ba0],.VPSidebarItem.level-3.has-active>.item>.text[data-v-b7550ba0],.VPSidebarItem.level-4.has-active>.item>.text[data-v-b7550ba0],.VPSidebarItem.level-5.has-active>.item>.text[data-v-b7550ba0],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-b7550ba0],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-b7550ba0],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-b7550ba0],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-b7550ba0],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-b7550ba0],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-b7550ba0]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-b7550ba0],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-b7550ba0],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-b7550ba0],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-b7550ba0],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-b7550ba0],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-b7550ba0]{color:var(--vp-c-brand-1)}.caret[data-v-b7550ba0]{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-b7550ba0]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-b7550ba0]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-b7550ba0]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-b7550ba0]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-b7550ba0],.VPSidebarItem.level-2 .items[data-v-b7550ba0],.VPSidebarItem.level-3 .items[data-v-b7550ba0],.VPSidebarItem.level-4 .items[data-v-b7550ba0],.VPSidebarItem.level-5 .items[data-v-b7550ba0]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-b7550ba0]{display:none}.no-transition[data-v-c40bc020] .caret-icon{transition:none}.group+.group[data-v-c40bc020]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-c40bc020]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-319d5ca6]{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-319d5ca6]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-319d5ca6]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-319d5ca6]{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-319d5ca6]{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-319d5ca6]{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-319d5ca6]{outline:0}.VPSkipLink[data-v-0f60ec36]{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-0f60ec36]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-0f60ec36]{top:14px;left:16px}}.Layout[data-v-5d98c3a5]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-3d121b4a]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-3d121b4a]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-3d121b4a]{margin:128px 0}}.VPHomeSponsors[data-v-3d121b4a]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-3d121b4a]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-3d121b4a]{padding:0 64px}}.container[data-v-3d121b4a]{margin:0 auto;max-width:1152px}.love[data-v-3d121b4a]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-3d121b4a]{display:inline-block}.message[data-v-3d121b4a]{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-3d121b4a]{padding-top:32px}.action[data-v-3d121b4a]{padding-top:40px;text-align:center}.VPTeamPage[data-v-7c57f839]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-7c57f839]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-7c57f839-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-7c57f839-s],.VPTeamMembers+.VPTeamPageSection[data-v-7c57f839-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-7c57f839-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-7c57f839-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-7c57f839-s],.VPTeamMembers+.VPTeamPageSection[data-v-7c57f839-s]{margin-top:96px}}.VPTeamMembers[data-v-7c57f839-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-7c57f839-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-7c57f839-s]{padding:0 64px}}.VPTeamPageTitle[data-v-bf2cbdac]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:80px 64px 48px}}.title[data-v-bf2cbdac]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-bf2cbdac]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-bf2cbdac]{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-bf2cbdac]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-b1a88750]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-b1a88750]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-b1a88750]{padding:0 64px}}.title[data-v-b1a88750]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-b1a88750]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-b1a88750]{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-b1a88750]{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-b1a88750]{padding-top:40px}.VPTeamMembersItem[data-v-f3fa364a]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-f3fa364a]{padding:32px}.VPTeamMembersItem.small .data[data-v-f3fa364a]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-f3fa364a]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-f3fa364a]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-f3fa364a]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-f3fa364a]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-f3fa364a]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-f3fa364a]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-f3fa364a]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-f3fa364a]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-f3fa364a]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-f3fa364a]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-f3fa364a]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-f3fa364a]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-f3fa364a]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-f3fa364a]{text-align:center}.avatar[data-v-f3fa364a]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-f3fa364a]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-f3fa364a]{margin:0;font-weight:600}.affiliation[data-v-f3fa364a]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-f3fa364a]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-f3fa364a]:hover{color:var(--vp-c-brand-1)}.desc[data-v-f3fa364a]{margin:0 auto}.desc[data-v-f3fa364a] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-f3fa364a]{display:flex;justify-content:center;height:56px}.sp-link[data-v-f3fa364a]{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-f3fa364a]:hover,.sp .sp-link.link[data-v-f3fa364a]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-f3fa364a]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-6cb0dbc4]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-6cb0dbc4]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-6cb0dbc4]{max-width:876px}.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-6cb0dbc4]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-6cb0dbc4]{max-width:760px}.container[data-v-6cb0dbc4]{display:grid;gap:24px;margin:0 auto;max-width:1152px}
diff --git a/assets/zstd_src_zstd_README.md.QgmrGHIf.js b/assets/zstd_src_zstd_README.md.QgmrGHIf.js
new file mode 100644
index 00000000..f5a1bc15
--- /dev/null
+++ b/assets/zstd_src_zstd_README.md.QgmrGHIf.js
@@ -0,0 +1 @@
+import{_ as t,c as a,a0 as e,o as r}from"./chunks/framework.Cu6dwUeI.js";const m=JSON.parse('{"title":"zstd/src/zstd","description":"","frontmatter":{},"headers":[],"relativePath":"zstd/src/zstd/README.md","filePath":"zstd/src/zstd/README.md","lastUpdated":null}'),d={name:"zstd/src/zstd/README.md"};function c(o,s,l,n,i,h){return r(),a("div",null,s[0]||(s[0]=[e('zstd/src/zstd
Index
Classes
',6)]))}const p=t(d,[["render",c]]);export{m as __pageData,p as default};
diff --git a/assets/zstd_src_zstd_README.md.QgmrGHIf.lean.js b/assets/zstd_src_zstd_README.md.QgmrGHIf.lean.js
new file mode 100644
index 00000000..f5a1bc15
--- /dev/null
+++ b/assets/zstd_src_zstd_README.md.QgmrGHIf.lean.js
@@ -0,0 +1 @@
+import{_ as t,c as a,a0 as e,o as r}from"./chunks/framework.Cu6dwUeI.js";const m=JSON.parse('{"title":"zstd/src/zstd","description":"","frontmatter":{},"headers":[],"relativePath":"zstd/src/zstd/README.md","filePath":"zstd/src/zstd/README.md","lastUpdated":null}'),d={name:"zstd/src/zstd/README.md"};function c(o,s,l,n,i,h){return r(),a("div",null,s[0]||(s[0]=[e('zstd/src/zstd
Index
Classes
',6)]))}const p=t(d,[["render",c]]);export{m as __pageData,p as default};
diff --git a/assets/zstd_src_zstd_classes_Zstd.md.DvDt-wy8.js b/assets/zstd_src_zstd_classes_Zstd.md.DvDt-wy8.js
new file mode 100644
index 00000000..69351433
--- /dev/null
+++ b/assets/zstd_src_zstd_classes_Zstd.md.DvDt-wy8.js
@@ -0,0 +1,9 @@
+import{_ as s,c as a,a0 as t,o as i}from"./chunks/framework.Cu6dwUeI.js";const k=JSON.parse('{"title":"Class: Zstd","description":"","frontmatter":{},"headers":[],"relativePath":"zstd/src/zstd/classes/Zstd.md","filePath":"zstd/src/zstd/classes/Zstd.md","lastUpdated":null}'),r={name:"zstd/src/zstd/classes/Zstd.md"};function n(d,e,o,l,h,c){return i(),a("div",null,e[0]||(e[0]=[t(`Class: Zstd
import { Zstd } from "@hpcc-js/wasm-zstd";
+
+const zstd = await Zstd.load();
+
+// Generate some "data"
+const data = new Uint8Array(Array.from({ length: 100000 }, (_, i) => i % 256));
+
+const compressed_data = zstd.compress(data);
+const decompressed_data = zstd.decompress(compressed_data);
Extends
WasmLibrary
Methods
load()
static
load(): Promise
<Zstd
>load
to be asynchronous;Returns
Promise
<Zstd
>Defined in
unload()
static
unload(): void
Returns
void
Defined in
version()
string
Returns
string
Defined in
compress()
data
, compressionLevel
): Uint8Array
Parameters
Uint8Array
number
= ...
zstd.defaultCLevel()
which is currently 3.Returns
Uint8Array
Defined in
decompress()
compressedData
): Uint8Array
Parameters
Uint8Array
Returns
Uint8Array
Defined in
defaultCLevel()
number
Returns
number
Defined in
minCLevel()
number
Returns
number
Defined in
maxCLevel()
number
Returns
number
Defined in
`,81)]))}const u=s(r,[["render",n]]);export{k as __pageData,u as default};
diff --git a/assets/zstd_src_zstd_classes_Zstd.md.DvDt-wy8.lean.js b/assets/zstd_src_zstd_classes_Zstd.md.DvDt-wy8.lean.js
new file mode 100644
index 00000000..69351433
--- /dev/null
+++ b/assets/zstd_src_zstd_classes_Zstd.md.DvDt-wy8.lean.js
@@ -0,0 +1,9 @@
+import{_ as s,c as a,a0 as t,o as i}from"./chunks/framework.Cu6dwUeI.js";const k=JSON.parse('{"title":"Class: Zstd","description":"","frontmatter":{},"headers":[],"relativePath":"zstd/src/zstd/classes/Zstd.md","filePath":"zstd/src/zstd/classes/Zstd.md","lastUpdated":null}'),r={name:"zstd/src/zstd/classes/Zstd.md"};function n(d,e,o,l,h,c){return i(),a("div",null,e[0]||(e[0]=[t(`Class: Zstd
import { Zstd } from "@hpcc-js/wasm-zstd";
+
+const zstd = await Zstd.load();
+
+// Generate some "data"
+const data = new Uint8Array(Array.from({ length: 100000 }, (_, i) => i % 256));
+
+const compressed_data = zstd.compress(data);
+const decompressed_data = zstd.decompress(compressed_data);
Extends
WasmLibrary
Methods
load()
static
load(): Promise
<Zstd
>load
to be asynchronous;Returns
Promise
<Zstd
>Defined in
unload()
static
unload(): void
Returns
void
Defined in
version()
string
Returns
string
Defined in
compress()
data
, compressionLevel
): Uint8Array
Parameters
Uint8Array
number
= ...
zstd.defaultCLevel()
which is currently 3.Returns
Uint8Array
Defined in
decompress()
compressedData
): Uint8Array
Parameters
Uint8Array
Returns
Uint8Array
Defined in
defaultCLevel()
number
Returns
number
Defined in
minCLevel()
number
Returns
number
Defined in
maxCLevel()
number
Returns
number
Defined in
`,81)]))}const u=s(r,[["render",n]]);export{k as __pageData,u as default};
diff --git a/base91/src/base91/README.html b/base91/src/base91/README.html
new file mode 100644
index 00000000..4e21068c
--- /dev/null
+++ b/base91/src/base91/README.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+