diff --git a/.vocs/search-index-46fc7e51.json b/.vocs/search-index-46fc7e51.json new file mode 100644 index 00000000..a0f0db1d --- /dev/null +++ b/.vocs/search-index-46fc7e51.json @@ -0,0 +1 @@ +{"documentCount":23,"nextId":23,"documentIds":{"0":"docs/pages/client.md#polkadotclient","1":"docs/pages/codegen.md#codegen","2":"docs/pages/codegen.md#contents","3":"docs/pages/codegen.md#usage","4":"docs/pages/providers.md#providers","5":"docs/pages/providers.md#logs-provider","6":"docs/pages/signers.md#signers","7":"docs/pages/signers.md#polkadotsigner-from-a-browser-extension","8":"docs/pages/signers.md#polkadotsigner-from-generic-signing-function","9":"docs/pages/typed.md#typedapi","10":"docs/pages/typed.md#iscompatible","11":"docs/pages/types.mdx#types","12":"docs/pages/types.mdx#ss58string","13":"docs/pages/types.mdx#hexstring","14":"docs/pages/types.mdx#enum","15":"docs/pages/types.mdx#binary","16":"docs/pages/types.mdx#fixedsizebinaryl","17":"docs/pages/types.mdx#fixedsizearrayl-t","18":"docs/pages/types.mdx#interface-types","19":"docs/pages/recipes/upgrade.md#preparing-for-a-runtime-upgrade","20":"docs/pages/typed/queries.md#storage-queries","21":"docs/pages/typed/queries.md#entries-without-keys","22":"docs/pages/typed/queries.md#entries-with-keys"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,240],"1":[1,1,166],"2":[1,1,105],"3":[1,1,68],"4":[1,1,99],"5":[2,1,79],"6":[1,1,70],"7":[5,1,57],"8":[5,1,66],"9":[1,1,116],"10":[1,1,128],"11":[1,1,29],"12":[1,1,84],"13":[1,1,27],"14":[1,1,167],"15":[1,1,42],"16":[5,1,19],"17":[6,1,32],"18":[2,1,67],"19":[5,1,206],"20":[2,1,20],"21":[3,2,76],"22":[3,2,126]},"averageFieldLength":[2.217391304347826,1.0869565217391304,90.82608695652173],"storedFields":{"0":{"href":"/client#polkadotclient","html":"\n
PolkadotClient
interface shapes the top-level API for polkadot-api
. Once we get a client using createClient
function, we'll find the following:
interface PolkadotClient {\n /**\n * Retrieve the ChainSpecData as it comes from the\n * [JSON-RPC spec](https://paritytech.github.io/json-rpc-interface-spec/api/chainSpec.html)\n */\n getChainSpecData: () => Promise<ChainSpecData>\n \n /**\n * Observable that emits `BlockInfo` from the latest known finalized block.\n * It's a multicast and stateful observable, that will synchronously replay\n * its latest known state.\n */\n finalizedBlock$: Observable<BlockInfo>\n /**\n * @returns Latest known finalized block.\n */\n getFinalizedBlock: () => Promise<BlockInfo>\n \n /**\n * Observable that emits an Array of `BlockInfo`, being the first element the\n * latest known best block, and the last element the latest known finalized\n * block. It's a multicast and stateful observable, that will synchronously\n * replay its latest known state. This array is an immutable data structure;\n * i.e. a new array is emitted at every event but the reference to its\n * children are stable if the children didn't change.\n *\n * Note that subscribing to this observable already supersedes the need of\n * subscribing to `finalizedBlock$`, since the last element of the array will\n * be the latest known finalized block.\n */\n bestBlocks$: Observable<BlockInfo[]>\n /**\n * @returns Array of `BlockInfo`, being the first element the latest\n * known best block, and the last element the latest known\n * finalized block.\n */\n getBestBlocks: () => Promise<BlockInfo[]>\n \n /**\n * Observable to watch Block Body.\n *\n * @param hash It can be a block hash, `"finalized"`, or `"best"`\n * @returns Observable to watch a block body. There'll be just one event\n * with the payload and the observable will complete.\n */\n watchBlockBody: (hash: string) => Observable<HexString[]>\n /**\n * Get Block Body (Promise-based)\n *\n * @param hash It can be a block hash, `"finalized"`, or `"best"`\n * @returns Block body.\n */\n getBlockBody: (hash: string) => Promise<HexString[]>\n \n /**\n * Get Block Header (Promise-based)\n *\n * @param hash It can be a block hash, `"finalized"` (default), or\n * `"best"`\n * @returns Block hash.\n */\n getBlockHeader: (hash?: string) => Promise<BlockHeader>\n \n /**\n * Broadcast a transaction (Promise-based)\n *\n * @param transaction SCALE-encoded tx to broadcast.\n * @param at It can be a block hash, `"finalized"`, or `"best"`.\n * That block will be used to verify the validity of\n * the tx, retrieve the next nonce,\n * and create the mortality taking that block into\n * account.\n */\n submit: (\n transaction: HexString,\n at?: HexString,\n ) => Promise<TxFinalizedPayload>\n /**\n * Broadcast a transaction and returns an Observable. The observable will\n * complete as soon as the transaction is in a finalized block.\n *\n * @param transaction SCALE-encoded tx to broadcast.\n * @param at It can be a block hash, `"finalized"`, or `"best"`.\n * That block will be used to verify the validity of\n * the tx, retrieve the next nonce,\n * and create the mortality taking that block into\n * account.\n */\n submitAndWatch: (\n transaction: HexString,\n at?: HexString,\n ) => Observable<TxBroadcastEvent>\n \n /**\n * Returns an instance of a `TypedApi`\n *\n * @param descriptors Pass descriptors from `@polkadot-api/descriptors`\n * generated by `papi` CLI.\n */\n getTypedApi: <D extends Descriptors>(descriptors: D) => TypedApi<D>\n \n /**\n * This will `unfollow` the provider, disconnect and error every subscription.\n * After calling it nothing can be done with the client.\n */\n destroy: () => void\n \n /**\n * This API is meant as an "escape hatch" to allow access to debug endpoints\n * such as `system_version`, and other useful endpoints that are not spec\n * compliant.\n *\n * @example\n *\n * const systemVersion = await client._request<string>("system_version", [])\n * const myFancyThhing = await client._request<\n * { value: string },\n * [id: number]\n * >("very_fancy", [1714])\n *\n */\n _request: <Reply = any, Params extends Array<any> = any[]>(\n method: string,\n params: Params,\n ) => Promise<Reply>\n}
\nAs one can note, PolkadotClient
heavily relies on rxjs' Observable
, used as well under the hood of Promise-based methods. Every method is fairly straight-forward and already documented exhaustively, except for getTypedApi
. Let's dive into it.
Technically, to connect to a chain, all you need is just the provider. But to interact with it, you need to know the list of storage, runtime, and transaction calls and their types.
\nDuring runtime, the library can request the metadata for the chain it's connected to, and from this, it generates all the codecs to interact with it. But as a developer, you need to get that information beforehand.
\nPolkadot-API has a CLI that downloads the metadata for a chain and then uses that metadata to generate all the type descriptors.
\n> npx papi add --help\nUsage: polkadot-api add [options] <key>\n \nAdd a new chain spec to the list\n \nArguments:\n key Key identifier for the chain spec\n \nOptions:\n --config <filename> Source for the config file\n -f, --file <filename> Source from metadata encoded file\n -w, --wsUrl <URL> Source from websocket URL\n -c, --chainSpec <filename> Source from chain spec file\n -n, --name <name> Source from a well-known chain (choices: "polkadot", "ksmcc3", "rococo_v2_2", "westend2")\n --no-persist Do not persist the metadata as a file\n -h, --help display help for command
\npapi add
registers a new chain. It requires a key, which is the JS variable name the codegen will create, and a source (-f
, -w
, -c
, or -n
). The command stores this information for later use into a configuration file polkadot-api.json
and then downloads the fresh metadata into a file ${key}.scale
.
You can add as many chains as you want, but each has to have a unique key
(which must be a valid JS variable name).
The CLI can then be used to generate the type descriptors for all of the added chains through the generate
command.
npx papi generate\n# `generate` is the default command, so you can just run\nnpx papi
\nIt's recommended to add papi
to the postinstall
script in package.json to have it automatically generate the code after installation:
{\n // ...\n "scripts": {\n // ...\n "postinstall": "papi"\n }\n}
\nThe code is generated into the @polkadot-api/descriptors
node modules package
The generated code contains all of the types extracted from the metadata of all chains:
\nThese are consumed by getTypedApi()
, which allows the IDE to reference any of these calls with autocompletion, etc. At runtime, it also contains the checksum of each of these calls, so that it can detect incompatibilities with the chain it's connected to.
The types are anonymous (they don't have a name in the metadata), but PolkadotAPI has a directory of well-known types for some of the most widely used Enums. If a chain is using one of these well-known types, it's also generated and exported.
\nIn the event that there are two chains with the two well-known types that have the same name but they are different, then the key is appended at the beginning of the type. For instance, if two chains dot
and ksm
might have a slightly different PreimageRequestStatus
, in that case, the codegen exports DotPreimageRequestStatus
and KsmPreimageRequestStatus
.
Import from @polkadot-api/descriptors
every chain and type that you need, then use it through getTypedApi()
.
import {\n dot,\n ksm,\n XcmVersionedMultiLocation,\n XcmVersionedXcm,\n XcmV2Instruction,\n XcmV2MultilocationJunctions,\n} from "@polkadot-api/descriptors"\n \n// ...\n \nconst dotClient = createClient(scProvider(WellKnownChain.polkadot).relayChain)\nconst ksmClient = createClient(scProvider(WellKnownChain.ksmcc3).relayChain)\n \nconst dotApi = dotClient.getTypedApi(dot)\nconst ksmApi = ksmClient.getTypedApi(ksm)\n \nconst xcmSendTx = dotApi.tx.XcmPallet.send({\n dest: XcmVersionedMultiLocation.V2({\n parents: 0,\n interior: XcmV2MultilocationJunctions.Here(),\n }),\n message: XcmVersionedXcm.V2([XcmV2Instruction.ClearOrigin()]),\n})\n \nconst encodedData = await xcmSendTx.getEncodedData()\n \nconst finalizedCall = await xcmSendTx.signAndSubmit(signer)
\n","isPage":false,"text":"\nImport from @polkadot-api/descriptors every chain and type that you need, then use it through getTypedApi().\nimport {\n dot,\n ksm,\n XcmVersionedMultiLocation,\n XcmVersionedXcm,\n XcmV2Instruction,\n XcmV2MultilocationJunctions,\n} from "@polkadot-api/descriptors"\n \n// ...\n \nconst dotClient = createClient(scProvider(WellKnownChain.polkadot).relayChain)\nconst ksmClient = createClient(scProvider(WellKnownChain.ksmcc3).relayChain)\n \nconst dotApi = dotClient.getTypedApi(dot)\nconst ksmApi = ksmClient.getTypedApi(ksm)\n \nconst xcmSendTx = dotApi.tx.XcmPallet.send({\n dest: XcmVersionedMultiLocation.V2({\n parents: 0,\n interior: XcmV2MultilocationJunctions.Here(),\n }),\n message: XcmVersionedXcm.V2([XcmV2Instruction.ClearOrigin()]),\n})\n \nconst encodedData = await xcmSendTx.getEncodedData()\n \nconst finalizedCall = await xcmSendTx.signAndSubmit(signer)\ngetTypedApi has nearly no cost at runtime, so it can be safely called many times.","title":"Usage","titles":["Codegen"]},"4":{"href":"/providers#providers","html":"\nThe entry point of Polkadot-API, createClient(provider)
requires one JsonRpcProvider
, which lets Polkadot-API communicate with a node. It's a function with the following shape:
interface JsonRpcProvider {\n (onMessage: (message: string) => void) => JsonRpcConnection;\n}\n \ninterface JsonRpcConnection {\n send: (message: string) => void;\n disconnect: () => void;\n}
\nCalling it will initiate a connection. Messages coming from the service will come through the onMessage
call, and the returned connection handle can be used to send messages or terminate the connection.
Polkadot-API offers a couple of providers for some of the most used ways of connecting to a chain:
\nWebSocketProvider(uri: string)
from polkadot-api/ws-provider/web
or polkadot-api/ws-provider/node
to connect through WebSocket.getSmProvider(chain: smoldot.Chain)
from polkadot-api/sm-provider
to connect through Smoldot.The JsonRpcProvider
interface is designed so that it can be easily enhanced: You can wrap any JsonRpcProvider with another one that adds in more features, such as logging, statistics, or error recovery.
Polkadot-API has a subpackage polkadot-api/logs-provider
that can be used to create a provider that will replay node messages from a log file (logsProvider
), along with a provider enhancer that can be used to generate the logs consumed by logsProvider
: withLogsRecorder
.
// 1. recording logs\nimport { createClient } from "polkadot-api"\nimport { withLogsRecorder } from "polkadot-api/logs-provider"\nimport { WebSocketProvider } from "polkadot-api/ws-provider/node"\n \nconst wsProvider = WebSocketProvider("wss://example.url")\n// Using console.log to output each line, but you could e.g. write it directly to a\n// file or push into an array\nconst provider = withLogsRecorder((line) => console.log(line), wsProvider)\nconst client = createClient(provider)
\n// 2. replaying logs\nimport { createClient } from "polkadot-api"\nimport { logsProvider } from "polkadot-api/logs-provider"\nimport logs from "./readLogs"\n \nconst provider = logsProvider(logs)\nconst client = createClient(provider)
\nThis can be useful to debug specific scenarios without needing to depend on an external source.
","isPage":false,"text":"\nPolkadot-API has a subpackage polkadot-api/logs-provider that can be used to create a provider that will replay node messages from a log file (logsProvider), along with a provider enhancer that can be used to generate the logs consumed by logsProvider: withLogsRecorder.\n// 1. recording logs\nimport { createClient } from "polkadot-api"\nimport { withLogsRecorder } from "polkadot-api/logs-provider"\nimport { WebSocketProvider } from "polkadot-api/ws-provider/node"\n \nconst wsProvider = WebSocketProvider("wss://example.url")\n// Using console.log to output each line, but you could e.g. write it directly to a\n// file or push into an array\nconst provider = withLogsRecorder((line) => console.log(line), wsProvider)\nconst client = createClient(provider)\n// 2. replaying logs\nimport { createClient } from "polkadot-api"\nimport { logsProvider } from "polkadot-api/logs-provider"\nimport logs from "./readLogs"\n \nconst provider = logsProvider(logs)\nconst client = createClient(provider)\nThis can be useful to debug specific scenarios without needing to depend on an external source.","title":"Logs provider","titles":["Providers"]},"6":{"href":"/signers#signers","html":"\nFor transactions, the generated descriptors and its corresponding typed API are needed to create the transaction extrinsics, but for these transactions to be signed, we also need a signer, which is the responsible of taking it the call data and signing it.
\nEvery method on Polkadot-API that needs to sign something, takes in a signer with the following interface:
\ninterface PolkadotSigner {\n publicKey: Uint8Array\n sign: (\n callData: Uint8Array,\n signedExtensions: Record<\n string,\n {\n identifier: string\n value: Uint8Array\n additionalSigned: Uint8Array\n }\n >,\n metadata: Uint8Array,\n atBlockNumber: number,\n hasher?: (data: Uint8Array) => Uint8Array,\n ) => Promise<Uint8Array>\n}
\nThis interface is generic to signing transactions for the chain.
\n","isPage":true,"text":"\nFor transactions, the generated descriptors and its corresponding typed API are needed to create the transaction extrinsics, but for these transactions to be signed, we also need a signer, which is the responsible of taking it the call data and signing it.\nEvery method on Polkadot-API that needs to sign something, takes in a signer with the following interface:\ninterface PolkadotSigner {\n publicKey: Uint8Array\n sign: (\n callData: Uint8Array,\n signedExtensions: Record<\n string,\n {\n identifier: string\n value: Uint8Array\n additionalSigned: Uint8Array\n }\n >,\n metadata: Uint8Array,\n atBlockNumber: number,\n hasher?: (data: Uint8Array) => Uint8Array,\n ) => Promise<Uint8Array>\n}\nThis interface is generic to signing transactions for the chain.\n","title":"Signers","titles":[]},"7":{"href":"/signers#polkadotsigner-from-a-browser-extension","html":"\nIf you want to use a compatible extension as a signer, Polkadot-API has a subpath with a couple of utilities to help with this: polkadot-api/pjs-signer
.
import {\n getInjectedExtensions,\n connectInjectedExtension,\n} from "polkadot-api/pjs-signer"\n \n// Get the list of installed extensions\nconst extensions: string[] = getInjectedExtensions()\n \n// Connect to an extension\nconst selectedExtension: InjectedExtension = await connectInjectedExtension(\n extensions[0],\n)\n \n// Get accounts registered in the extension\nconst accounts: InjectedPolkadotAccount[] = selectedExtension.getAccounts()\n \n// The signer for each account is in the `polkadotSigner` property of `InjectedPolkadotAccount`\nconst polkadotSigner = accounts[0].polkadotSigner
\n","isPage":false,"text":"\nIf you want to use a compatible extension as a signer, Polkadot-API has a subpath with a couple of utilities to help with this: polkadot-api/pjs-signer.\nimport {\n getInjectedExtensions,\n connectInjectedExtension,\n} from "polkadot-api/pjs-signer"\n \n// Get the list of installed extensions\nconst extensions: string[] = getInjectedExtensions()\n \n// Connect to an extension\nconst selectedExtension: InjectedExtension = await connectInjectedExtension(\n extensions[0],\n)\n \n// Get accounts registered in the extension\nconst accounts: InjectedPolkadotAccount[] = selectedExtension.getAccounts()\n \n// The signer for each account is in the `polkadotSigner` property of `InjectedPolkadotAccount`\nconst polkadotSigner = accounts[0].polkadotSigner\n","title":"PolkadotSigner from a browser extension","titles":["Signers"]},"8":{"href":"/signers#polkadotsigner-from-generic-signing-function","html":"\nIf you have a signer which takes some arbitrary data and just signs it with one of the supported algorithms, you can create a PolkadotSigner
with the function getPolkadotSigner
from polkadot-api/signer
:
export function getPolkadotSigner(\n publicKey: Uint8Array,\n signingType: "Ecdsa" | "Ed25519" | "Sr25519",\n sign: (input: Uint8Array) => Promise<Uint8Array> | Uint8Array,\n): PolkadotSigner
\nFor example, using hdkd from @polkadot-labs
:
import { sr25519CreateDerive } from "@polkadot-labs/hdkd"\nimport {\n sr25519,\n DEV_PHRASE,\n entropyToMiniSecret,\n mnemonicToEntropy,\n} from "@polkadot-labs/hdkd-helpers"\n \nconst entropy = mnemonicToEntropy(MNEMONIC)\nconst miniSecret = entropyToMiniSecret(entropy)\nconst derive = sr25519CreateDerive(miniSecret)\nconst keypair = derive("//Alice")\n \nconst polkadotSigner = getPolkadotSigner(\n hdkdKeyPair.publicKey,\n "Sr25519",\n hdkdKeyPair.sign,\n)
","isPage":false,"text":"\nIf you have a signer which takes some arbitrary data and just signs it with one of the supported algorithms, you can create a PolkadotSigner with the function getPolkadotSigner from polkadot-api/signer:\nexport function getPolkadotSigner(\n publicKey: Uint8Array,\n signingType: "Ecdsa" | "Ed25519" | "Sr25519",\n sign: (input: Uint8Array) => Promise<Uint8Array> | Uint8Array,\n): PolkadotSigner\nFor example, using hdkd from @polkadot-labs:\nimport { sr25519CreateDerive } from "@polkadot-labs/hdkd"\nimport {\n sr25519,\n DEV_PHRASE,\n entropyToMiniSecret,\n mnemonicToEntropy,\n} from "@polkadot-labs/hdkd-helpers"\n \nconst entropy = mnemonicToEntropy(MNEMONIC)\nconst miniSecret = entropyToMiniSecret(entropy)\nconst derive = sr25519CreateDerive(miniSecret)\nconst keypair = derive("//Alice")\n \nconst polkadotSigner = getPolkadotSigner(\n hdkdKeyPair.publicKey,\n "Sr25519",\n hdkdKeyPair.sign,\n)","title":"PolkadotSigner from generic signing function","titles":["Signers"]},"9":{"href":"/typed#typedapi","html":"\nThe TypedApi
allows to interact with the runtime metadata easily and with a great developer experience. It'll allow to make storage calls, create transactions, etc. It uses the descriptors generated by PAPI CLI (see Codegen section for a deeper explanation) to generate the types used at devel time. TypedApi
object looks like:
type TypedApi = {\n query: StorageApi\n tx: TxApi\n event: EvApi\n apis: RuntimeCallsApi\n constants: ConstApi\n runtime: RuntimeApi\n}
\nLet's start with the simplest one, runtime
field. It's just:
type RuntimeApi = Observable<Runtime> & {\n latest: () => Promise<Runtime>\n}
\nIt's an observable that holds the current runtime information for that specific client, with a latest
function to be able to wait for the runtime to load (it'll be helpful for some functions that need a Runtime
, see this recipe).
All the other fields are a Record<string, Record<string, ???>>
. The first index defines the pallet that we're looking for, and the second one defines which query/tx/event/api/constant are we looking for inside that pallet. Let's see, one by one, what do we find inside of it!
First of all, let's understand isCompatible
field. It's under each query/tx/event/api/constant in any runtime. After generating the descriptors (see Codegen section), we have a typed interface to every interaction with the chain. Nevertheless, breaking runtime upgrades might hit the runtime between developing and the runtime execution of your app. isCompatible
enables you to check on runtime if there was a breaking upgrade that hit your particular method.
Let's see its interface, and an example.
\ninterface IsCompatible {\n (): Promise<boolean>\n (runtime: Runtime): boolean\n}
\nFor example, let's use typedApi.query.System.Number
. It's a simple query, we'll see in the next pages how to interact with it. We're only interested on isCompatible
.
const query = typedApi.query.System.Number\nconst runtime = await typedApi.runtime.latest() // we already learnt about it!\n \n// in this case `isCompatible` returns a Promise<boolean>\nif (await query.isCompatible()) {\n // do your stuff, the query is compatible\n} else {\n // the call is not compatible!\n // keep an eye on what you do\n}\n \n// another option would be to use the already loaded runtime\n// in this case, `isCompatible` is sync, and returns a boolean\nif (query.isCompatible(runtime)) {\n // do your stuff, the query is compatible\n} else {\n // the call is not compatible!\n // keep an eye on what you do\n}
\nAs you can see, isCompatible
is really powerful since we can prepare for runtime upgrades seamlessly using PAPI. See this recipe for an example!
Let's continue with the rest of the fields!
","isPage":false,"text":"\nFirst of all, let's understand isCompatible field. It's under each query/tx/event/api/constant in any runtime. After generating the descriptors (see Codegen section), we have a typed interface to every interaction with the chain. Nevertheless, breaking runtime upgrades might hit the runtime between developing and the runtime execution of your app. isCompatible enables you to check on runtime if there was a breaking upgrade that hit your particular method.\nLet's see its interface, and an example.\ninterface IsCompatible {\n (): Promise<boolean>\n (runtime: Runtime): boolean\n}\nFor example, let's use typedApi.query.System.Number. It's a simple query, we'll see in the next pages how to interact with it. We're only interested on isCompatible.\nconst query = typedApi.query.System.Number\nconst runtime = await typedApi.runtime.latest() // we already learnt about it!\n \n// in this case `isCompatible` returns a Promise<boolean>\nif (await query.isCompatible()) {\n // do your stuff, the query is compatible\n} else {\n // the call is not compatible!\n // keep an eye on what you do\n}\n \n// another option would be to use the already loaded runtime\n// in this case, `isCompatible` is sync, and returns a boolean\nif (query.isCompatible(runtime)) {\n // do your stuff, the query is compatible\n} else {\n // the call is not compatible!\n // keep an eye on what you do\n}\nAs you can see, isCompatible is really powerful since we can prepare for runtime upgrades seamlessly using PAPI. See this recipe for an example!\nLet's continue with the rest of the fields!","title":"isCompatible","titles":["TypedApi"]},"11":{"href":"/types#types","html":"\nAll the types defined in the metadata of a chain are anonymous: They represent the structure of the data, down to the primitive types.
\nPolkadot-API has some types defined that make it easier working with chain data.
\n","isPage":true,"text":"\nAll the types defined in the metadata of a chain are anonymous: They represent the structure of the data, down to the primitive types.\nPolkadot-API has some types defined that make it easier working with chain data.\n","title":"Types","titles":[]},"12":{"href":"/types#ss58string","html":"\nBinary values tagged as a accounts are abstracted as SS58String
. The type SS58String
exported by Polkadot-API is an alias of string
, but it's indicative that the string that it expects is an SS58-formatted string. The value will be encoded to the public address in binary.
When PolkadotAPI receives an SS58String
as a parameter, it can be in any valid format. But the SS58String
returned from any of the methods will always be in the format declared by the chain's metadata.
const dotApi = client.getTypedApi(dot)\n \nconst [proxies, deposit] = await dotApi.query.Proxy.Proxies.getValue(\n // HDX format (for demo purposes that it accepts any SS58 string, regardless of the chain)\n "7LE64AxmGixNsxFs1rdsDkER5nuuQ28MbrSS7JtHwRmdcdam",\n)\n \nconsole.log(proxies[0].delegate)\n// "12R1XCdgkHysv8Y4ntiXguo4eUYHXjQTmfRjL8FbmezsG71j", which is polkadot's format
\n","isPage":false,"text":"\nBinary values tagged as a accounts are abstracted as SS58String. The type SS58String exported by Polkadot-API is an alias of string, but it's indicative that the string that it expects is an SS58-formatted string. The value will be encoded to the public address in binary.\nWhen PolkadotAPI receives an SS58String as a parameter, it can be in any valid format. But the SS58String returned from any of the methods will always be in the format declared by the chain's metadata.\nconst dotApi = client.getTypedApi(dot)\n \nconst [proxies, deposit] = await dotApi.query.Proxy.Proxies.getValue(\n // HDX format (for demo purposes that it accepts any SS58 string, regardless of the chain)\n "7LE64AxmGixNsxFs1rdsDkER5nuuQ28MbrSS7JtHwRmdcdam",\n)\n \nconsole.log(proxies[0].delegate)\n// "12R1XCdgkHysv8Y4ntiXguo4eUYHXjQTmfRjL8FbmezsG71j", which is polkadot's format\n","title":"SS58String","titles":["Types"]},"13":{"href":"/types#hexstring","html":"\nAnother alias of string
, but indicates that the value is a valid hexadecimal string. It accepts the string with or without the 0x
prefix, but HexString
returned from methods always have 0x
.
Enums in the chain are represented as { type: string, value: T }
. As many of the types have nested enums that would make it hard to work with (both creating these types and also reading them), Polkadot-API helps through a set of utilites.
First of all, the Enums that are widely used across multiple chains are in a directory of well-known types, and they are represented with a descriptive name. A few examples: MultiAddress
, BalanceStatus
, IdentityJudgement
, and many of the XCM pallet types: XcmV3Junction
, XcmV3MultiassetFungibility
, etc.
For these types, you can import them directly from the generated code and use them by calling their type. The call signature shown by an IDE will tell you exactly which enum types you should use to write your value. The following video shows how it might look like:
\n\nThe enums that are not well-known types, they are anonymous. In that case, you will find something like the following in the call signature:
\n(value: IEnum<{\n transfer_allow_death: {\n dest: MultiAddress;\n value: bigint;\n };\n force_transfer: {\n dest: MultiAddress;\n value: bigint;\n source: MultiAddress;\n };\n ... 4 more ...;\n force_set_balance: {\n ...;\n };\n}>) => PolkadotRuntimeRuntimeCall
\nThis indicates that the parameter value is an enum, whose key will be either one of the keys of the object type (i.e. transfer_allow_death
, force_transfer
, ..., force_set_balance
), and the type will be the value for that particular key.
For these cases, you should use the function Enum(type, value)
, imported from polkadot-api
. This has full type inference support, and creates an Enum object that can be used as a parameter of a call:
dotApi.apis.TransactionPaymentCallApi.query_call_info(\n PolkadotRuntimeRuntimeCall.Balances(\n Enum("transfer_allow_death", { dest: MultiAddress.Id(address), value: 3n }),\n ),\n 10,\n)
\nWhen reading from Enums, these are objects with { type: string, value: unknown }
with discriminated types based on the type
(so if you do switch (enum.type) {
you will have the correct value for the type
).
Any array of u8's is represented as Binary. This is a utility type that has a few functions to easily create binary data:
\nBinary.fromBytes(new Uint8Array())\nBinary.fromHex("0b187a23c4f65d86c9a324b56f7e81aa")\nconst binary = Binary.fromText("Text that will be turned into binary")\n \nbinary.asBytes() // Uint8Array\nbinary.asHex() // "0x5465787420746861742077696c6c206265207475726e656420696e746f2062696e617279"\nbinary.asText() // "Text that will be turned into binary"
\n","isPage":false,"text":"\nAny array of u8's is represented as Binary. This is a utility type that has a few functions to easily create binary data:\nBinary.fromBytes(new Uint8Array())\nBinary.fromHex("0b187a23c4f65d86c9a324b56f7e81aa")\nconst binary = Binary.fromText("Text that will be turned into binary")\n \nbinary.asBytes() // Uint8Array\nbinary.asHex() // "0x5465787420746861742077696c6c206265207475726e656420696e746f2062696e617279"\nbinary.asText() // "Text that will be turned into binary"\n","title":"Binary","titles":["Types"]},"16":{"href":"/types#fixedsizebinaryl","html":"\nSame as Binary
, but when the chain metadata specifies a length. The length is shown as a type parameter, for reference.
When the metadata has a type that's an array of a specific length, that's also shown as a FixedSizeArray<L, T>
, which is a superset of Array<T>
, except that it checks that the length must be L
.
The types returned from any call are available through the top-level exports
\nimport {\n dot,\n DotQueries,\n DotCalls,\n DotConstants,\n DotErrors,\n DotEvents,\n} from "@polkadot-api/descriptors"\n \n// Storage queries\nfunction processAccount(account: DotQueries["System"]["Account"]["Value"]) {\n // ...\n}\nprocessAccount(await dotApi.query.System.Account.getValue("SS58Account"))\n \n// Constants\nfunction formatSS58Account(\n value: DotConstants["System"]["SS58Prefix"],\n account: Uint8Array,\n) {\n // ...\n}\nformatSS58Account(await dotApi.constants.System.SS58Prefix(), new Uint8Array())\n \n// Transactions\nfunction performTransfer(\n transfer: DotCalls["Balances"]["transfer_allow_death"],\n) {\n return dotApi.tx.Balances.transfer_allow_death(transfer).signAndSubmit(signer)\n}\nperformTransfer({\n dest: MultiAddress.Id("SS58Account"),\n value: 100n,\n})\n \n// Events\nfunction reactToNewAccount(event: DotEvents["System"]["NewAccount"]) {\n // ...\n}\n \n// Errors\nfunction logError(error: DotErrors["System"]["InvalidSpecName"]) {\n // ...\n}
","isPage":false,"text":"\nThe types returned from any call are available through the top-level exports\nimport {\n dot,\n DotQueries,\n DotCalls,\n DotConstants,\n DotErrors,\n DotEvents,\n} from "@polkadot-api/descriptors"\n \n// Storage queries\nfunction processAccount(account: DotQueries["System"]["Account"]["Value"]) {\n // ...\n}\nprocessAccount(await dotApi.query.System.Account.getValue("SS58Account"))\n \n// Constants\nfunction formatSS58Account(\n value: DotConstants["System"]["SS58Prefix"],\n account: Uint8Array,\n) {\n // ...\n}\nformatSS58Account(await dotApi.constants.System.SS58Prefix(), new Uint8Array())\n \n// Transactions\nfunction performTransfer(\n transfer: DotCalls["Balances"]["transfer_allow_death"],\n) {\n return dotApi.tx.Balances.transfer_allow_death(transfer).signAndSubmit(signer)\n}\nperformTransfer({\n dest: MultiAddress.Id("SS58Account"),\n value: 100n,\n})\n \n// Events\nfunction reactToNewAccount(event: DotEvents["System"]["NewAccount"]) {\n // ...\n}\n \n// Errors\nfunction logError(error: DotErrors["System"]["InvalidSpecName"]) {\n // ...\n}","title":"Interface types","titles":["Types"]},"19":{"href":"/recipes/upgrade#preparing-for-a-runtime-upgrade","html":"\nWith Polkadot-API's support for multiple chains, you can make your dApp prepare for an upcoming runtime upgrade on a chain as long as you can get the metadata for that upgrade.
\nAs an example, let's imagine we have already set up the polkadot relay chain for our dApp
\nnpx papi add dot -n polkadot
\nIf you know of a node available through a websocket that has the runtime upgrade, you can download that metadata with the CLI:
\nnpx papi add nextDot -w wss://rpc-polkadot.exampleupdate.io/\nnpx papi generate
\n\nNow on the code you can create two typed APIs for the same chain, and then use the compatibility check to use one or the other.
\nTo make it clear, the client
is connected to one chain that's using one specific version of the runtime. You can create multiple typedApis for that connection, which just give you the types for each possible version of the runtime. Then you can use runtime compatibility checks to perform the operation on the correct descriptor.
import { createClient } from "polkadot-api"\nimport { dot, nextDot, MultiAddress } from "@polkadot-api/descriptors"\nimport { chainSpec } from "polkadot-api/chains/polkadot"\nimport { startFromWorker } from "polkadot-api/smoldot/from-worker"\nimport SmWorker from "polkadot-api/smoldot/worker?worker"\n \nconst smoldot = startFromWorker(new SmWorker())\nconst chain = await smoldot.addChain({ chainSpec })\nconst client = createClient(getSmProvider(chain))\n \nconst dotApi = client.getTypedApi(dot)\nconst nextApi = client.getTypedApi(nextDot)\n \nfunction performTransfer() {\n // check if we're running on the next version to run that first\n if (await nextApi.tx.Balances.new_fancy_transfer.isCompatible()) {\n nextApi.tx.Balances.new_fancy_transfer({\n dest: MultiAddress.Id("addr"),\n value: 5n,\n })\n } else {\n // Otherwise perform the transfer the old way with the old descriptors\n dotApi.tx.Balances.transfer_keep_alive({\n dest: MultiAddress.Id("addr"),\n value: 5n,\n })\n }\n}
\nFurthermore, the runtime upgrade might happen while the dApp is running, and this will still work without needing to redo the connection. As soon as the upgrade is received, the compatible check will work as expected and the dApp will start using the next runtime.
\nAs a note, isCompatible
is a function available on every interaction on the typedApi (queries, apis, constants, events, transactions). If used without any parameter it will return a Promise<boolean>
, because it needs to wait for the runtime to be loaded before it can tell whether it's compatible or not.
If you have multiple isCompatible
checks that you don't want to wait for each one of them, you can first wait for the runtime to be loaded with await dotApi.runtime.latest()
, and then pass this to isCompatible
as a paramter. This will make isCompatible
return synchronously.
For query
we have mainly two different situations. There're two kinds of storage entries: entries with and without keys.
For example, System.Number
query (it returns the block number) has no keys to index it with. Therefore, under typedApi.System.Number
we have the following structure:
type CallOptions = Partial<{\n at: string\n signal: AbortSignal\n}>\n \ntype StorageEntryWithoutKeys<Payload> = {\n isCompatible: IsCompatible\n getValue: (options?: CallOptions) => Promise<Payload>\n watchValue: (bestOrFinalized?: "best" | "finalized") => Observable<Payload>\n}
\nAs you might expect, getValue
returns you the Payload
for that particular query, allowing you to choose which block to query (at
can be a blockHash, "finalized"
(the default), or "best"
).
On the other hand, watchValue
function returns an Observable allows you to check the changes of a particular storage entry in "best"
or "finalized"
(the default) block.
Similarely, we'll use the example of System.Account
query (it returns the information of a particular Account
). In this case, this storage query has a key to index it with, and therefore we find the following structure:
type StorageEntryWithKeys<Args, Payload> = {\n isCompatible: IsCompatible\n getValue: (...args: [...Args, options?: CallOptions]) => Promise<Payload>\n watchValue: (\n ...args: [...Args, bestOrFinalized?: "best" | "finalized"]\n ) => Observable<Payload>\n getValues: (\n keys: Array<[...Args]>,\n options?: CallOptions,\n ) => Promise<Array<Payload>>\n getEntries: (\n ...args: [PossibleParents<Args>, options?: CallOptions]\n ) => Promise<\n Array<{\n keyArgs: Args\n value: NonNullable<Payload>\n }>\n >\n}
\nBoth getValue
and watchValue
have the same behaviour as in the previous case, but they require you to pass all keys required for that storage query (in our example, an address). The same function arguments that are found in the no-keys situation can be passed at the end of the call to modify which block to query, etc. For example, a query with 3 args:
typedApi.query.Pallet.Query.getValue(arg1, arg2, arg3, { at: "best" })
\ngetValues
, instead, allows you to pass several keys (addresses in this case) to get a bunch of entries at the same time.
getEntries
allows you to get all entries without passing the keys. It has also the option to pass a subset of them. For example, imagine a query with 3 keys. You would have three options to call it:
typedApi.query.Pallet.Query.getEntries({ at: "best" }) // no keys\ntypedApi.query.Pallet.Query.getEntries(arg1, { at: "finalized" }) // 1/3 keys\ntypedApi.query.Pallet.Query.getEntries(arg1, arg2, { at: "0x12345678" }) // 2/3 keys
","isPage":false,"text":"\nSimilarely, we'll use the example of System.Account query (it returns the information of a particular Account). In this case, this storage query has a key to index it with, and therefore we find the following structure:\ntype StorageEntryWithKeys<Args, Payload> = {\n isCompatible: IsCompatible\n getValue: (...args: [...Args, options?: CallOptions]) => Promise<Payload>\n watchValue: (\n ...args: [...Args, bestOrFinalized?: "best" | "finalized"]\n ) => Observable<Payload>\n getValues: (\n keys: Array<[...Args]>,\n options?: CallOptions,\n ) => Promise<Array<Payload>>\n getEntries: (\n ...args: [PossibleParents<Args>, options?: CallOptions]\n ) => Promise<\n Array<{\n keyArgs: Args\n value: NonNullable<Payload>\n }>\n >\n}\nBoth getValue and watchValue have the same behaviour as in the previous case, but they require you to pass all keys required for that storage query (in our example, an address). The same function arguments that are found in the no-keys situation can be passed at the end of the call to modify which block to query, etc. For example, a query with 3 args:\ntypedApi.query.Pallet.Query.getValue(arg1, arg2, arg3, { at: "best" })\ngetValues, instead, allows you to pass several keys (addresses in this case) to get a bunch of entries at the same time.\ngetEntries allows you to get all entries without passing the keys. It has also the option to pass a subset of them. For example, imagine a query with 3 keys. You would have three options to call it:\ntypedApi.query.Pallet.Query.getEntries({ at: "best" }) // no keys\ntypedApi.query.Pallet.Query.getEntries(arg1, { at: "finalized" }) // 1/3 keys\ntypedApi.query.Pallet.Query.getEntries(arg1, arg2, { at: "0x12345678" }) // 2/3 keys","title":"Entries with keys","titles":["Storage queries"]}},"dirtCount":0,"index":[["3",{"2":{"22":4}}],["3n",{"2":{"14":1}}],["5n",{"2":{"19":2}}],["4",{"2":{"14":1}}],["7le64axmgixnsxfs1rdsdker5nuuq28mbrss7jthwrmdcdam",{"2":{"12":1}}],["|",{"2":{"8":3,"21":1,"22":1}}],["100n",{"2":{"18":1}}],["10",{"2":{"14":1}}],["12r1xcdgkhysv8y4ntixguo4euyhxjqtmfrjl8fbmezsg71j",{"2":{"12":1}}],["1",{"2":{"5":1,"22":1}}],["1714",{"2":{"0":1}}],["0b187a23c4f65d86c9a324b56f7e81aa",{"2":{"15":1}}],["0x12345678",{"2":{"22":1}}],["0x5465787420746861742077696c6c206265207475726e656420696e746f2062696e617279",{"2":{"15":1}}],["0x",{"2":{"13":2}}],["0",{"2":{"3":1,"7":2,"12":1}}],["xcm",{"2":{"14":1}}],["xcmpallet",{"2":{"3":1}}],["xcmsendtx",{"2":{"3":3}}],["xcmv3multiassetfungibility",{"2":{"14":1}}],["xcmv3junction",{"2":{"14":1}}],["xcmv2multilocationjunctions",{"2":{"3":2}}],["xcmv2instruction",{"2":{"3":2}}],["xcmversionedxcm",{"2":{"3":2}}],["xcmversionedmultilocation",{"2":{"3":2}}],["x27",{"2":{"0":7,"1":2,"2":3,"4":1,"9":7,"10":8,"12":3,"15":1,"17":2,"19":6,"20":1,"22":1}}],["query",{"2":{"9":2,"10":9,"12":1,"14":1,"18":1,"20":1,"21":3,"22":14}}],["queries",{"0":{"20":1},"1":{"21":1,"22":1},"2":{"2":1,"18":1,"19":1}}],["quot",{"2":{"0":26,"1":14,"3":2,"5":14,"7":2,"8":14,"12":4,"14":2,"15":8,"18":28,"19":14,"21":12,"22":12}}],["$",{"2":{"1":1}}],["2",{"2":{"1":1,"5":1,"22":1}}],["kinds",{"2":{"20":1}}],["keep",{"2":{"10":2,"19":1}}],["keyargs",{"2":{"22":1}}],["keys",{"0":{"21":1,"22":1},"2":{"14":1,"20":1,"21":1,"22":9}}],["keypair",{"2":{"8":1}}],["key",{"2":{"1":6,"2":1,"14":2,"22":1}}],["ksmapi",{"2":{"3":1}}],["ksmclient",{"2":{"3":2}}],["ksmcc3",{"2":{"1":1,"3":1}}],["ksmpreimagerequeststatus",{"2":{"2":1}}],["ksm",{"2":{"2":1,"3":2}}],["know",{"2":{"1":1,"19":1}}],["known",{"2":{"0":9,"1":1,"2":3,"14":2}}],["your",{"2":{"10":4,"14":1,"19":1}}],["you",{"2":{"1":6,"3":1,"4":1,"5":1,"7":1,"8":2,"10":4,"14":7,"19":11,"21":4,"22":4}}],["up",{"2":{"19":1}}],["upcoming",{"2":{"19":2}}],["upgrade",{"0":{"19":1},"2":{"10":1,"19":5}}],["upgrades",{"2":{"10":2}}],["u8",{"2":{"15":1}}],["utility",{"2":{"15":1}}],["utilites",{"2":{"14":1}}],["utilities",{"2":{"7":1}}],["uint8array",{"2":{"6":8,"8":4,"15":2,"18":2}}],["uri",{"2":{"4":1}}],["url",{"2":{"1":2,"5":1}}],["unknown",{"2":{"14":1}}],["unique",{"2":{"1":1}}],["understand",{"2":{"10":1}}],["under",{"2":{"0":1,"10":1,"21":1}}],["usage",{"0":{"3":1},"2":{"1":1}}],["use",{"2":{"1":1,"3":1,"7":1,"10":2,"14":3,"19":3,"22":1}}],["uses",{"2":{"1":1,"9":1}}],["useful",{"2":{"0":1,"5":1}}],["used",{"2":{"0":3,"1":1,"2":1,"4":2,"5":2,"9":1,"14":2,"19":1}}],["using",{"2":{"0":1,"2":1,"5":1,"8":1,"10":1,"19":2}}],["mainly",{"2":{"20":1}}],["make",{"2":{"9":1,"11":1,"14":1,"19":3}}],["managers",{"2":{"1":1}}],["many",{"2":{"1":1,"3":1,"14":2}}],["minisecret",{"2":{"8":2}}],["might",{"2":{"2":1,"10":1,"14":1,"19":1,"21":1}}],["mnemonic",{"2":{"8":1}}],["mnemonictoentropy",{"2":{"8":2}}],["modify",{"2":{"22":1}}],["modules",{"2":{"1":2}}],["more",{"2":{"4":1,"14":1}}],["mortality",{"2":{"0":2}}],["most",{"2":{"2":1,"4":1}}],["multiaddress",{"2":{"14":5,"18":1,"19":3}}],["multiple",{"2":{"14":1,"19":3}}],["multicast",{"2":{"0":2}}],["must",{"2":{"1":1,"17":1}}],["messages",{"2":{"4":2,"5":1}}],["message",{"2":{"3":1,"4":2}}],["metadata",{"2":{"1":6,"2":2,"6":1,"9":1,"11":1,"12":1,"16":1,"17":1,"19":3}}],["methods",{"2":{"0":1,"12":1,"13":1}}],["method",{"2":{"0":2,"6":1,"10":1}}],["meant",{"2":{"0":1}}],["myfancythhing",{"2":{"0":1}}],["video",{"2":{"14":1}}],["variable",{"2":{"1":2}}],["valid",{"2":{"1":1,"12":1,"13":1}}],["validity",{"2":{"0":2}}],["values",{"2":{"12":1}}],["value",{"2":{"0":1,"6":1,"12":1,"13":1,"14":11,"18":3,"19":2,"22":1}}],["v2",{"2":{"1":1,"3":2}}],["very",{"2":{"0":1}}],["version",{"2":{"0":1,"19":3}}],["version`",{"2":{"0":1}}],["verify",{"2":{"0":2}}],["void",{"2":{"0":1,"4":3}}],["js",{"2":{"1":2}}],["jsonrpcconnection",{"2":{"4":2}}],["jsonrpcprovider",{"2":{"4":4}}],["json",{"2":{"0":2,"1":2}}],["just",{"2":{"0":1,"1":2,"8":1,"9":1,"19":1}}],["hdx",{"2":{"12":1}}],["hdkdkeypair",{"2":{"8":2}}],["hdkd",{"2":{"8":3}}],["hit",{"2":{"10":2}}],["how",{"2":{"10":1,"14":1}}],["holds",{"2":{"9":1}}],["hood",{"2":{"0":1}}],["h",{"2":{"1":1}}],["hand",{"2":{"21":1}}],["handle",{"2":{"4":1}}],["happen",{"2":{"19":1}}],["happens",{"2":{"1":1}}],["hard",{"2":{"14":1}}],["have",{"2":{"1":2,"2":3,"8":1,"10":1,"13":1,"14":2,"19":3,"20":1,"21":1,"22":2}}],["has",{"2":{"1":2,"2":1,"3":1,"5":1,"7":1,"11":1,"14":1,"15":1,"17":1,"19":1,"21":1,"22":2}}],["hasher",{"2":{"6":1}}],["hash",{"2":{"0":12}}],["hatch",{"2":{"0":1}}],["hexadecimal",{"2":{"13":1}}],["hexstring",{"0":{"13":1},"2":{"0":6,"13":1}}],["here",{"2":{"3":1}}],["helps",{"2":{"14":1}}],["helpful",{"2":{"9":1}}],["helpers",{"2":{"8":1}}],["help",{"2":{"1":3,"7":1}}],["heavily",{"2":{"0":1}}],["header",{"2":{"0":1}}],["html",{"2":{"0":1}}],["https",{"2":{"0":1}}],["`iscompatible`",{"2":{"10":2}}],["`injectedpolkadotaccount`",{"2":{"7":1}}],["`polkadotsigner`",{"2":{"7":1}}],["`papi`",{"2":{"0":1}}],["`generate`",{"2":{"1":1}}],["`system",{"2":{"0":1}}],["`unfollow`",{"2":{"0":1}}],["`typedapi`",{"2":{"0":1}}],["`",{"2":{"0":21}}],["`finalizedblock$`",{"2":{"0":1}}],["`blockinfo`",{"2":{"0":3}}],["name",{"2":{"1":4,"2":2,"14":1}}],["n",{"2":{"1":2,"19":1}}],["npx",{"2":{"1":3,"19":3}}],["number",{"2":{"0":1,"6":1,"10":2,"21":3}}],["nonnullable",{"2":{"22":1}}],["nonce",{"2":{"0":2}}],["now",{"2":{"19":1}}],["node",{"2":{"1":2,"4":2,"5":2,"19":1}}],["no",{"2":{"1":1,"3":1,"21":1,"22":2}}],["not",{"2":{"0":1,"1":1,"10":2,"14":1,"19":1}}],["nothing",{"2":{"0":1}}],["note",{"2":{"0":2,"19":1}}],["nested",{"2":{"14":1}}],["nevertheless",{"2":{"10":1}}],["nearly",{"2":{"3":1}}],["nextapi",{"2":{"19":3}}],["nextdot",{"2":{"19":3}}],["next",{"2":{"0":2,"10":1,"19":2}}],["needs",{"2":{"6":1,"19":1}}],["needed",{"2":{"6":1}}],["needing",{"2":{"5":1,"19":1}}],["need",{"2":{"0":1,"1":3,"3":1,"6":1,"9":1}}],["newaccount",{"2":{"18":1}}],["new",{"2":{"0":1,"1":2,"15":1,"18":1,"19":3}}],["dapp",{"2":{"19":4}}],["data",{"2":{"0":1,"6":2,"8":1,"11":2,"15":1}}],["during",{"2":{"1":1}}],["downloading",{"2":{"19":1}}],["download",{"2":{"19":1}}],["downloads",{"2":{"1":2}}],["down",{"2":{"11":1}}],["dotevents",{"2":{"18":2}}],["doterrors",{"2":{"18":2}}],["dotconstants",{"2":{"18":2}}],["dotcalls",{"2":{"18":2}}],["dotclient",{"2":{"3":2}}],["dotqueries",{"2":{"18":2}}],["dotapi",{"2":{"3":2,"12":2,"14":1,"18":3,"19":3}}],["dotpreimagerequeststatus",{"2":{"2":1}}],["dot",{"2":{"2":1,"3":2,"12":1,"18":1,"19":3}}],["don",{"2":{"2":1,"19":1}}],["done",{"2":{"0":1}}],["do",{"2":{"1":1,"9":1,"10":4,"14":1}}],["documented",{"2":{"0":1}}],["directly",{"2":{"5":1,"14":1}}],["directory",{"2":{"2":1,"14":1}}],["different",{"2":{"2":2,"20":1}}],["discriminated",{"2":{"14":1}}],["disconnect",{"2":{"0":1,"4":1}}],["display",{"2":{"1":1}}],["dive",{"2":{"0":1}}],["didn",{"2":{"0":1}}],["d",{"2":{"0":3}}],["death",{"2":{"14":3,"18":2}}],["delegate",{"2":{"12":1}}],["demo",{"2":{"12":1}}],["deposit",{"2":{"12":1}}],["depend",{"2":{"5":1}}],["dependencies",{"2":{"1":1}}],["declared",{"2":{"12":1}}],["defined",{"2":{"11":2}}],["defines",{"2":{"9":2}}],["default",{"2":{"0":1,"1":1,"21":2}}],["deeper",{"2":{"9":1}}],["derive",{"2":{"8":2}}],["developing",{"2":{"10":1}}],["developer",{"2":{"1":1,"9":1}}],["devel",{"2":{"9":1}}],["dev",{"2":{"8":1}}],["detect",{"2":{"2":1}}],["debug",{"2":{"0":1,"5":1}}],["descriptor",{"2":{"19":1}}],["descriptors`",{"2":{"0":1}}],["descriptors",{"2":{"0":4,"1":3,"3":2,"6":1,"9":1,"10":1,"18":1,"19":2}}],["descriptive",{"2":{"14":1}}],["designed",{"2":{"4":1}}],["dest",{"2":{"3":1,"14":3,"18":1,"19":2}}],["destroy",{"2":{"0":1}}],["either",{"2":{"14":1}}],["eye",{"2":{"10":2}}],["else",{"2":{"10":2,"19":1}}],["element",{"2":{"0":5}}],["evapi",{"2":{"9":1}}],["events",{"2":{"2":1,"18":1,"19":1}}],["event",{"2":{"0":2,"2":1,"9":2,"10":1,"18":1}}],["every",{"2":{"0":3,"2":2,"3":1,"6":1,"10":1,"19":1}}],["ed25519",{"2":{"8":1}}],["ecdsa",{"2":{"8":1}}],["easier",{"2":{"11":1}}],["easily",{"2":{"4":1,"9":1,"15":1}}],["each",{"2":{"1":1,"2":1,"5":1,"7":1,"10":1,"19":2}}],["etc",{"2":{"2":1,"9":1,"14":1,"22":1}}],["exactly",{"2":{"14":1}}],["exampleupdate",{"2":{"19":1}}],["examples",{"2":{"14":1}}],["example",{"2":{"0":1,"5":1,"8":1,"10":3,"19":1,"21":1,"22":4}}],["execution",{"2":{"10":1}}],["expect",{"2":{"21":1}}],["expected",{"2":{"19":1}}],["expects",{"2":{"12":1}}],["experience",{"2":{"9":1}}],["explanation",{"2":{"9":1}}],["export",{"2":{"8":1}}],["exports",{"2":{"2":1,"18":1}}],["exported",{"2":{"2":1,"12":1}}],["extrinsics",{"2":{"6":1}}],["extracted",{"2":{"2":1}}],["extensions",{"2":{"7":3}}],["extension",{"0":{"7":1},"2":{"7":3}}],["extends",{"2":{"0":2}}],["external",{"2":{"5":1}}],["except",{"2":{"0":1,"17":1}}],["exhaustively",{"2":{"0":1}}],["end",{"2":{"22":1}}],["endpoints",{"2":{"0":2}}],["enum",{"0":{"14":1},"2":{"14":6}}],["enums",{"2":{"2":1,"14":5}}],["enables",{"2":{"10":1}}],["entries",{"0":{"21":1,"22":1},"2":{"20":2,"22":2}}],["entropy",{"2":{"8":2}}],["entropytominisecret",{"2":{"8":2}}],["entry",{"2":{"4":1,"21":1}}],["enhancer",{"2":{"5":1}}],["enhanced",{"2":{"4":1}}],["encodeddata",{"2":{"3":1}}],["encoded",{"2":{"0":2,"1":1,"12":1}}],["escape",{"2":{"0":1}}],["errors",{"2":{"2":1,"18":1}}],["error",{"2":{"0":1,"4":1,"18":1}}],["emitted",{"2":{"0":1}}],["emits",{"2":{"0":2}}],["e",{"2":{"0":1,"5":1,"14":1}}],["bunch",{"2":{"22":1}}],["but",{"2":{"0":1,"1":3,"2":2,"5":1,"6":1,"12":2,"13":2,"16":1,"22":1}}],["bigint",{"2":{"14":2}}],["binary",{"0":{"15":1},"2":{"12":2,"15":11,"16":1}}],["balances",{"2":{"14":1,"18":2,"19":3}}],["balancestatus",{"2":{"14":1}}],["balance",{"2":{"14":2}}],["based",{"2":{"0":4,"14":1}}],["both",{"2":{"14":1,"22":1}}],["boolean",{"2":{"10":4,"19":1}}],["body",{"2":{"0":4}}],["breaking",{"2":{"10":2}}],["browser",{"0":{"7":1}}],["broadcast",{"2":{"0":4}}],["by",{"2":{"0":1,"2":1,"5":1,"9":2,"12":2,"14":2}}],["behaviour",{"2":{"22":1}}],["before",{"2":{"19":1}}],["beforehand",{"2":{"1":1}}],["because",{"2":{"19":1}}],["between",{"2":{"10":1}}],["beginning",{"2":{"2":1}}],["be",{"2":{"0":10,"1":2,"3":1,"4":2,"5":3,"6":1,"9":2,"10":1,"12":3,"14":3,"15":2,"17":1,"19":2,"21":1,"22":1}}],["bestorfinalized",{"2":{"21":1,"22":1}}],["bestblocks$",{"2":{"0":1}}],["best",{"2":{"0":7,"21":3,"22":3}}],["being",{"2":{"0":2}}],["blockhash",{"2":{"21":1}}],["blockheader",{"2":{"0":1}}],["blockinfo",{"2":{"0":4}}],["block",{"2":{"0":23,"21":3,"22":1}}],["worker",{"2":{"19":3}}],["work",{"2":{"14":1,"19":2}}],["working",{"2":{"11":1}}],["would",{"2":{"10":1,"14":1,"22":1}}],["write",{"2":{"5":1,"14":1}}],["wrap",{"2":{"4":1}}],["wss",{"2":{"5":1,"19":1}}],["wsprovider",{"2":{"5":2}}],["ws",{"2":{"4":2,"5":1}}],["wsurl",{"2":{"1":1}}],["whether",{"2":{"19":1}}],["when",{"2":{"1":1,"12":1,"14":1,"16":1,"17":1}}],["while",{"2":{"19":1}}],["which",{"2":{"1":2,"2":1,"4":1,"6":1,"8":1,"9":1,"12":1,"14":1,"17":1,"19":1,"21":1,"22":1}}],["whose",{"2":{"14":1}}],["what",{"2":{"9":1,"10":2}}],["way",{"2":{"19":1}}],["ways",{"2":{"4":1}}],["was",{"2":{"10":1}}],["wait",{"2":{"9":1,"19":3}}],["want",{"2":{"1":1,"7":1,"19":1}}],["watchvalue",{"2":{"21":2,"22":2}}],["watchblockbody",{"2":{"0":1}}],["watch",{"2":{"0":2}}],["w",{"2":{"1":2,"19":1}}],["widely",{"2":{"2":1,"14":1}}],["without",{"0":{"21":1},"2":{"5":1,"13":1,"19":2,"20":1,"22":1}}],["withlogsrecorder",{"2":{"5":3}}],["with",{"0":{"22":1},"2":{"0":2,"1":2,"2":3,"4":3,"5":1,"6":1,"7":2,"8":2,"9":4,"10":3,"11":1,"13":1,"14":4,"19":4,"20":1,"21":1,"22":3}}],["will",{"2":{"0":8,"1":1,"4":2,"5":1,"12":2,"14":5,"15":2,"19":5}}],["web",{"2":{"4":1}}],["websocketprovider",{"2":{"4":1,"5":2}}],["websocket",{"2":{"1":1,"4":1,"19":1}}],["westend2",{"2":{"1":1}}],["wellknownchain",{"2":{"3":2}}],["well",{"2":{"0":1,"1":1,"2":3,"14":2}}],["we",{"2":{"0":2,"6":1,"9":3,"10":5,"19":3,"20":1,"21":1,"22":2}}],["old",{"2":{"19":2}}],["operation",{"2":{"19":1}}],["option",{"2":{"10":1,"22":1}}],["options",{"2":{"1":2,"21":1,"22":4}}],["our",{"2":{"19":2,"22":1}}],["output",{"2":{"5":1}}],["objects",{"2":{"14":1}}],["object",{"2":{"9":1,"14":2}}],["observable",{"2":{"0":15,"9":2,"21":2,"22":1}}],["otherwise",{"2":{"19":1}}],["other",{"2":{"0":1,"9":1,"19":1,"21":1}}],["only",{"2":{"10":1}}],["onmessage",{"2":{"4":2}}],["on",{"2":{"0":1,"5":1,"6":1,"10":4,"14":1,"19":6,"21":1}}],["one",{"2":{"0":2,"2":1,"4":2,"8":1,"9":4,"14":1,"19":4}}],["once",{"2":{"0":1}}],["or",{"2":{"0":5,"1":2,"4":3,"5":1,"13":1,"19":2,"21":2}}],["offers",{"2":{"4":1}}],["of",{"2":{"0":8,"1":2,"2":9,"4":4,"6":1,"7":3,"8":1,"9":1,"10":3,"11":2,"12":3,"13":1,"14":8,"15":1,"17":2,"19":4,"20":1,"21":1,"22":5}}],["=",{"2":{"0":15,"3":7,"4":4,"5":6,"6":2,"7":4,"8":6,"9":3,"10":2,"12":2,"14":1,"15":1,"19":5,"21":4,"22":5}}],["give",{"2":{"19":1}}],["github",{"2":{"0":1}}],["great",{"2":{"9":1}}],["g",{"2":{"5":1}}],["generating",{"2":{"10":1}}],["generate",{"2":{"1":5,"5":1,"9":1,"19":1}}],["generates",{"2":{"1":1}}],["generated",{"2":{"0":1,"1":1,"2":2,"6":1,"9":1,"14":1}}],["generic",{"0":{"8":1},"2":{"6":1}}],["getentries",{"2":{"22":5}}],["getencodeddata",{"2":{"3":1}}],["getvalues",{"2":{"22":2}}],["getvalue",{"2":{"12":1,"18":1,"21":2,"22":3}}],["getpolkadotsigner",{"2":{"8":3}}],["getaccounts",{"2":{"7":1}}],["getinjectedextensions",{"2":{"7":2}}],["getsmprovider",{"2":{"4":1,"19":1}}],["gettypedapi",{"2":{"0":2,"2":1,"3":4,"12":1,"19":2}}],["getblockheader",{"2":{"0":1}}],["getblockbody",{"2":{"0":1}}],["getbestblocks",{"2":{"0":1}}],["getfinalizedblock",{"2":{"0":1}}],["getchainspecdata",{"2":{"0":1}}],["get",{"2":{"0":3,"1":1,"7":2,"19":1,"22":2}}],["gt",{"0":{"16":1,"17":1},"2":{"0":28,"1":7,"4":4,"5":1,"6":4,"8":2,"9":5,"10":2,"14":2,"17":2,"19":1,"21":6,"22":14}}],["perform",{"2":{"19":2}}],["performtransfer",{"2":{"18":2,"19":1}}],["persist",{"2":{"1":2}}],["phrase",{"2":{"8":1}}],["pjs",{"2":{"7":2}}],["purposes",{"2":{"12":1}}],["public",{"2":{"12":1}}],["publickey",{"2":{"6":1,"8":2}}],["push",{"2":{"5":1}}],["primitive",{"2":{"11":1}}],["previous",{"2":{"22":1}}],["preparing",{"0":{"19":1}}],["prepare",{"2":{"10":1,"19":1}}],["prefix",{"2":{"13":1}}],["preimagerequeststatus",{"2":{"2":1}}],["processaccount",{"2":{"18":2}}],["proxy",{"2":{"12":1}}],["proxies",{"2":{"12":3}}],["property",{"2":{"7":1}}],["providers",{"0":{"4":1},"1":{"5":1},"2":{"4":1}}],["provider",{"0":{"5":1},"2":{"0":1,"1":1,"4":4,"5":10}}],["promise",{"2":{"0":11,"6":1,"8":1,"9":1,"10":2,"19":1,"21":1,"22":3}}],["possibleparents",{"2":{"22":1}}],["possible",{"2":{"19":1}}],["postinstall",{"2":{"1":2}}],["powerful",{"2":{"10":1}}],["point",{"2":{"4":1}}],["polkadotruntimeruntimecall",{"2":{"14":2}}],["polkadotsigner",{"0":{"7":1,"8":1},"2":{"6":1,"7":2,"8":3}}],["polkadotapi",{"2":{"2":1,"12":1}}],["polkadot",{"2":{"0":2,"1":5,"3":3,"4":6,"5":7,"6":1,"7":3,"8":4,"11":1,"12":2,"14":2,"18":1,"19":10}}],["polkadotclient",{"0":{"0":1},"2":{"0":3}}],["pages",{"2":{"10":1}}],["pallet",{"2":{"2":1,"9":2,"14":1,"22":4}}],["package",{"2":{"1":3}}],["papi",{"2":{"1":6,"9":1,"10":1,"19":3}}],["passing",{"2":{"22":1}}],["passed",{"2":{"22":1}}],["pass",{"2":{"0":1,"19":1,"22":3}}],["payload",{"2":{"0":1,"21":4,"22":5}}],["partial",{"2":{"21":1}}],["particular",{"2":{"10":1,"14":1,"21":2,"22":1}}],["parents",{"2":{"3":1}}],["paramter",{"2":{"19":1}}],["parameter",{"2":{"12":1,"14":2,"16":1,"19":1}}],["params",{"2":{"0":3}}],["param",{"2":{"0":8}}],["paritytech",{"2":{"0":1}}],["switch",{"2":{"14":1}}],["shows",{"2":{"14":1}}],["shown",{"2":{"14":1,"16":1,"17":1}}],["should",{"2":{"14":2}}],["shape",{"2":{"4":1}}],["shapes",{"2":{"0":1}}],["ss58prefix",{"2":{"18":2}}],["ss58account",{"2":{"18":2}}],["ss58",{"2":{"12":2}}],["ss58string",{"0":{"12":1},"2":{"12":4}}],["sr25519createderive",{"2":{"8":2}}],["sr25519",{"2":{"8":3}}],["smworker",{"2":{"19":2}}],["sm",{"2":{"4":1}}],["smoldot",{"2":{"4":2,"19":4}}],["several",{"2":{"22":1}}],["set",{"2":{"14":3,"19":1}}],["seamlessly",{"2":{"10":1}}],["second",{"2":{"9":1}}],["section",{"2":{"9":1,"10":1}}],["see",{"2":{"9":3,"10":5}}],["selectedextension",{"2":{"7":2}}],["service",{"2":{"4":1}}],["send",{"2":{"3":1,"4":2}}],["safely",{"2":{"3":1}}],["same",{"2":{"2":1,"16":1,"19":1,"22":3}}],["situation",{"2":{"22":1}}],["situations",{"2":{"20":1}}],["similarely",{"2":{"22":1}}],["simple",{"2":{"10":1}}],["simplest",{"2":{"9":1}}],["signal",{"2":{"21":1}}],["signature",{"2":{"14":2}}],["signandsubmit",{"2":{"3":1,"18":1}}],["signs",{"2":{"8":1}}],["sign",{"2":{"6":2,"8":2}}],["signingtype",{"2":{"8":1}}],["signing",{"0":{"8":1},"2":{"6":2}}],["signedextensions",{"2":{"6":1}}],["signed",{"2":{"6":1}}],["signers",{"0":{"6":1},"1":{"7":1,"8":1}}],["signer",{"2":{"3":1,"6":2,"7":4,"8":2,"18":1}}],["since",{"2":{"0":1,"10":1}}],["slightly",{"2":{"2":1}}],["scenarios",{"2":{"5":1}}],["scprovider",{"2":{"3":2}}],["scripts",{"2":{"1":1}}],["script",{"2":{"1":1}}],["scale",{"2":{"0":2,"1":1}}],["something",{"2":{"6":1,"14":1}}],["some",{"2":{"1":1,"2":1,"4":1,"8":1,"9":1,"11":1}}],["so",{"2":{"1":1,"2":1,"3":1,"4":1,"14":1}}],["source",{"2":{"1":6,"5":1,"14":1}}],["soon",{"2":{"0":1,"19":1}}],["sync",{"2":{"10":1}}],["synchronously",{"2":{"0":2,"19":1}}],["system",{"2":{"0":1,"10":2,"18":6,"21":2,"22":1}}],["systemversion",{"2":{"0":1}}],["superset",{"2":{"17":1}}],["supersedes",{"2":{"0":1}}],["support",{"2":{"14":1,"19":2}}],["supported",{"2":{"8":1}}],["such",{"2":{"0":1,"4":1}}],["subset",{"2":{"22":1}}],["subscription",{"2":{"0":1}}],["subscribing",{"2":{"0":2}}],["subpath",{"2":{"7":1}}],["subpackage",{"2":{"5":1}}],["submitandwatch",{"2":{"0":1}}],["submit",{"2":{"0":1}}],["still",{"2":{"19":1}}],["stuff",{"2":{"10":2}}],["stores",{"2":{"1":1}}],["storageentrywithkeys",{"2":{"22":1}}],["storageentrywithoutkeys",{"2":{"21":1}}],["storageapi",{"2":{"9":1}}],["storage",{"0":{"20":1},"1":{"21":1,"22":1},"2":{"1":1,"2":1,"9":1,"18":1,"20":1,"21":1,"22":2}}],["straight",{"2":{"0":1}}],["string",{"2":{"0":6,"4":3,"6":2,"7":1,"9":2,"12":4,"13":3,"14":2,"21":1}}],["structure",{"2":{"0":1,"11":1,"21":1,"22":1}}],["startfromworker",{"2":{"19":2}}],["start",{"2":{"9":1,"19":1}}],["statistics",{"2":{"4":1}}],["state",{"2":{"0":2}}],["stateful",{"2":{"0":2}}],["stable",{"2":{"0":1}}],["s",{"2":{"0":3,"1":2,"2":2,"4":1,"9":4,"10":6,"12":3,"15":1,"17":2,"19":4}}],["specifies",{"2":{"16":1}}],["specific",{"2":{"5":1,"9":1,"17":1,"19":1}}],["spec",{"2":{"0":3,"1":3}}],["roadmap",{"2":{"19":1}}],["rococo",{"2":{"1":1}}],["running",{"2":{"19":2}}],["run",{"2":{"1":2,"19":1}}],["runtimeapi",{"2":{"9":2}}],["runtimecallsapi",{"2":{"9":1}}],["runtime",{"0":{"19":1},"2":{"1":2,"2":2,"3":1,"9":8,"10":12,"19":10}}],["rxjs",{"2":{"0":1}}],["redo",{"2":{"19":1}}],["referenda",{"2":{"19":1}}],["reference",{"2":{"0":1,"2":1,"16":1}}],["regardless",{"2":{"12":1}}],["registered",{"2":{"7":1}}],["registers",{"2":{"1":1}}],["represented",{"2":{"14":2,"15":1}}],["represent",{"2":{"11":1}}],["reply",{"2":{"0":2}}],["replaying",{"2":{"5":1}}],["replay",{"2":{"0":2,"5":1}}],["rest",{"2":{"10":1}}],["responsible",{"2":{"6":1}}],["reacttonewaccount",{"2":{"18":1}}],["reading",{"2":{"14":2}}],["readlogs",{"2":{"5":1}}],["really",{"2":{"10":1}}],["re",{"2":{"9":1,"10":1,"19":1,"20":1}}],["received",{"2":{"19":1}}],["receives",{"2":{"12":1}}],["recipe",{"2":{"9":1,"10":1}}],["record",{"2":{"6":1,"9":2}}],["recording",{"2":{"5":1}}],["recovery",{"2":{"4":1}}],["recommended",{"2":{"1":1}}],["relay",{"2":{"19":1}}],["relaychain",{"2":{"3":2}}],["relies",{"2":{"0":1}}],["removing",{"2":{"1":1}}],["required",{"2":{"22":1}}],["require",{"2":{"22":1}}],["requires",{"2":{"1":1,"4":1}}],["request",{"2":{"0":3,"1":1}}],["return",{"2":{"18":1,"19":2}}],["returned",{"2":{"4":1,"12":1,"13":1,"18":1}}],["returns",{"2":{"0":7,"10":2,"21":3,"22":1}}],["retrieve",{"2":{"0":3}}],["rpc",{"2":{"0":2,"19":1}}],["ienum",{"2":{"14":1}}],["imagine",{"2":{"19":1,"22":1}}],["imported",{"2":{"14":1}}],["import",{"2":{"3":2,"5":6,"7":1,"8":2,"14":1,"18":1,"19":5}}],["immutable",{"2":{"0":1}}],["identityjudgement",{"2":{"14":1}}],["identifier",{"2":{"1":1,"6":1}}],["ide",{"2":{"2":1,"14":1}}],["id",{"2":{"0":1,"14":1,"18":1,"19":2}}],["invalidspecname",{"2":{"18":1}}],["info",{"2":{"14":1}}],["information",{"2":{"1":2,"9":1,"22":1}}],["inference",{"2":{"14":1}}],["indicates",{"2":{"13":1,"14":1}}],["indicative",{"2":{"12":1}}],["index",{"2":{"9":1,"21":1,"22":1}}],["instead",{"2":{"22":1}}],["installed",{"2":{"7":1}}],["installing",{"2":{"1":1}}],["installation",{"2":{"1":1}}],["instance",{"2":{"0":1,"2":1}}],["inside",{"2":{"9":2}}],["input",{"2":{"8":1}}],["injectedpolkadotaccount",{"2":{"7":1}}],["injectedextension",{"2":{"7":1}}],["initiate",{"2":{"4":1}}],["incompatibilities",{"2":{"2":1}}],["in",{"2":{"0":1,"1":1,"2":3,"4":1,"6":1,"7":2,"10":4,"11":1,"12":3,"14":4,"19":1,"21":1,"22":5}}],["interested",{"2":{"10":1}}],["interior",{"2":{"3":1}}],["interaction",{"2":{"10":1,"19":1}}],["interact",{"2":{"1":2,"9":1,"10":1}}],["interface",{"0":{"18":1},"2":{"0":3,"4":3,"6":3,"10":3}}],["into",{"2":{"0":3,"1":3,"5":1,"15":2}}],["if",{"2":{"0":1,"2":2,"7":1,"8":1,"10":3,"14":1,"19":5}}],["i",{"2":{"0":1,"14":1}}],["iscompatible",{"0":{"10":1},"2":{"10":7,"19":5,"21":2,"22":2}}],["is",{"2":{"0":5,"1":4,"2":2,"4":1,"6":2,"7":1,"10":6,"12":3,"13":1,"14":1,"15":2,"16":1,"17":1,"19":4}}],["io",{"2":{"0":1,"19":1}}],["its",{"2":{"0":3,"6":1,"10":1}}],["it",{"2":{"0":10,"1":7,"2":4,"3":2,"4":3,"5":1,"6":2,"8":1,"9":6,"10":4,"11":1,"12":4,"13":1,"14":2,"17":1,"19":5,"21":2,"22":4}}],["l",{"0":{"16":1,"17":1},"2":{"17":2}}],["long",{"2":{"19":1}}],["look",{"2":{"14":1}}],["looking",{"2":{"9":2}}],["looks",{"2":{"9":1}}],["loaded",{"2":{"10":1,"19":2}}],["load",{"2":{"9":1}}],["logerror",{"2":{"18":1}}],["log",{"2":{"5":3,"12":1}}],["logsprovider",{"2":{"5":4}}],["logs",{"0":{"5":1},"2":{"5":8}}],["logging",{"2":{"4":1}}],["link",{"2":{"19":1}}],["line",{"2":{"5":3}}],["like",{"2":{"9":1,"14":2}}],["library",{"2":{"1":1}}],["list",{"2":{"1":2,"7":1}}],["length",{"2":{"16":2,"17":2}}],["learnt",{"2":{"10":1}}],["lets",{"2":{"4":1}}],["let",{"2":{"0":1,"9":2,"10":4,"19":1}}],["level",{"2":{"0":1,"18":1}}],["labs",{"2":{"8":3}}],["later",{"2":{"1":1}}],["latest",{"2":{"0":9,"9":2,"10":1,"19":1}}],["last",{"2":{"0":3}}],["lt",{"0":{"16":1,"17":1},"2":{"0":17,"1":6,"6":2,"8":1,"9":4,"10":2,"14":1,"17":2,"19":1,"21":4,"22":10}}],["ll",{"2":{"0":2,"9":2,"10":1,"22":1}}],["furthermore",{"2":{"19":1}}],["full",{"2":{"14":1}}],["functions",{"2":{"9":1,"15":1}}],["function",{"0":{"8":1},"2":{"0":1,"4":1,"8":2,"9":1,"14":1,"18":5,"19":2,"21":1,"22":1}}],["few",{"2":{"14":1,"15":1}}],["features",{"2":{"4":1}}],["fresh",{"2":{"1":1}}],["fromtext",{"2":{"15":1}}],["fromhex",{"2":{"15":1}}],["frombytes",{"2":{"15":1}}],["from",{"0":{"7":1,"8":1},"2":{"0":3,"1":5,"2":1,"3":2,"4":3,"5":7,"7":1,"8":4,"12":1,"13":1,"14":3,"18":2,"19":7}}],["f",{"2":{"1":2}}],["fairly",{"2":{"0":1}}],["fancy",{"2":{"0":1,"19":2}}],["fixedsizearray",{"0":{"17":1},"2":{"17":1}}],["fixedsizebinary",{"0":{"16":1}}],["fields",{"2":{"9":1,"10":1}}],["field",{"2":{"9":1,"10":1}}],["file",{"2":{"1":7,"5":2}}],["filename",{"2":{"1":3}}],["first",{"2":{"0":2,"9":1,"10":1,"14":1,"19":2}}],["finalizedcall",{"2":{"3":1}}],["finalizedblock$",{"2":{"0":1}}],["finalized",{"2":{"0":11,"21":3,"22":2}}],["find",{"2":{"0":1,"9":1,"14":1,"22":1}}],["found",{"2":{"22":1}}],["folder",{"2":{"1":1}}],["following",{"2":{"0":1,"4":1,"6":1,"14":2,"21":1,"22":1}}],["force",{"2":{"14":4}}],["formatss58account",{"2":{"18":2}}],["format",{"2":{"12":4}}],["formatted",{"2":{"12":1}}],["forward",{"2":{"0":1}}],["for",{"0":{"19":1},"2":{"0":2,"1":7,"2":3,"4":1,"6":3,"7":1,"8":1,"9":6,"10":3,"12":1,"14":4,"16":1,"19":10,"20":1,"21":2,"22":3}}],["creating",{"2":{"14":1}}],["creates",{"2":{"14":1}}],["create",{"2":{"0":2,"1":1,"5":1,"6":1,"8":1,"9":1,"15":1,"19":2}}],["createclient",{"2":{"0":1,"3":2,"4":1,"5":4,"19":2}}],["current",{"2":{"9":1}}],["clear",{"2":{"19":1}}],["clearorigin",{"2":{"3":1}}],["clean",{"2":{"1":1}}],["cli",{"2":{"0":1,"1":2,"9":1,"19":1}}],["client",{"2":{"0":4,"5":2,"9":1,"12":1,"19":4}}],["c",{"2":{"1":2}}],["correct",{"2":{"14":1,"19":1}}],["corresponding",{"2":{"6":1}}],["could",{"2":{"5":1}}],["couple",{"2":{"4":1,"7":1}}],["cost",{"2":{"3":1}}],["code",{"2":{"1":2,"2":1,"14":1,"19":1}}],["codecs",{"2":{"1":1}}],["codegen",{"0":{"1":1},"1":{"2":1,"3":1},"2":{"1":2,"2":1,"9":1,"10":1}}],["console",{"2":{"5":2,"12":1}}],["consumed",{"2":{"2":1,"5":1}}],["constant",{"2":{"9":1,"10":1}}],["constants",{"2":{"2":1,"9":1,"18":2,"19":1}}],["constapi",{"2":{"9":1}}],["const",{"2":{"0":2,"3":7,"5":5,"7":4,"8":5,"10":2,"12":2,"15":1,"19":5}}],["continue",{"2":{"10":1}}],["contains",{"2":{"2":2}}],["contents",{"0":{"2":1}}],["configuration",{"2":{"1":1}}],["config",{"2":{"1":2}}],["connectinjectedextension",{"2":{"7":2}}],["connecting",{"2":{"4":1}}],["connection",{"2":{"4":3,"19":2}}],["connected",{"2":{"1":1,"2":1,"19":1}}],["connect",{"2":{"1":1,"4":2,"7":1}}],["compatibility",{"2":{"19":2}}],["compatible",{"2":{"7":1,"10":4,"19":2}}],["compliant",{"2":{"0":1}}],["complete",{"2":{"0":2}}],["come",{"2":{"4":1}}],["comes",{"2":{"0":1}}],["coming",{"2":{"4":1}}],["communicate",{"2":{"4":1}}],["command",{"2":{"1":4}}],["cases",{"2":{"14":1}}],["case",{"2":{"2":1,"10":2,"14":1,"22":3}}],["calloptions",{"2":{"21":2,"22":3}}],["calldata",{"2":{"6":1}}],["called",{"2":{"3":1}}],["call",{"2":{"2":1,"4":1,"6":1,"10":2,"14":4,"18":1,"22":2}}],["calls",{"2":{"1":1,"2":2,"9":1}}],["calling",{"2":{"0":1,"4":1,"14":1}}],["can",{"2":{"0":7,"1":4,"2":1,"3":1,"4":3,"5":3,"8":1,"10":2,"12":1,"14":2,"19":8,"21":1,"22":1}}],["choose",{"2":{"21":1}}],["choices",{"2":{"1":1}}],["checks",{"2":{"17":1,"19":2}}],["checksum",{"2":{"2":1}}],["check",{"2":{"10":1,"19":3,"21":1}}],["chains",{"2":{"1":2,"2":3,"14":1,"19":2}}],["chainspec",{"2":{"0":1,"1":1,"19":2}}],["chainspecdata",{"2":{"0":2}}],["chain",{"2":{"1":8,"2":2,"3":1,"4":3,"6":1,"10":1,"11":2,"12":2,"14":1,"16":1,"19":6}}],["changes",{"2":{"21":1}}],["change",{"2":{"0":1}}],["children",{"2":{"0":2}}],["available",{"2":{"18":1,"19":2}}],["across",{"2":{"14":1}}],["accepts",{"2":{"12":1,"13":1}}],["access",{"2":{"0":1}}],["accounts",{"2":{"7":3,"12":1}}],["account",{"2":{"0":2,"7":1,"18":4,"22":2}}],["abortsignal",{"2":{"21":1}}],["about",{"2":{"10":1}}],["abstracted",{"2":{"12":1}}],["able",{"2":{"9":1}}],["amp",{"2":{"9":1}}],["app",{"2":{"10":1}}],["appended",{"2":{"2":1}}],["apis",{"2":{"9":1,"14":1,"19":2}}],["api",{"2":{"0":5,"1":4,"3":2,"4":6,"5":7,"6":2,"7":3,"8":1,"9":1,"10":1,"11":1,"12":1,"14":2,"18":1,"19":6}}],["autocompletion",{"2":{"2":1}}],["automatically",{"2":{"1":1}}],["again",{"2":{"1":1}}],["addr",{"2":{"19":2}}],["addresses",{"2":{"22":1}}],["address",{"2":{"12":1,"14":1,"22":1}}],["addchain",{"2":{"19":1}}],["additionalsigned",{"2":{"6":1}}],["adds",{"2":{"4":1}}],["added",{"2":{"1":1}}],["add",{"2":{"1":6,"19":2}}],["await",{"2":{"0":2,"3":2,"7":1,"10":2,"12":1,"18":2,"19":3}}],["always",{"2":{"12":1,"13":1}}],["alive",{"2":{"19":1}}],["alias",{"2":{"12":1,"13":1}}],["alice",{"2":{"8":1}}],["algorithms",{"2":{"8":1}}],["along",{"2":{"5":1}}],["also",{"2":{"2":2,"6":1,"14":1,"17":1,"22":1}}],["all",{"2":{"1":4,"2":2,"9":1,"10":1,"11":1,"14":1,"22":2}}],["allowing",{"2":{"21":1}}],["allows",{"2":{"2":1,"9":1,"21":1,"22":2}}],["allow",{"2":{"0":1,"9":1,"14":3,"18":2}}],["already",{"2":{"0":2,"10":2,"19":1}}],["after",{"2":{"0":1,"1":2,"10":1}}],["arg3",{"2":{"22":1}}],["arg2",{"2":{"22":2}}],["arg1",{"2":{"22":3}}],["args",{"2":{"22":10}}],["arguments",{"2":{"1":1,"22":1}}],["arbitrary",{"2":{"8":1}}],["are",{"2":{"0":2,"2":4,"6":1,"9":2,"11":1,"12":1,"14":7,"18":1,"22":1}}],["array",{"2":{"0":6,"5":1,"15":1,"17":2,"22":3}}],["atblocknumber",{"2":{"6":1}}],["at",{"2":{"0":5,"2":2,"3":1,"9":1,"21":2,"22":6}}],["another",{"2":{"4":1,"10":1,"13":1}}],["anonymous",{"2":{"2":1,"11":1,"14":1}}],["any",{"2":{"0":3,"2":1,"4":1,"10":1,"12":3,"15":1,"18":1,"19":1}}],["an",{"2":{"0":5,"5":2,"7":1,"9":1,"10":4,"12":3,"14":3,"17":1,"19":3,"21":1,"22":1}}],["and",{"2":{"0":11,"1":6,"2":3,"3":1,"4":1,"6":2,"8":1,"9":2,"10":3,"14":6,"19":4,"20":1,"22":2}}],["astext",{"2":{"15":1}}],["ashex",{"2":{"15":1}}],["asbytes",{"2":{"15":1}}],["as",{"2":{"0":7,"1":4,"4":1,"7":1,"10":1,"12":3,"14":3,"15":1,"16":2,"17":1,"19":8,"21":1,"22":1}}],["a",{"0":{"7":1,"19":1},"2":{"0":14,"1":14,"2":4,"4":5,"5":5,"6":2,"7":4,"8":2,"9":5,"10":5,"11":1,"12":2,"13":1,"14":6,"15":2,"16":2,"17":4,"19":8,"21":2,"22":6}}],["turned",{"2":{"15":2}}],["transfer",{"2":{"14":5,"18":4,"19":4}}],["transactionpaymentcallapi",{"2":{"14":1}}],["transactions",{"2":{"2":1,"6":3,"9":1,"18":1,"19":1}}],["transaction",{"2":{"0":7,"1":1,"6":1}}],["tagged",{"2":{"12":1}}],["takes",{"2":{"6":1,"8":1}}],["taking",{"2":{"0":2,"6":1}}],["time",{"2":{"9":1,"22":1}}],["times",{"2":{"3":1}}],["text",{"2":{"15":2}}],["tell",{"2":{"14":1,"19":1}}],["terminate",{"2":{"4":1}}],["technically",{"2":{"1":1}}],["two",{"2":{"2":3,"19":1,"20":2}}],["typed",{"2":{"6":1,"10":1,"19":1}}],["typedapis",{"2":{"19":1}}],["typedapi",{"0":{"9":1},"1":{"10":1},"2":{"0":1,"9":3,"10":3,"19":1,"21":1,"22":4}}],["type",{"2":{"1":2,"2":1,"3":1,"9":2,"12":1,"14":10,"15":1,"16":1,"17":1,"21":2,"22":1}}],["types",{"0":{"11":1,"18":1},"1":{"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1},"2":{"1":1,"2":5,"9":1,"11":3,"14":8,"18":1,"19":1}}],["txapi",{"2":{"9":1}}],["txbroadcastevent",{"2":{"0":1}}],["txfinalizedpayload",{"2":{"0":1}}],["tx",{"2":{"0":4,"3":1,"9":2,"10":1,"18":1,"19":3}}],["t",{"0":{"17":1},"2":{"0":1,"2":1,"14":1,"17":2,"19":1}}],["to",{"2":{"0":11,"1":14,"2":2,"4":4,"5":6,"6":4,"7":3,"9":6,"10":4,"11":1,"12":1,"14":2,"15":1,"19":12,"21":4,"22":9}}],["top",{"2":{"0":1,"18":1}}],["three",{"2":{"22":1}}],["through",{"2":{"1":1,"3":1,"4":3,"14":1,"18":1,"19":1}}],["this",{"2":{"0":4,"1":2,"5":1,"6":1,"7":1,"9":1,"10":3,"14":2,"15":1,"19":3,"22":3}}],["that",{"2":{"0":10,"1":4,"2":4,"3":1,"4":2,"5":3,"6":1,"9":5,"10":1,"11":1,"12":3,"13":1,"14":7,"15":3,"17":4,"19":7,"21":1,"22":2}}],["them",{"2":{"14":3,"19":1,"22":1}}],["they",{"2":{"2":2,"11":1,"14":2,"22":1}}],["these",{"2":{"2":4,"6":1,"14":4}}],["then",{"2":{"1":3,"2":1,"3":1,"19":3}}],["their",{"2":{"1":1,"14":1}}],["therefore",{"2":{"21":1,"22":1}}],["there",{"2":{"0":1,"2":1,"10":1,"20":1}}],["the",{"2":{"0":34,"1":27,"2":16,"4":8,"5":1,"6":6,"7":4,"8":2,"9":11,"10":12,"11":5,"12":9,"13":3,"14":19,"16":2,"17":2,"18":2,"19":28,"21":7,"22":12}}]],"serializationVersion":2}
diff --git a/assets/client-B2lrzsRU.js b/assets/client-B2lrzsRU.js
new file mode 100644
index 00000000..b26d5775
--- /dev/null
+++ b/assets/client-B2lrzsRU.js
@@ -0,0 +1,129 @@
+import{u as n,j as s}from"./index-DTtoqbmS.js";const r={title:"PolkadotClient",description:"undefined"};function i(e){const l={a:"a",code:"code",div:"div",h1:"h1",header:"header",p:"p",pre:"pre",span:"span",...n(),...e.components};return s.jsxs(s.Fragment,{children:[s.jsx(l.header,{children:s.jsxs(l.h1,{id:"polkadotclient",children:["PolkadotClient",s.jsx(l.a,{"aria-hidden":"true",tabIndex:"-1",href:"#polkadotclient",children:s.jsx(l.div,{"data-autolink-icon":!0})})]})}),`
+`,s.jsxs(l.p,{children:[s.jsx(l.code,{children:"PolkadotClient"})," interface shapes the top-level API for ",s.jsx(l.code,{children:"polkadot-api"}),". Once we get a client using ",s.jsx(l.code,{children:"createClient"})," function, we'll find the following:"]}),`
+`,s.jsx(l.pre,{className:"shiki shiki-themes github-light github-dark-dimmed",style:{backgroundColor:"#fff","--shiki-dark-bg":"#22272e",color:"#24292e","--shiki-dark":"#adbac7"},tabIndex:"0",children:s.jsxs(l.code,{children:[s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"interface"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" PolkadotClient"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" {"})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * Retrieve the ChainSpecData as it comes from the"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * [JSON-RPC spec](https://paritytech.github.io/json-rpc-interface-spec/api/chainSpec.html)"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" */"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" getChainSpecData"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" () "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Promise"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"ChainSpecData"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsx(l.span,{className:"line","data-empty-line":!0,children:" "}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * Observable that emits `BlockInfo` from the latest known finalized block."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * It's a multicast and stateful observable, that will synchronously replay"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * its latest known state."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" */"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" finalizedBlock$"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Observable"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"BlockInfo"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@returns"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" Latest known finalized block."})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" */"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" getFinalizedBlock"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" () "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Promise"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"BlockInfo"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsx(l.span,{className:"line","data-empty-line":!0,children:" "}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * Observable that emits an Array of `BlockInfo`, being the first element the"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * latest known best block, and the last element the latest known finalized"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * block. It's a multicast and stateful observable, that will synchronously"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * replay its latest known state. This array is an immutable data structure;"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * i.e. a new array is emitted at every event but the reference to its"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * children are stable if the children didn't change."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" *"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * Note that subscribing to this observable already supersedes the need of"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * subscribing to `finalizedBlock$`, since the last element of the array will"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * be the latest known finalized block."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" */"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" bestBlocks$"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Observable"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"BlockInfo"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"[]>"})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@returns"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" Array of `BlockInfo`, being the first element the latest"})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * known best block, and the last element the latest known"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * finalized block."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" */"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" getBestBlocks"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" () "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Promise"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"BlockInfo"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"[]>"})]}),`
+`,s.jsx(l.span,{className:"line","data-empty-line":!0,children:" "}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * Observable to watch Block Body."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" *"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@param"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" hash"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:' It can be a block hash, `"finalized"`, or `"best"`'})]}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@returns"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" Observable to watch a block body. There'll be just one event"})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * with the payload and the observable will complete."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" */"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" watchBlockBody"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("}),s.jsx(l.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:"hash"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#005CC5","--shiki-dark":"#6CB6FF"},children:" string"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:") "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Observable"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"HexString"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"[]>"})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * Get Block Body (Promise-based)"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" *"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@param"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" hash"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:' It can be a block hash, `"finalized"`, or `"best"`'})]}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@returns"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" Block body."})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" */"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" getBlockBody"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("}),s.jsx(l.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:"hash"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#005CC5","--shiki-dark":"#6CB6FF"},children:" string"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:") "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Promise"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"HexString"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"[]>"})]}),`
+`,s.jsx(l.span,{className:"line","data-empty-line":!0,children:" "}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * Get Block Header (Promise-based)"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" *"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@param"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" hash"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:' It can be a block hash, `"finalized"` (default), or'})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:' * `"best"`'})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@returns"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" Block hash."})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" */"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" getBlockHeader"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("}),s.jsx(l.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:"hash"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"?:"}),s.jsx(l.span,{style:{color:"#005CC5","--shiki-dark":"#6CB6FF"},children:" string"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:") "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Promise"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"BlockHeader"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsx(l.span,{className:"line","data-empty-line":!0,children:" "}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * Broadcast a transaction (Promise-based)"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" *"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@param"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" transaction"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" SCALE-encoded tx to broadcast."})]}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@param"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" at"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:' It can be a block hash, `"finalized"`, or `"best"`.'})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * That block will be used to verify the validity of"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * the tx, retrieve the next nonce,"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * and create the mortality taking that block into"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * account."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" */"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" submit"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("})]}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" transaction"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" HexString"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:","})]}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" at"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"?:"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" HexString"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:","})]}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ) "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Promise"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"TxFinalizedPayload"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * Broadcast a transaction and returns an Observable. The observable will"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * complete as soon as the transaction is in a finalized block."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" *"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@param"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" transaction"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" SCALE-encoded tx to broadcast."})]}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@param"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" at"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:' It can be a block hash, `"finalized"`, or `"best"`.'})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * That block will be used to verify the validity of"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * the tx, retrieve the next nonce,"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * and create the mortality taking that block into"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * account."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" */"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" submitAndWatch"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("})]}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" transaction"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" HexString"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:","})]}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" at"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"?:"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" HexString"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:","})]}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ) "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Observable"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"TxBroadcastEvent"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsx(l.span,{className:"line","data-empty-line":!0,children:" "}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * Returns an instance of a `TypedApi`"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" *"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@param"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" descriptors"}),s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" Pass descriptors from `@polkadot-api/descriptors`"})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * generated by `papi` CLI."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" */"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" getTypedApi"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" <"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"D"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:" extends"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Descriptors"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">("}),s.jsx(l.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:"descriptors"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" D"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:") "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" TypedApi"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"D"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsx(l.span,{className:"line","data-empty-line":!0,children:" "}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * This will `unfollow` the provider, disconnect and error every subscription."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * After calling it nothing can be done with the client."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" */"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" destroy"}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(l.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" () "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(l.span,{style:{color:"#005CC5","--shiki-dark":"#6CB6FF"},children:" void"})]}),`
+`,s.jsx(l.span,{className:"line","data-empty-line":!0,children:" "}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" /**"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:' * This API is meant as an "escape hatch" to allow access to debug endpoints'})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * such as `system_version`, and other useful endpoints that are not spec"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * compliant."})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" *"})}),`
+`,s.jsxs(l.span,{className:"line",children:[s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" * "}),s.jsx(l.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"@example"})]}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:" *"})}),`
+`,s.jsx(l.span,{className:"line",children:s.jsx(l.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:' * const systemVersion = await client._requestC(...w)).find(C=>C!==void 0)}}}else a[u]=f}),a),{})}}function Mb(e){e===void 0&&(e=[]);const t=e,n=h.useCallback(i=>ic(i,e,"reference"),t),r=h.useCallback(i=>ic(i,e,"floating"),t),o=h.useCallback(i=>ic(i,e,"item"),e.map(i=>i==null?void 0:i.item));return h.useMemo(()=>({getReferenceProps:n,getFloatingProps:r,getItemProps:o}),[n,r,o])}function uv(e,t){const[n,r]=e;let o=!1;const i=t.length;for(let a=0,l=i-1;a=r!=c>=r&&n<=(f-s)*(r-u)/(c-u)+s&&(o=!o)}return o}function Db(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}function jb(e){e===void 0&&(e={});const{buffer:t=.5,blockPointerEvents:n=!1,requireIntent:r=!0}=e;let o,i=!1,a=null,l=null,s=performance.now();function u(c,d){const p=performance.now(),w=p-s;if(a===null||l===null||w===0)return a=c,l=d,s=p,null;const m=c-a,C=d-l,g=Math.sqrt(m*m+C*C)/w;return a=c,l=d,s=p,g}const f=c=>{let{x:d,y:p,placement:w,elements:m,onClose:C,nodeId:v,tree:g}=c;return function(E){function S(){clearTimeout(o),C()}if(clearTimeout(o),!m.domReference||!m.floating||w==null||d==null||p==null)return;const{clientX:$,clientY:_}=E,b=[$,_],T=Cb(E),P=E.type==="mouseleave",M=Qa(m.floating,T),O=Qa(m.domReference,T),j=m.domReference.getBoundingClientRect(),R=m.floating.getBoundingClientRect(),F=w.split("-")[0],W=d>R.right-R.width/2,H=p>R.bottom-R.height/2,A=Db(b,j),B=R.width>j.width,G=R.height>j.height,te=(B?j:R).left,ae=(B?j:R).right,je=(G?j:R).top,Oe=(G?j:R).bottom;if(M&&(i=!0,!P))return;if(O&&(i=!1),O&&!P){i=!0;return}if(P&&Xe(E.relatedTarget)&&Qa(m.floating,E.relatedTarget)||g&&Ib(g.nodesRef.current,v).some(Ne=>{let{context:de}=Ne;return de==null?void 0:de.open}))return;if(F==="top"&&p>=j.bottom-1||F==="bottom"&&p<=j.top+1||F==="left"&&d>=j.right-1||F==="right"&&d<=j.left+1)return S();let ge=[];switch(F){case"top":ge=[[te,j.top+1],[te,R.bottom-1],[ae,R.bottom-1],[ae,j.top+1]];break;case"bottom":ge=[[te,R.top+1],[te,j.bottom-1],[ae,j.bottom-1],[ae,R.top+1]];break;case"left":ge=[[R.right-1,Oe],[R.right-1,je],[j.left+1,je],[j.left+1,Oe]];break;case"right":ge=[[j.right-1,Oe],[j.right-1,je],[R.left+1,je],[R.left+1,Oe]];break}function ye(Ne){let[de,Se]=Ne;switch(F){case"top":{const Ot=[B?de+t/2:W?de+t*4:de-t*4,Se+t+1],Mt=[B?de-t/2:W?de+t*4:de-t*4,Se+t+1],Pe=[[R.left,W||B?R.bottom-t:R.top],[R.right,W?B?R.bottom-t:R.top:R.bottom-t]];return[Ot,Mt,...Pe]}case"bottom":{const Ot=[B?de+t/2:W?de+t*4:de-t*4,Se-t],Mt=[B?de-t/2:W?de+t*4:de-t*4,Se-t],Pe=[[R.left,W||B?R.top+t:R.bottom],[R.right,W?B?R.top+t:R.bottom:R.top+t]];return[Ot,Mt,...Pe]}case"left":{const Ot=[de+t+1,G?Se+t/2:H?Se+t*4:Se-t*4],Mt=[de+t+1,G?Se-t/2:H?Se+t*4:Se-t*4];return[...[[H||G?R.right-t:R.left,R.top],[H?G?R.right-t:R.left:R.right-t,R.bottom]],Ot,Mt]}case"right":{const Ot=[de-t,G?Se+t/2:H?Se+t*4:Se-t*4],Mt=[de-t,G?Se-t/2:H?Se+t*4:Se-t*4],Pe=[[H||G?R.left+t:R.right,R.top],[H?G?R.left+t:R.right:R.left+t,R.bottom]];return[Ot,Mt,...Pe]}}}if(!uv([$,_],ge)){if(i&&!A)return S();if(!P&&r){const Ne=u(E.clientX,E.clientY);if(Ne!==null&&Ne<.1)return S()}uv([$,_],ye([d,p]))?!i&&r&&(o=window.setTimeout(S,40)):S()}}};return f.__options={blockPointerEvents:n},f}function Fb({children:e,...t}){const[n,r]=e,o=h.useRef(null),[i,a]=h.useState(!1),{context:l,refs:s,floatingStyles:u}=Ob({middleware:[C1({element:o}),w1(8),x1()],open:i,onOpenChange:a,placement:"bottom-start"}),f=Lb(l,{handleClose:jb()}),{getReferenceProps:c,getFloatingProps:d}=Mb([f]),p=r.props.children,w=n.props.children;return y.jsxs("span",{...t,children:[y.jsx("span",{className:"twoslash-target",ref:s.setReference,...c(),children:p}),i&&y.jsxs("div",{className:"twoslash-popup-info-hover",ref:s.setFloating,style:u,...d(),children:[y.jsx(kb,{ref:o,context:l,fill:np.background5,height:3,stroke:np.border2,strokeWidth:1,width:7}),y.jsx("div",{className:"twoslash-popup-scroll-container",children:w})]})]})}function zb(e){var n;const t=I(e.className,rv);return(n=e.className)!=null&&n.includes("twoslash-hover")?y.jsx(Fb,{...e,className:t}):y.jsx("span",{...e,className:I(e.className,rv)})}var Bb="vocs_CalloutTitle";function Ub({className:e,children:t}){return y.jsx("strong",{className:I(e,Bb),children:t})}var fv="vocs_Strong";function Hb(e){return"data-callout-title"in e&&typeof e.children=="string"?y.jsx(Ub,{...e,className:I(e.className,fv),children:e.children}):y.jsx("strong",{...e,className:I(e.className,fv)})}var Vb="vocs_Summary";function Wb(e){return y.jsx("summary",{...e,className:I(e.className,Vb)})}var Kb="vocs_Table";function Yb(e){return y.jsx("table",{...e,className:I(e.className,Kb)})}var Gb="vocs_TableCell";function Qb(e){return y.jsx("td",{...e,className:I(e.className,Gb)})}var Zb="vocs_TableHeader";function Xb(e){return y.jsx("th",{...e,className:I(e.className,Zb)})}var Jb="vocs_TableRow";function qb(e){return y.jsx("tr",{...e,className:I(e.className,Jb)})}const e$={a:iS,aside:vS,blockquote:gS,code:wS,details:ES,div:V9,pre:gb,header:Z9,figcaption:K9,figure:G9,h1:Q0,h2:sy,h3:cy,h4:uy,h5:fy,h6:dy,hr:J9,kd:Pg,li:rb,ol:e=>y.jsx(tv,{ordered:!0,...e}),p:Z0,section:xb,span:zb,strong:Hb,summary:Wb,table:Yb,td:Qb,th:Xb,tr:qb,ul:e=>y.jsx(tv,{ordered:!1,...e})};function t$(){const{pathname:e}=Re(),t=We(),{ogImageUrl:n}=t;if(!n)return;if(typeof n=="string")return n;const r=h.useMemo(()=>{const o=Object.keys(n).filter(i=>e.startsWith(i));return o[o.length-1]},[n,e]);if(r)return n[r]}function Mu(e){const{children:t,filePath:n,frontmatter:r,lastUpdatedAt:o,path:i}=e,{pathname:a}=Re(),l=h.useRef();return h.useEffect(()=>{l.current=a}),y.jsxs(y.Fragment,{children:[y.jsx(n$,{frontmatter:r}),typeof window<"u"&&y.jsx($x,{}),y.jsx(s_,{components:e$,children:y.jsx(H7,{frontmatter:r,path:i,children:y.jsx(q0.Provider,{value:{filePath:n,frontmatter:r,lastUpdatedAt:o,previousPath:l.current},children:t})})})]})}function n$({frontmatter:e}){const t=We(),n=t$(),{baseUrl:r,font:o,iconUrl:i,logoUrl:a}=t,l=(e==null?void 0:e.title)??t.title,s=(e==null?void 0:e.description)??t.description,u=t.title&&!l.includes(t.title),f=typeof window<"u"&&window.location.hostname==="localhost";return y.jsxs(Au,{defaultTitle:t.title,titleTemplate:u?t.titleTemplate:void 0,children:[l&&y.jsx("title",{children:l}),r&&!0&&!f&&y.jsx("base",{href:r}),s!=="undefined"&&y.jsx("meta",{name:"description",content:s}),i&&typeof i=="string"&&y.jsx("link",{rel:"icon",href:i,type:ac(i)}),i&&typeof i!="string"&&y.jsx("link",{rel:"icon",href:i.light,type:ac(i.light)}),i&&typeof i!="string"&&y.jsx("link",{rel:"icon",href:i.dark,type:ac(i.dark),media:"(prefers-color-scheme: dark)"}),y.jsx("meta",{property:"og:type",content:"website"}),y.jsx("meta",{property:"og:title",content:l||t.title}),r&&y.jsx("meta",{property:"og:url",content:r}),s!=="undefined"&&y.jsx("meta",{property:"og:description",content:s}),n&&y.jsx("meta",{property:"og:image",content:n.replace("%logo",`${r||""}${typeof a=="string"?a:(a==null?void 0:a.dark)||""}`).replace("%title",l||"").replace("%description",(s!=="undefined"?s:"")||"")}),(o==null?void 0:o.google)&&y.jsx("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),(o==null?void 0:o.google)&&y.jsx("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:""}),(o==null?void 0:o.google)&&y.jsx("link",{href:`https://fonts.googleapis.com/css2?family=${o.google}:wght@300;400;500&display=swap`,rel:"stylesheet"}),y.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),n&&y.jsx("meta",{property:"twitter:image",content:n.replace("%logo",`${r||""}${typeof a=="string"?a:(a==null?void 0:a.dark)||""}`).replace("%title",l||"").replace("%description",(s!=="undefined"?s:"")||"")})]})}function ac(e){if(e.endsWith(".svg"))return"image/svg+xml";if(e.endsWith(".png"))return"image/png";if(e.endsWith(".jpg"))return"image/jpeg";if(e.endsWith(".ico"))return"image/x-icon";if(e.endsWith(".webp"))return"image/webp"}const r$=(()=>{const e=Wf.find(({path:t})=>t==="*");return e?{path:e.path,lazy:async()=>{const{frontmatter:t,...n}=await e.lazy();return{...n,element:y.jsx(Mu,{frontmatter:t,path:e.path,children:y.jsx(Tu,{children:y.jsx(n.default,{})})})}}}:{path:"*",lazy:void 0,element:y.jsx(Mu,{frontmatter:{layout:"minimal"},path:"*",children:y.jsx(Tu,{children:y.jsx(Jx,{})})})}})(),dv=[...Wf.filter(({path:e})=>e!=="*").map(e=>({path:e.path,lazy:async()=>{const{frontmatter:t,...n}=await e.lazy();return{...n,element:y.jsx(Mu,{filePath:e.filePath,frontmatter:t,lastUpdatedAt:e.lastUpdatedAt,path:e.path,children:y.jsx(Tu,{children:y.jsx(n.default,{})})})}}})),r$];async function o$(e,t){var r;const n=(r=dr(e,window.location,t))==null?void 0:r.filter(o=>o.route.lazy);n&&(n==null?void 0:n.length)>0&&await Promise.all(n.map(async o=>{const i=await o.route.lazy();Object.assign(o.route,{...i,lazy:void 0})}))}function i$(){const e=document.querySelectorAll('style[data-vocs-temp-style="true"]');for(const t of e)t.remove()}a$();async function a$(){const e=V0().basePath;await o$(dv,e),i$();const t=hx(dv,{basename:e});$0(document.getElementById("app"),y.jsx(Ix,{children:y.jsx(Ex,{router:t})}))}export{m9 as $,T9 as C,rn as L,S9 as R,$9 as T,g9 as a,y9 as b,w9 as c,I as d,We as e,Y8 as f,b9 as g,y as j,l_ as u};
+*/var Qp=Object.getOwnPropertySymbols,T_=Object.prototype.hasOwnProperty,k_=Object.prototype.propertyIsEnumerable;function R_(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function N_(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(i){return t[i]});if(r.join("")!=="0123456789")return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(i){o[i]=i}),Object.keys(Object.assign({},o)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}var P_=N_()?Object.assign:function(e,t){for(var n,r=R_(e),o,i=1;i C(...w)).find(C=>C!==void 0)}}}else a[u]=f}),a),{})}}function Mb(e){e===void 0&&(e=[]);const t=e,n=h.useCallback(i=>ic(i,e,"reference"),t),r=h.useCallback(i=>ic(i,e,"floating"),t),o=h.useCallback(i=>ic(i,e,"item"),e.map(i=>i==null?void 0:i.item));return h.useMemo(()=>({getReferenceProps:n,getFloatingProps:r,getItemProps:o}),[n,r,o])}function uv(e,t){const[n,r]=e;let o=!1;const i=t.length;for(let a=0,l=i-1;a=r!=c>=r&&n<=(f-s)*(r-u)/(c-u)+s&&(o=!o)}return o}function Db(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}function jb(e){e===void 0&&(e={});const{buffer:t=.5,blockPointerEvents:n=!1,requireIntent:r=!0}=e;let o,i=!1,a=null,l=null,s=performance.now();function u(c,d){const p=performance.now(),w=p-s;if(a===null||l===null||w===0)return a=c,l=d,s=p,null;const m=c-a,C=d-l,g=Math.sqrt(m*m+C*C)/w;return a=c,l=d,s=p,g}const f=c=>{let{x:d,y:p,placement:w,elements:m,onClose:C,nodeId:v,tree:g}=c;return function(E){function S(){clearTimeout(o),C()}if(clearTimeout(o),!m.domReference||!m.floating||w==null||d==null||p==null)return;const{clientX:$,clientY:_}=E,b=[$,_],T=Cb(E),P=E.type==="mouseleave",M=Qa(m.floating,T),O=Qa(m.domReference,T),j=m.domReference.getBoundingClientRect(),R=m.floating.getBoundingClientRect(),F=w.split("-")[0],W=d>R.right-R.width/2,H=p>R.bottom-R.height/2,A=Db(b,j),B=R.width>j.width,G=R.height>j.height,te=(B?j:R).left,ae=(B?j:R).right,je=(G?j:R).top,Oe=(G?j:R).bottom;if(M&&(i=!0,!P))return;if(O&&(i=!1),O&&!P){i=!0;return}if(P&&Je(E.relatedTarget)&&Qa(m.floating,E.relatedTarget)||g&&Ib(g.nodesRef.current,v).some(Ne=>{let{context:de}=Ne;return de==null?void 0:de.open}))return;if(F==="top"&&p>=j.bottom-1||F==="bottom"&&p<=j.top+1||F==="left"&&d>=j.right-1||F==="right"&&d<=j.left+1)return S();let ge=[];switch(F){case"top":ge=[[te,j.top+1],[te,R.bottom-1],[ae,R.bottom-1],[ae,j.top+1]];break;case"bottom":ge=[[te,R.top+1],[te,j.bottom-1],[ae,j.bottom-1],[ae,R.top+1]];break;case"left":ge=[[R.right-1,Oe],[R.right-1,je],[j.left+1,je],[j.left+1,Oe]];break;case"right":ge=[[j.right-1,Oe],[j.right-1,je],[R.left+1,je],[R.left+1,Oe]];break}function ye(Ne){let[de,Se]=Ne;switch(F){case"top":{const Ot=[B?de+t/2:W?de+t*4:de-t*4,Se+t+1],Mt=[B?de-t/2:W?de+t*4:de-t*4,Se+t+1],Pe=[[R.left,W||B?R.bottom-t:R.top],[R.right,W?B?R.bottom-t:R.top:R.bottom-t]];return[Ot,Mt,...Pe]}case"bottom":{const Ot=[B?de+t/2:W?de+t*4:de-t*4,Se-t],Mt=[B?de-t/2:W?de+t*4:de-t*4,Se-t],Pe=[[R.left,W||B?R.top+t:R.bottom],[R.right,W?B?R.top+t:R.bottom:R.top+t]];return[Ot,Mt,...Pe]}case"left":{const Ot=[de+t+1,G?Se+t/2:H?Se+t*4:Se-t*4],Mt=[de+t+1,G?Se-t/2:H?Se+t*4:Se-t*4];return[...[[H||G?R.right-t:R.left,R.top],[H?G?R.right-t:R.left:R.right-t,R.bottom]],Ot,Mt]}case"right":{const Ot=[de-t,G?Se+t/2:H?Se+t*4:Se-t*4],Mt=[de-t,G?Se-t/2:H?Se+t*4:Se-t*4],Pe=[[H||G?R.left+t:R.right,R.top],[H?G?R.left+t:R.right:R.left+t,R.bottom]];return[Ot,Mt,...Pe]}}}if(!uv([$,_],ge)){if(i&&!A)return S();if(!P&&r){const Ne=u(E.clientX,E.clientY);if(Ne!==null&&Ne<.1)return S()}uv([$,_],ye([d,p]))?!i&&r&&(o=window.setTimeout(S,40)):S()}}};return f.__options={blockPointerEvents:n},f}function Fb({children:e,...t}){const[n,r]=e,o=h.useRef(null),[i,a]=h.useState(!1),{context:l,refs:s,floatingStyles:u}=Ob({middleware:[C1({element:o}),w1(8),x1()],open:i,onOpenChange:a,placement:"bottom-start"}),f=Lb(l,{handleClose:jb()}),{getReferenceProps:c,getFloatingProps:d}=Mb([f]),p=r.props.children,w=n.props.children;return y.jsxs("span",{...t,children:[y.jsx("span",{className:"twoslash-target",ref:s.setReference,...c(),children:p}),i&&y.jsxs("div",{className:"twoslash-popup-info-hover",ref:s.setFloating,style:u,...d(),children:[y.jsx(kb,{ref:o,context:l,fill:np.background5,height:3,stroke:np.border2,strokeWidth:1,width:7}),y.jsx("div",{className:"twoslash-popup-scroll-container",children:w})]})]})}function zb(e){var n;const t=I(e.className,rv);return(n=e.className)!=null&&n.includes("twoslash-hover")?y.jsx(Fb,{...e,className:t}):y.jsx("span",{...e,className:I(e.className,rv)})}var Bb="vocs_CalloutTitle";function Ub({className:e,children:t}){return y.jsx("strong",{className:I(e,Bb),children:t})}var fv="vocs_Strong";function Hb(e){return"data-callout-title"in e&&typeof e.children=="string"?y.jsx(Ub,{...e,className:I(e.className,fv),children:e.children}):y.jsx("strong",{...e,className:I(e.className,fv)})}var Vb="vocs_Summary";function Wb(e){return y.jsx("summary",{...e,className:I(e.className,Vb)})}var Kb="vocs_Table";function Yb(e){return y.jsx("table",{...e,className:I(e.className,Kb)})}var Gb="vocs_TableCell";function Qb(e){return y.jsx("td",{...e,className:I(e.className,Gb)})}var Zb="vocs_TableHeader";function Xb(e){return y.jsx("th",{...e,className:I(e.className,Zb)})}var Jb="vocs_TableRow";function qb(e){return y.jsx("tr",{...e,className:I(e.className,Jb)})}const e$={a:iS,aside:vS,blockquote:gS,code:wS,details:ES,div:V9,pre:gb,header:Z9,figcaption:K9,figure:G9,h1:Q0,h2:sy,h3:cy,h4:uy,h5:fy,h6:dy,hr:J9,kd:Pg,li:rb,ol:e=>y.jsx(tv,{ordered:!0,...e}),p:Z0,section:xb,span:zb,strong:Hb,summary:Wb,table:Yb,td:Qb,th:Xb,tr:qb,ul:e=>y.jsx(tv,{ordered:!1,...e})};function t$(){const{pathname:e}=Re(),t=Ke(),{ogImageUrl:n}=t;if(!n)return;if(typeof n=="string")return n;const r=h.useMemo(()=>{const o=Object.keys(n).filter(i=>e.startsWith(i));return o[o.length-1]},[n,e]);if(r)return n[r]}function Mu(e){const{children:t,filePath:n,frontmatter:r,lastUpdatedAt:o,path:i}=e,{pathname:a}=Re(),l=h.useRef();return h.useEffect(()=>{l.current=a}),y.jsxs(y.Fragment,{children:[y.jsx(n$,{frontmatter:r}),typeof window<"u"&&y.jsx($x,{}),y.jsx(s_,{components:e$,children:y.jsx(H7,{frontmatter:r,path:i,children:y.jsx(q0.Provider,{value:{filePath:n,frontmatter:r,lastUpdatedAt:o,previousPath:l.current},children:t})})})]})}function n$({frontmatter:e}){const t=Ke(),n=t$(),{baseUrl:r,font:o,iconUrl:i,logoUrl:a}=t,l=(e==null?void 0:e.title)??t.title,s=(e==null?void 0:e.description)??t.description,u=t.title&&!l.includes(t.title),f=typeof window<"u"&&window.location.hostname==="localhost";return y.jsxs(Au,{defaultTitle:t.title,titleTemplate:u?t.titleTemplate:void 0,children:[l&&y.jsx("title",{children:l}),r&&!0&&!f&&y.jsx("base",{href:r}),s!=="undefined"&&y.jsx("meta",{name:"description",content:s}),i&&typeof i=="string"&&y.jsx("link",{rel:"icon",href:i,type:ac(i)}),i&&typeof i!="string"&&y.jsx("link",{rel:"icon",href:i.light,type:ac(i.light)}),i&&typeof i!="string"&&y.jsx("link",{rel:"icon",href:i.dark,type:ac(i.dark),media:"(prefers-color-scheme: dark)"}),y.jsx("meta",{property:"og:type",content:"website"}),y.jsx("meta",{property:"og:title",content:l||t.title}),r&&y.jsx("meta",{property:"og:url",content:r}),s!=="undefined"&&y.jsx("meta",{property:"og:description",content:s}),n&&y.jsx("meta",{property:"og:image",content:n.replace("%logo",`${r||""}${typeof a=="string"?a:(a==null?void 0:a.dark)||""}`).replace("%title",l||"").replace("%description",(s!=="undefined"?s:"")||"")}),(o==null?void 0:o.google)&&y.jsx("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),(o==null?void 0:o.google)&&y.jsx("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:""}),(o==null?void 0:o.google)&&y.jsx("link",{href:`https://fonts.googleapis.com/css2?family=${o.google}:wght@300;400;500&display=swap`,rel:"stylesheet"}),y.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),n&&y.jsx("meta",{property:"twitter:image",content:n.replace("%logo",`${r||""}${typeof a=="string"?a:(a==null?void 0:a.dark)||""}`).replace("%title",l||"").replace("%description",(s!=="undefined"?s:"")||"")})]})}function ac(e){if(e.endsWith(".svg"))return"image/svg+xml";if(e.endsWith(".png"))return"image/png";if(e.endsWith(".jpg"))return"image/jpeg";if(e.endsWith(".ico"))return"image/x-icon";if(e.endsWith(".webp"))return"image/webp"}const r$=(()=>{const e=Wf.find(({path:t})=>t==="*");return e?{path:e.path,lazy:async()=>{const{frontmatter:t,...n}=await e.lazy();return{...n,element:y.jsx(Mu,{frontmatter:t,path:e.path,children:y.jsx(Tu,{children:y.jsx(n.default,{})})})}}}:{path:"*",lazy:void 0,element:y.jsx(Mu,{frontmatter:{layout:"minimal"},path:"*",children:y.jsx(Tu,{children:y.jsx(Jx,{})})})}})(),dv=[...Wf.filter(({path:e})=>e!=="*").map(e=>({path:e.path,lazy:async()=>{const{frontmatter:t,...n}=await e.lazy();return{...n,element:y.jsx(Mu,{filePath:e.filePath,frontmatter:t,lastUpdatedAt:e.lastUpdatedAt,path:e.path,children:y.jsx(Tu,{children:y.jsx(n.default,{})})})}}})),r$];async function o$(e,t){var r;const n=(r=dr(e,window.location,t))==null?void 0:r.filter(o=>o.route.lazy);n&&(n==null?void 0:n.length)>0&&await Promise.all(n.map(async o=>{const i=await o.route.lazy();Object.assign(o.route,{...i,lazy:void 0})}))}function i$(){const e=document.querySelectorAll('style[data-vocs-temp-style="true"]');for(const t of e)t.remove()}a$();async function a$(){const e=V0().basePath;await o$(dv,e),i$();const t=hx(dv,{basename:e});$0(document.getElementById("app"),y.jsx(Ix,{children:y.jsx(Ex,{router:t})}))}export{m9 as $,T9 as C,rn as L,S9 as R,$9 as T,g9 as a,y9 as b,w9 as c,I as d,Ke as e,Y8 as f,b9 as g,y as j,l_ as u};
diff --git a/assets/index-BWHDjk3s.js b/assets/index-Dsl-p13_.js
similarity index 98%
rename from assets/index-BWHDjk3s.js
rename to assets/index-Dsl-p13_.js
index af3a4d90..0ff082f7 100644
--- a/assets/index-BWHDjk3s.js
+++ b/assets/index-Dsl-p13_.js
@@ -1,4 +1,4 @@
-import{j as e,L as b,d as n,e as y,f as _,R as P,g as N,T as a,C as l,u as f}from"./index-wpzGQYGF.js";var w="vocs_Button_button",H="vocs_Button_button_accent";function k({children:s,className:t,href:o,variant:v}){return e.jsx(b,{className:n(t,w,v==="accent"&&H),href:o,variant:"styleless",children:s})}var L="vocs_HomePage_button",B="vocs_HomePage_buttons",C="vocs_HomePage_description",M="vocs_HomePage_logo",c="vocs_HomePage_packageManager",D="vocs_HomePage",I="vocs_HomePage_tabs",d="vocs_HomePage_tabsContent",R="vocs_HomePage_tabsList",T="vocs_HomePage_tagline",E="vocs_HomePage_title";function u({children:s,className:t}){return e.jsx("div",{className:n(t,D),children:s})}function g({className:s}){const{logoUrl:t,title:o}=y();return t?e.jsx("div",{className:n(s,M),children:e.jsx(_,{})}):e.jsx("h1",{className:n(s,E),children:o})}function S({children:s,className:t}){return e.jsx("div",{className:n(t,T),children:s})}function x({children:s,className:t}){return e.jsx("div",{className:n(t,C),children:s})}function m({children:s,className:t}){return e.jsx("div",{className:n(t,B),children:s})}function r(s){return e.jsx(k,{...s,className:n(L,s.className)})}function p({name:s,type:t="install"}){return e.jsxs(P,{className:I,defaultValue:"npm",children:[e.jsxs(N,{className:R,children:[e.jsx(a,{value:"npm",children:"npm"}),e.jsx(a,{value:"pnpm",children:"pnpm"}),e.jsx(a,{value:"yarn",children:"yarn"})]}),e.jsxs(l,{className:d,value:"npm",children:[e.jsx("span",{className:c,children:"npm"})," ",t==="init"?"init":"install"," ",s]}),e.jsxs(l,{className:d,value:"pnpm",children:[e.jsx("span",{className:c,children:"pnpm"})," ",t==="init"?"create":"install"," ",s]}),e.jsxs(l,{className:d,value:"yarn",children:[e.jsx("span",{className:c,children:"yarn"})," ",t==="init"?"create":"install"," ",s]})]})}const $=Object.freeze(Object.defineProperty({__proto__:null,Button:r,Buttons:m,Description:x,InstallPackage:p,Logo:g,Root:u,Tagline:S},Symbol.toStringTag,{value:"Module"})),h=({title:s,children:t})=>e.jsxs("div",{className:"w-full border rounded border-gray-500 p-4 text-left",children:[e.jsx("div",{className:"text-[--vocs-color_heading] text-lg py-2 font-bold",children:s}),e.jsx("div",{children:t})]}),O={layout:"landing",content:{width:"60rem"}};function j(s){const t={a:"a",li:"li",p:"p",strong:"strong",ul:"ul",...f(),...s.components};return $||i("HomePage",!1),r||i("HomePage.Button",!0),m||i("HomePage.Buttons",!0),x||i("HomePage.Description",!0),p||i("HomePage.InstallPackage",!0),g||i("HomePage.Logo",!0),u||i("HomePage.Root",!0),e.jsxs(u,{children:[e.jsxs("div",{className:"flex justify-between w-full flex-col md:flex-row gap-4",children:[e.jsxs("div",{className:"flex flex-col text-left",children:[e.jsx(g,{}),e.jsx(x,{children:"Typescript API to interact with Polkadot chains."}),e.jsxs(m,{className:"py-2",children:[e.jsx(r,{href:"/getting-started",variant:"accent",children:"Get started"}),e.jsx(r,{href:"https://github.com/polkadot-api/polkadot-api",children:"GitHub"})]})]}),e.jsx(p,{name:"polkadot-api",type:"i"})]}),e.jsxs("div",{className:"flex gap-2 flex-col md:flex-row mt-8",children:[e.jsx(h,{title:"Light client first",children:e.jsx(t.p,{children:"Built from the ground up for the light client, allowing the running of a node from the browser."})}),e.jsx(h,{title:"Fully typed API",children:e.jsx(t.p,{children:"IDEs show all the type information for every operation of a chain."})}),e.jsx(h,{title:"Lightweight",children:e.jsx(t.p,{children:"Minimal impact on the main bundle (under 50kB)."})})]}),e.jsxs("div",{className:"text-left w-full max-w-5xl p-2",children:[e.jsx("h2",{className:"text-[--vocs-color_heading] text-3xl py-4 border-b border-gray-500 mb-4",children:"Features"}),e.jsxs(t.ul,{children:[`
+import{j as e,L as b,d as n,e as y,f as _,R as P,g as N,T as a,C as l,u as f}from"./index-DTtoqbmS.js";var w="vocs_Button_button",H="vocs_Button_button_accent";function k({children:s,className:t,href:o,variant:v}){return e.jsx(b,{className:n(t,w,v==="accent"&&H),href:o,variant:"styleless",children:s})}var L="vocs_HomePage_button",B="vocs_HomePage_buttons",C="vocs_HomePage_description",M="vocs_HomePage_logo",c="vocs_HomePage_packageManager",D="vocs_HomePage",I="vocs_HomePage_tabs",d="vocs_HomePage_tabsContent",R="vocs_HomePage_tabsList",T="vocs_HomePage_tagline",E="vocs_HomePage_title";function u({children:s,className:t}){return e.jsx("div",{className:n(t,D),children:s})}function g({className:s}){const{logoUrl:t,title:o}=y();return t?e.jsx("div",{className:n(s,M),children:e.jsx(_,{})}):e.jsx("h1",{className:n(s,E),children:o})}function S({children:s,className:t}){return e.jsx("div",{className:n(t,T),children:s})}function x({children:s,className:t}){return e.jsx("div",{className:n(t,C),children:s})}function m({children:s,className:t}){return e.jsx("div",{className:n(t,B),children:s})}function r(s){return e.jsx(k,{...s,className:n(L,s.className)})}function p({name:s,type:t="install"}){return e.jsxs(P,{className:I,defaultValue:"npm",children:[e.jsxs(N,{className:R,children:[e.jsx(a,{value:"npm",children:"npm"}),e.jsx(a,{value:"pnpm",children:"pnpm"}),e.jsx(a,{value:"yarn",children:"yarn"})]}),e.jsxs(l,{className:d,value:"npm",children:[e.jsx("span",{className:c,children:"npm"})," ",t==="init"?"init":"install"," ",s]}),e.jsxs(l,{className:d,value:"pnpm",children:[e.jsx("span",{className:c,children:"pnpm"})," ",t==="init"?"create":"install"," ",s]}),e.jsxs(l,{className:d,value:"yarn",children:[e.jsx("span",{className:c,children:"yarn"})," ",t==="init"?"create":"install"," ",s]})]})}const $=Object.freeze(Object.defineProperty({__proto__:null,Button:r,Buttons:m,Description:x,InstallPackage:p,Logo:g,Root:u,Tagline:S},Symbol.toStringTag,{value:"Module"})),h=({title:s,children:t})=>e.jsxs("div",{className:"w-full border rounded border-gray-500 p-4 text-left",children:[e.jsx("div",{className:"text-[--vocs-color_heading] text-lg py-2 font-bold",children:s}),e.jsx("div",{children:t})]}),O={layout:"landing",content:{width:"60rem"}};function j(s){const t={a:"a",li:"li",p:"p",strong:"strong",ul:"ul",...f(),...s.components};return $||i("HomePage",!1),r||i("HomePage.Button",!0),m||i("HomePage.Buttons",!0),x||i("HomePage.Description",!0),p||i("HomePage.InstallPackage",!0),g||i("HomePage.Logo",!0),u||i("HomePage.Root",!0),e.jsxs(u,{children:[e.jsxs("div",{className:"flex justify-between w-full flex-col md:flex-row gap-4",children:[e.jsxs("div",{className:"flex flex-col text-left",children:[e.jsx(g,{}),e.jsx(x,{children:"Typescript API to interact with Polkadot chains."}),e.jsxs(m,{className:"py-2",children:[e.jsx(r,{href:"/getting-started",variant:"accent",children:"Get started"}),e.jsx(r,{href:"https://github.com/polkadot-api/polkadot-api",children:"GitHub"})]})]}),e.jsx(p,{name:"polkadot-api",type:"i"})]}),e.jsxs("div",{className:"flex gap-2 flex-col md:flex-row mt-8",children:[e.jsx(h,{title:"Light client first",children:e.jsx(t.p,{children:"Built from the ground up for the light client, allowing the running of a node from the browser."})}),e.jsx(h,{title:"Fully typed API",children:e.jsx(t.p,{children:"IDEs show all the type information for every operation of a chain."})}),e.jsx(h,{title:"Lightweight",children:e.jsx(t.p,{children:"Minimal impact on the main bundle (under 50kB)."})})]}),e.jsxs("div",{className:"text-left w-full max-w-5xl p-2",children:[e.jsx("h2",{className:"text-[--vocs-color_heading] text-3xl py-4 border-b border-gray-500 mb-4",children:"Features"}),e.jsxs(t.ul,{children:[`
`,e.jsxs(t.li,{children:["🪶 ",e.jsx(t.strong,{children:"Light client first"}),": built on top of the ",e.jsx(t.a,{href:"https://paritytech.github.io/json-rpc-interface-spec/",children:"new JSON-RPC spec"})," to fully leverage the potential of light-clients."]}),`
`,e.jsxs(t.li,{children:["💡 Delightful ",e.jsx(t.strong,{children:"TypeScript support"})," with types and docs generated from on-chain metadata."]}),`
`,e.jsxs(t.li,{children:["📋 First class support for ",e.jsx(t.strong,{children:"storage"})," reads, ",e.jsx(t.strong,{children:"constants"}),", ",e.jsx(t.strong,{children:"transactions"}),", ",e.jsx(t.strong,{children:"events"})," and ",e.jsx(t.strong,{children:"runtime calls"}),"."]}),`
diff --git a/assets/providers-BZEVQ9BA.js b/assets/providers-BcfMQjbQ.js
similarity index 99%
rename from assets/providers-BZEVQ9BA.js
rename to assets/providers-BcfMQjbQ.js
index fe933039..465d017b 100644
--- a/assets/providers-BZEVQ9BA.js
+++ b/assets/providers-BcfMQjbQ.js
@@ -1,4 +1,4 @@
-import{u as l,j as s}from"./index-wpzGQYGF.js";const o={title:"Providers",description:"undefined"};function r(i){const e={a:"a",code:"code",div:"div",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",span:"span",ul:"ul",...l(),...i.components};return s.jsxs(s.Fragment,{children:[s.jsx(e.header,{children:s.jsxs(e.h1,{id:"providers",children:["Providers",s.jsx(e.a,{"aria-hidden":"true",tabIndex:"-1",href:"#providers",children:s.jsx(e.div,{"data-autolink-icon":!0})})]})}),`
+import{u as l,j as s}from"./index-DTtoqbmS.js";const o={title:"Providers",description:"undefined"};function r(i){const e={a:"a",code:"code",div:"div",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",span:"span",ul:"ul",...l(),...i.components};return s.jsxs(s.Fragment,{children:[s.jsx(e.header,{children:s.jsxs(e.h1,{id:"providers",children:["Providers",s.jsx(e.a,{"aria-hidden":"true",tabIndex:"-1",href:"#providers",children:s.jsx(e.div,{"data-autolink-icon":!0})})]})}),`
`,s.jsxs(e.p,{children:["The entry point of Polkadot-API, ",s.jsx(e.code,{children:"createClient(provider)"})," requires one ",s.jsx(e.code,{children:"JsonRpcProvider"}),", which lets Polkadot-API communicate with a node. It's a function with the following shape:"]}),`
`,s.jsx(e.pre,{className:"shiki shiki-themes github-light github-dark-dimmed",style:{backgroundColor:"#fff","--shiki-dark-bg":"#22272e",color:"#24292e","--shiki-dark":"#adbac7"},tabIndex:"0",children:s.jsxs(e.code,{children:[s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"interface"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" JsonRpcProvider"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" {"})]}),`
`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:"onMessage"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("}),s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:"message"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#005CC5","--shiki-dark":"#6CB6FF"},children:" string"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:") "}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(e.span,{style:{color:"#005CC5","--shiki-dark":"#6CB6FF"},children:" void"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:") "}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" JsonRpcConnection"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:";"})]}),`
diff --git a/assets/queries-d9rDH77x.js b/assets/queries-d9rDH77x.js
new file mode 100644
index 00000000..b42cdddc
--- /dev/null
+++ b/assets/queries-d9rDH77x.js
@@ -0,0 +1,44 @@
+import{u as l,j as s}from"./index-DTtoqbmS.js";const n={title:"Storage queries",description:"undefined"};function r(i){const e={a:"a",code:"code",div:"div",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",span:"span",...l(),...i.components};return s.jsxs(s.Fragment,{children:[s.jsx(e.header,{children:s.jsxs(e.h1,{id:"storage-queries",children:["Storage queries",s.jsx(e.a,{"aria-hidden":"true",tabIndex:"-1",href:"#storage-queries",children:s.jsx(e.div,{"data-autolink-icon":!0})})]})}),`
+`,s.jsxs(e.p,{children:["For ",s.jsx(e.code,{children:"query"})," we have mainly two different situations. There're two kinds of storage entries: entries with and without keys."]}),`
+`,s.jsxs(e.h2,{id:"entries-without-keys",children:["Entries without keys",s.jsx(e.a,{"aria-hidden":"true",tabIndex:"-1",href:"#entries-without-keys",children:s.jsx(e.div,{"data-autolink-icon":!0})})]}),`
+`,s.jsxs(e.p,{children:["For example, ",s.jsx(e.code,{children:"System.Number"})," query (it returns the block number) has no keys to index it with. Therefore, under ",s.jsx(e.code,{children:"typedApi.System.Number"})," we have the following structure:"]}),`
+`,s.jsx(e.pre,{className:"shiki shiki-themes github-light github-dark-dimmed",style:{backgroundColor:"#fff","--shiki-dark-bg":"#22272e",color:"#24292e","--shiki-dark":"#adbac7"},tabIndex:"0",children:s.jsxs(e.code,{children:[s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"type"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" CallOptions"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:" ="}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Partial"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<{"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" at"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#005CC5","--shiki-dark":"#6CB6FF"},children:" string"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" signal"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" AbortSignal"})]}),`
+`,s.jsx(e.span,{className:"line",children:s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"}>"})}),`
+`,s.jsx(e.span,{className:"line","data-empty-line":!0,children:" "}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"type"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" StorageEntryWithoutKeys"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Payload"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"> "}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"="}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" {"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" isCompatible"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" IsCompatible"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" getValue"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("}),s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:"options"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"?:"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" CallOptions"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:") "}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Promise"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Payload"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" watchValue"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("}),s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:"bestOrFinalized"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"?:"}),s.jsx(e.span,{style:{color:"#032F62","--shiki-dark":"#96D0FF"},children:' "best"'}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:" |"}),s.jsx(e.span,{style:{color:"#032F62","--shiki-dark":"#96D0FF"},children:' "finalized"'}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:") "}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Observable"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Payload"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsx(e.span,{className:"line",children:s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"}"})})]})}),`
+`,s.jsxs(e.p,{children:["As you might expect, ",s.jsx(e.code,{children:"getValue"})," returns you the ",s.jsx(e.code,{children:"Payload"})," for that particular query, allowing you to choose which block to query (",s.jsx(e.code,{children:"at"})," can be a blockHash, ",s.jsx(e.code,{children:'"finalized"'})," (the default), or ",s.jsx(e.code,{children:'"best"'}),")."]}),`
+`,s.jsxs(e.p,{children:["On the other hand, ",s.jsx(e.code,{children:"watchValue"})," function returns an Observable allows you to check the changes of a particular storage entry in ",s.jsx(e.code,{children:'"best"'})," or ",s.jsx(e.code,{children:'"finalized"'})," (the default) block."]}),`
+`,s.jsxs(e.h2,{id:"entries-with-keys",children:["Entries with keys",s.jsx(e.a,{"aria-hidden":"true",tabIndex:"-1",href:"#entries-with-keys",children:s.jsx(e.div,{"data-autolink-icon":!0})})]}),`
+`,s.jsxs(e.p,{children:["Similarely, we'll use the example of ",s.jsx(e.code,{children:"System.Account"})," query (it returns the information of a particular ",s.jsx(e.code,{children:"Account"}),"). In this case, this storage query has a key to index it with, and therefore we find the following structure:"]}),`
+`,s.jsx(e.pre,{className:"shiki shiki-themes github-light github-dark-dimmed",style:{backgroundColor:"#fff","--shiki-dark-bg":"#22272e",color:"#24292e","--shiki-dark":"#adbac7"},tabIndex:"0",children:s.jsxs(e.code,{children:[s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"type"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" StorageEntryWithKeys"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Args"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:", "}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Payload"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"> "}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"="}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" {"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" isCompatible"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" IsCompatible"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" getValue"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"..."}),s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:"args"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ["}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"..."}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Args"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:", "}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"options"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"?"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:": "}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"CallOptions"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"]) "}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Promise"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Payload"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" watchValue"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:" ..."}),s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:"args"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ["}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"..."}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Args"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:", "}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"bestOrFinalized"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"?"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:": "}),s.jsx(e.span,{style:{color:"#032F62","--shiki-dark":"#96D0FF"},children:'"best"'}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:" |"}),s.jsx(e.span,{style:{color:"#032F62","--shiki-dark":"#96D0FF"},children:' "finalized"'}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"]"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ) "}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Observable"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Payload"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" getValues"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" keys"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Array"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<["}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"..."}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Args"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"]>,"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" options"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"?:"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" CallOptions"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:","})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ) "}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Promise"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Array"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Payload"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">>"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" getEntries"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ("})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:" ..."}),s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:"args"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ["}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"PossibleParents"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Args"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">, "}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"options"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"?"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:": "}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"CallOptions"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"]"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" ) "}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Promise"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Array"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<{"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" keyArgs"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Args"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" value"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" NonNullable"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Payload"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsx(e.span,{className:"line",children:s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" }>"})}),`
+`,s.jsx(e.span,{className:"line",children:s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" >"})}),`
+`,s.jsx(e.span,{className:"line",children:s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"}"})})]})}),`
+`,s.jsxs(e.p,{children:["Both ",s.jsx(e.code,{children:"getValue"})," and ",s.jsx(e.code,{children:"watchValue"})," have the same behaviour as in the previous case, but they require you to pass all keys required for that storage query (in our example, an address). The same function arguments that are found in the no-keys situation can be passed at the end of the call to modify which block to query, etc. For example, a query with 3 args:"]}),`
+`,s.jsx(e.pre,{className:"shiki shiki-themes github-light github-dark-dimmed",style:{backgroundColor:"#fff","--shiki-dark-bg":"#22272e",color:"#24292e","--shiki-dark":"#adbac7"},tabIndex:"0",children:s.jsx(e.code,{children:s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"typedApi.query.Pallet.Query."}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:"getValue"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"(arg1, arg2, arg3, { at: "}),s.jsx(e.span,{style:{color:"#032F62","--shiki-dark":"#96D0FF"},children:'"best"'}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" })"})]})})}),`
+`,s.jsxs(e.p,{children:[s.jsx(e.code,{children:"getValues"}),", instead, allows you to pass several keys (addresses in this case) to get a bunch of entries at the same time."]}),`
+`,s.jsxs(e.p,{children:[s.jsx(e.code,{children:"getEntries"})," allows you to get all entries without passing the keys. It has also the option to pass a subset of them. For example, imagine a query with 3 keys. You would have three options to call it:"]}),`
+`,s.jsx(e.pre,{className:"shiki shiki-themes github-light github-dark-dimmed",style:{backgroundColor:"#fff","--shiki-dark-bg":"#22272e",color:"#24292e","--shiki-dark":"#adbac7"},tabIndex:"0",children:s.jsxs(e.code,{children:[s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"typedApi.query.Pallet.Query."}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:"getEntries"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"({ at: "}),s.jsx(e.span,{style:{color:"#032F62","--shiki-dark":"#96D0FF"},children:'"best"'}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" }) "}),s.jsx(e.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:"// no keys"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"typedApi.query.Pallet.Query."}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:"getEntries"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"(arg1, { at: "}),s.jsx(e.span,{style:{color:"#032F62","--shiki-dark":"#96D0FF"},children:'"finalized"'}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" }) "}),s.jsx(e.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:"// 1/3 keys"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"typedApi.query.Pallet.Query."}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:"getEntries"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"(arg1, arg2, { at: "}),s.jsx(e.span,{style:{color:"#032F62","--shiki-dark":"#96D0FF"},children:'"0x12345678"'}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" }) "}),s.jsx(e.span,{style:{color:"#6A737D","--shiki-dark":"#768390"},children:"// 2/3 keys"})]})]})})]})}function d(i={}){const{wrapper:e}={...l(),...i.components};return e?s.jsx(e,{...i,children:s.jsx(r,{...i})}):r(i)}export{d as default,n as frontmatter};
diff --git a/assets/signers-DsU4_F1h.js b/assets/signers-E6G7fR99.js
similarity index 99%
rename from assets/signers-DsU4_F1h.js
rename to assets/signers-E6G7fR99.js
index 5c19f970..11e22450 100644
--- a/assets/signers-DsU4_F1h.js
+++ b/assets/signers-E6G7fR99.js
@@ -1,4 +1,4 @@
-import{u as r,j as s}from"./index-wpzGQYGF.js";const a={title:"Signers",description:"undefined"};function n(e){const i={a:"a",code:"code",div:"div",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",span:"span",...r(),...e.components};return s.jsxs(s.Fragment,{children:[s.jsx(i.header,{children:s.jsxs(i.h1,{id:"signers",children:["Signers",s.jsx(i.a,{"aria-hidden":"true",tabIndex:"-1",href:"#signers",children:s.jsx(i.div,{"data-autolink-icon":!0})})]})}),`
+import{u as r,j as s}from"./index-DTtoqbmS.js";const a={title:"Signers",description:"undefined"};function n(e){const i={a:"a",code:"code",div:"div",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",span:"span",...r(),...e.components};return s.jsxs(s.Fragment,{children:[s.jsx(i.header,{children:s.jsxs(i.h1,{id:"signers",children:["Signers",s.jsx(i.a,{"aria-hidden":"true",tabIndex:"-1",href:"#signers",children:s.jsx(i.div,{"data-autolink-icon":!0})})]})}),`
`,s.jsx(i.p,{children:"For transactions, the generated descriptors and its corresponding typed API are needed to create the transaction extrinsics, but for these transactions to be signed, we also need a signer, which is the responsible of taking it the call data and signing it."}),`
`,s.jsx(i.p,{children:"Every method on Polkadot-API that needs to sign something, takes in a signer with the following interface:"}),`
`,s.jsx(i.pre,{className:"shiki shiki-themes github-light github-dark-dimmed",style:{backgroundColor:"#fff","--shiki-dark-bg":"#22272e",color:"#24292e","--shiki-dark":"#adbac7"},tabIndex:"0",children:s.jsxs(i.code,{children:[s.jsxs(i.span,{className:"line",children:[s.jsx(i.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"interface"}),s.jsx(i.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" PolkadotSigner"}),s.jsx(i.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" {"})]}),`
diff --git a/assets/style-3xU5f3TO.css b/assets/style-tY_lfRBg.css
similarity index 83%
rename from assets/style-3xU5f3TO.css
rename to assets/style-tY_lfRBg.css
index b869c991..51fa0138 100644
--- a/assets/style-3xU5f3TO.css
+++ b/assets/style-tY_lfRBg.css
@@ -1 +1 @@
-@layer vocs_preflight;:root{--vocs-color_white: rgba(255 255 255 / 100%);--vocs-color_black: rgba(0 0 0 / 100%);--vocs-color_background: rgba(255 255 255 / 100%);--vocs-color_background2: #f9f9f9;--vocs-color_background3: #f6f6f6;--vocs-color_background4: #f0f0f0;--vocs-color_background5: #e8e8e8;--vocs-color_backgroundAccent: #5b5bd6;--vocs-color_backgroundAccentHover: #5151cd;--vocs-color_backgroundAccentText: rgba(255 255 255 / 100%);--vocs-color_backgroundBlueTint: #008cff0b;--vocs-color_backgroundDark: #f9f9f9;--vocs-color_backgroundGreenTint: #00a32f0b;--vocs-color_backgroundGreenTint2: #00a43319;--vocs-color_backgroundIrisTint: #0000ff07;--vocs-color_backgroundRedTint: #ff000008;--vocs-color_backgroundRedTint2: #f3000d14;--vocs-color_backgroundYellowTint: #f4dd0016;--vocs-color_border: #ececec;--vocs-color_border2: #cecece;--vocs-color_borderAccent: #5753c6;--vocs-color_borderBlue: #009eff2a;--vocs-color_borderGreen: #019c393b;--vocs-color_borderIris: #dadcff;--vocs-color_borderRed: #ff000824;--vocs-color_borderYellow: #ffd5008f;--vocs-color_heading: #202020;--vocs-color_inverted: rgba(0 0 0 / 100%);--vocs-color_shadow: #0000000f;--vocs-color_shadow2: #00000006;--vocs-color_text: #4c4c4c;--vocs-color_text2: #646464;--vocs-color_text3: #838383;--vocs-color_text4: #bbbbbb;--vocs-color_textAccent: #5753c6;--vocs-color_textAccentHover: #272962;--vocs-color_textBlue: #0d74ce;--vocs-color_textBlueHover: #113264;--vocs-color_textGreen: #218358;--vocs-color_textGreenHover: #193b2d;--vocs-color_textIris: #5753c6;--vocs-color_textIrisHover: #272962;--vocs-color_textRed: #ce2c31;--vocs-color_textRedHover: #641723;--vocs-color_textYellow: #9e6c00;--vocs-color_textYellowHover: #473b1f;--vocs-color_title: #202020}:root.dark{--vocs-color_white: rgba(255 255 255 / 100%);--vocs-color_black: rgba(0 0 0 / 100%);--vocs-color_background: #232225;--vocs-color_background2: #2b292d;--vocs-color_background3: #2e2c31;--vocs-color_background4: #323035;--vocs-color_background5: #3c393f;--vocs-color_backgroundAccent: #5b5bd6;--vocs-color_backgroundAccentHover: #5753c6;--vocs-color_backgroundAccentText: rgba(255 255 255 / 100%);--vocs-color_backgroundBlueTint: #008ff519;--vocs-color_backgroundDark: #1e1d1f;--vocs-color_backgroundGreenTint: #00a43319;--vocs-color_backgroundGreenTint2: #00a83829;--vocs-color_backgroundIrisTint: #000bff19;--vocs-color_backgroundRedTint: #f3000d14;--vocs-color_backgroundRedTint2: #ff000824;--vocs-color_backgroundYellowTint: #f4dd0016;--vocs-color_border: #3c393f;--vocs-color_border2: #6f6d78;--vocs-color_borderAccent: #6e6ade;--vocs-color_borderBlue: #009eff2a;--vocs-color_borderGreen: #019c393b;--vocs-color_borderIris: #303374;--vocs-color_borderRed: #ff000824;--vocs-color_borderYellow: #f4dd0016;--vocs-color_heading: #e9e9ea;--vocs-color_inverted: rgba(255 255 255 / 100%);--vocs-color_shadow: #00000000;--vocs-color_shadow2: rgba(0, 0, 0, .05);--vocs-color_text: #cfcfcf;--vocs-color_text2: #bdbdbe;--vocs-color_text3: #a7a7a8;--vocs-color_text4: #656567;--vocs-color_textAccent: #b1a9ff;--vocs-color_textAccentHover: #6e6ade;--vocs-color_textBlue: #70b8ff;--vocs-color_textBlueHover: #3b9eff;--vocs-color_textGreen: #3dd68c;--vocs-color_textGreenHover: #33b074;--vocs-color_textIris: #b1a9ff;--vocs-color_textIrisHover: #6e6ade;--vocs-color_textRed: #ff9592;--vocs-color_textRedHover: #ec5d5e;--vocs-color_textYellow: #f5e147;--vocs-color_textYellowHover: #e2a336;--vocs-color_title: rgba(255 255 255 / 100%)}:root{--vocs-color_blockquoteBorder: var(--vocs-color_border);--vocs-color_blockquoteText: var(--vocs-color_text3);--vocs-color_dangerBackground: var(--vocs-color_backgroundRedTint);--vocs-color_dangerBorder: var(--vocs-color_borderRed);--vocs-color_dangerText: var(--vocs-color_textRed);--vocs-color_dangerTextHover: var(--vocs-color_textRedHover);--vocs-color_infoBackground: var(--vocs-color_backgroundBlueTint);--vocs-color_infoBorder: var(--vocs-color_borderBlue);--vocs-color_infoText: var(--vocs-color_textBlue);--vocs-color_infoTextHover: var(--vocs-color_textBlueHover);--vocs-color_noteBackground: var(--vocs-color_background2);--vocs-color_noteBorder: var(--vocs-color_border);--vocs-color_noteText: var(--vocs-color_text2);--vocs-color_successBackground: var(--vocs-color_backgroundGreenTint);--vocs-color_successBorder: var(--vocs-color_borderGreen);--vocs-color_successText: var(--vocs-color_textGreen);--vocs-color_successTextHover: var(--vocs-color_textGreenHover);--vocs-color_tipBackground: var(--vocs-color_backgroundIrisTint);--vocs-color_tipBorder: var(--vocs-color_borderIris);--vocs-color_tipText: var(--vocs-color_textIris);--vocs-color_tipTextHover: var(--vocs-color_textIrisHover);--vocs-color_warningBackground: var(--vocs-color_backgroundYellowTint);--vocs-color_warningBorder: var(--vocs-color_borderYellow);--vocs-color_warningText: var(--vocs-color_textYellow);--vocs-color_warningTextHover: var(--vocs-color_textYellowHover);--vocs-color_codeBlockBackground: var(--vocs-color_background2);--vocs-color_codeCharacterHighlightBackground: var(--vocs-color_background5);--vocs-color_codeHighlightBackground: var(--vocs-color_background4);--vocs-color_codeHighlightBorder: var(--vocs-color_border2);--vocs-color_codeInlineBackground: var(--vocs-color_background4);--vocs-color_codeInlineBorder: var(--vocs-color_border);--vocs-color_codeInlineText: var(--vocs-color_textAccent);--vocs-color_codeTitleBackground: var(--vocs-color_background4);--vocs-color_lineNumber: var(--vocs-color_text4);--vocs-color_hr: var(--vocs-color_border);--vocs-color_link: var(--vocs-color_textAccent);--vocs-color_linkHover: var(--vocs-color_textAccentHover);--vocs-color_searchHighlightBackground: var(--vocs-color_borderAccent);--vocs-color_searchHighlightText: var(--vocs-color_background);--vocs-color_tableBorder: var(--vocs-color_border);--vocs-color_tableHeaderBackground: var(--vocs-color_background2);--vocs-color_tableHeaderText: var(--vocs-color_text2);--vocs-borderRadius_0: 0;--vocs-borderRadius_2: 2px;--vocs-borderRadius_3: 3px;--vocs-borderRadius_4: 4px;--vocs-borderRadius_6: 6px;--vocs-borderRadius_8: 8px;--vocs-fontFamily_default: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--vocs-fontFamily_mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--vocs-fontSize_9: .5625rem;--vocs-fontSize_11: .6875rem;--vocs-fontSize_12: .75rem;--vocs-fontSize_13: .8125rem;--vocs-fontSize_14: .875rem;--vocs-fontSize_15: .9375rem;--vocs-fontSize_16: 1rem;--vocs-fontSize_18: 1.125rem;--vocs-fontSize_20: 1.25rem;--vocs-fontSize_24: 1.5rem;--vocs-fontSize_32: 2rem;--vocs-fontSize_64: 3rem;--vocs-fontSize_root: 16px;--vocs-fontSize_h1: var(--vocs-fontSize_32);--vocs-fontSize_h2: var(--vocs-fontSize_24);--vocs-fontSize_h3: var(--vocs-fontSize_20);--vocs-fontSize_h4: var(--vocs-fontSize_18);--vocs-fontSize_h5: var(--vocs-fontSize_16);--vocs-fontSize_h6: var(--vocs-fontSize_16);--vocs-fontSize_calloutCodeBlock: .8em;--vocs-fontSize_code: .875em;--vocs-fontSize_codeBlock: var(--vocs-fontSize_14);--vocs-fontSize_lineNumber: var(--vocs-fontSize_15);--vocs-fontSize_subtitle: var(--vocs-fontSize_20);--vocs-fontSize_th: var(--vocs-fontSize_14);--vocs-fontSize_td: var(--vocs-fontSize_14);--vocs-fontWeight_regular: 300;--vocs-fontWeight_medium: 400;--vocs-fontWeight_semibold: 500;--vocs-lineHeight_code: 1.75em;--vocs-lineHeight_heading: 1.5em;--vocs-lineHeight_listItem: 1.5em;--vocs-lineHeight_outlineItem: 1em;--vocs-lineHeight_paragraph: 1.75em;--vocs-lineHeight_sidebarItem: 1.375em;--vocs-space_0: 0px;--vocs-space_1: 1px;--vocs-space_2: .125rem;--vocs-space_3: .1875rem;--vocs-space_4: .25rem;--vocs-space_6: .375rem;--vocs-space_8: .5rem;--vocs-space_12: .75rem;--vocs-space_14: .875rem;--vocs-space_16: 1rem;--vocs-space_18: 1.125rem;--vocs-space_20: 1.25rem;--vocs-space_22: 1.375rem;--vocs-space_24: 1.5rem;--vocs-space_28: 1.75rem;--vocs-space_32: 2rem;--vocs-space_36: 2.25rem;--vocs-space_40: 2.5rem;--vocs-space_44: 2.75rem;--vocs-space_48: 3rem;--vocs-space_56: 3.5rem;--vocs-space_64: 4rem;--vocs-space_72: 4.5rem;--vocs-space_80: 5rem;--vocs-zIndex_backdrop: 69420;--vocs-zIndex_drawer: 69421;--vocs-zIndex_gutterRight: 11;--vocs-zIndex_gutterLeft: 14;--vocs-zIndex_gutterTop: 13;--vocs-zIndex_gutterTopCurtain: 12;--vocs-zIndex_popover: 69422;--vocs-zIndex_surface: 10;--vocs-content_horizontalPadding: var(--vocs-space_48);--vocs-content_verticalPadding: var(--vocs-space_32);--vocs-content_width: calc(70ch + (var(--vocs-content_horizontalPadding) * 2));--vocs-outline_width: 280px;--vocs-sidebar_horizontalPadding: var(--vocs-space_24);--vocs-sidebar_verticalPadding: var(--vocs-space_0);--vocs-sidebar_width: 300px;--vocs-topNav_height: 60px;--vocs-topNav_horizontalPadding: var(--vocs-content_horizontalPadding);--vocs-topNav_curtainHeight: 40px}@media screen and (max-width: 1080px){:root{--vocs-content_verticalPadding: var(--vocs-space_48);--vocs-content_horizontalPadding: var(--vocs-space_24);--vocs-sidebar_horizontalPadding: var(--vocs-space_16);--vocs-sidebar_verticalPadding: var(--vocs-space_16);--vocs-sidebar_width: 300px;--vocs-topNav_height: 48px}}@media screen and (max-width: 720px){:root{--vocs-content_horizontalPadding: var(--vocs-space_16);--vocs-content_verticalPadding: var(--vocs-space_32)}}.vocs_Banner{background-color:var(--vocs_Banner_bannerBackgroundColor, var(--vocs-color_backgroundAccent));border-bottom:1px solid var(--vocs_Banner_bannerBackgroundColor, var(--vocs-color_borderAccent));color:var(--vocs_Banner_bannerTextColor, var(--vocs-color_backgroundAccentText));height:var(--vocs_Banner_bannerHeight, 36px);position:fixed;top:0;width:100%;z-index:var(--vocs-zIndex_gutterTop)}.vocs_Banner_content{font-size:var(--vocs-fontSize_14);overflow-x:scroll;padding-left:var(--vocs-space_8);padding-right:var(--vocs-space_8);margin-right:var(--vocs-space_24);-ms-overflow-style:none;scrollbar-width:none;white-space:pre}.vocs_Banner_content::-webkit-scrollbar{display:none}.vocs_Banner_inner{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.vocs_Banner_closeButton{align-items:center;background-color:var(--vocs_Banner_bannerBackgroundColor, var(--vocs-color_backgroundAccent));display:flex;justify-content:center;height:100%;position:absolute;right:0;width:var(--vocs-space_24)}.vocs_Banner_content a{font-weight:400;text-underline-offset:2px;text-decoration:underline}@media screen and (max-width: 1080px){.vocs_Banner{position:initial}}.vocs_DocsLayout{--vocs_DocsLayout_leftGutterWidth: max(calc((100vw - var(--vocs-content_width)) / 2), var(--vocs-sidebar_width))}.vocs_DocsLayout_content{background-color:var(--vocs-color_background);margin-left:auto;margin-right:auto;max-width:var(--vocs-content_width);min-height:100vh}.vocs_DocsLayout_content_withSidebar{margin-left:var(--vocs_DocsLayout_leftGutterWidth);margin-right:unset}.vocs_DocsLayout_gutterLeft{background-color:var(--vocs-color_backgroundDark);justify-content:flex-end;display:flex;height:100vh;position:fixed;top:var(--vocs_Banner_bannerHeight, 0px);width:var(--vocs_DocsLayout_leftGutterWidth);z-index:var(--vocs-zIndex_gutterLeft)}.vocs_DocsLayout_gutterTop{align-items:center;background-color:color-mix(in srgb,var(--vocs-color_background) 98%,transparent);height:var(--vocs-topNav_height);width:100vw;z-index:var(--vocs-zIndex_gutterTop)}.vocs_DocsLayout_gutterTopCurtain{display:flex;height:var(--vocs-topNav_curtainHeight);width:100vw;z-index:var(--vocs-zIndex_gutterTopCurtain)}.vocs_DocsLayout_gutterTopCurtain_hidden{background:unset;display:none}.vocs_DocsLayout_gutterRight{display:flex;height:100vh;overflow-y:auto;padding:calc(var(--vocs-content_verticalPadding) + var(--vocs-topNav_height) + var(--vocs-space_8)) var(--vocs-space_24) 0 0;position:fixed;top:var(--vocs_Banner_bannerHeight, 0px);right:0;width:calc((100vw - var(--vocs-content_width)) / 2);z-index:var(--vocs-zIndex_gutterRight)}.vocs_DocsLayout_gutterRight::-webkit-scrollbar{display:none}.vocs_DocsLayout_gutterRight_withSidebar{width:calc(100vw - var(--vocs-content_width) - var(--vocs_DocsLayout_leftGutterWidth))}.vocs_DocsLayout_outlinePopover{display:none;overflow-y:auto;height:calc(100vh - var(--vocs-topNav_height) - var(--vocs-topNav_curtainHeight))}.vocs_DocsLayout_sidebar{padding:var(--vocs-space_0) var(--vocs-sidebar_horizontalPadding) var(--vocs-space_24) var(--vocs-sidebar_horizontalPadding)}.vocs_DocsLayout_sidebarDrawer{display:none}@media screen and (max-width: 720px){.vocs_DocsLayout_content{overflow-x:hidden}}@media screen and (min-width: 1081px){.vocs_DocsLayout_content_withTopNav{padding-top:calc(var(--vocs-topNav_height) + var(--vocs_Banner_bannerHeight, 0px))}.vocs_DocsLayout_gutterTop{padding-left:calc(var(--vocs_DocsLayout_leftGutterWidth) - var(--vocs-sidebar_width));padding-right:calc(var(--vocs_DocsLayout_leftGutterWidth) - var(--vocs-sidebar_width));position:fixed;top:var(--vocs_Banner_bannerHeight, 0px)}.vocs_DocsLayout_gutterTop_offsetLeftGutter{padding-left:var(--vocs_DocsLayout_leftGutterWidth)}.vocs_DocsLayout_gutterTopCurtain{position:fixed;top:calc(var(--vocs-topNav_height) + var(--vocs_Banner_bannerHeight, 0px))}.vocs_DocsLayout_gutterTopCurtain_withSidebar{margin-left:var(--vocs_DocsLayout_leftGutterWidth)}}@media screen and (max-width: 1080px){.vocs_DocsLayout_content{margin-left:auto;margin-right:auto}.vocs_DocsLayout_gutterLeft{display:none}.vocs_DocsLayout_gutterTop{position:initial}.vocs_DocsLayout_gutterTop_sticky,.vocs_DocsLayout_gutterTopCurtain{position:sticky;top:0}.vocs_DocsLayout_outlinePopover,.vocs_DocsLayout_sidebarDrawer{display:block}}@media screen and (max-width: 1280px){.vocs_DocsLayout_gutterRight{display:none}}@layer vocs_reset_reset;html,body,.vocs_DocsLayout{font-family:var(--vocs-fontFamily_default);font-feature-settings:"rlig" 1,"calt" 1;font-size:var(--vocs-fontSize_root)}button,select{text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{outline:auto}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;-moz-appearance:button;appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1}input::placeholder,textarea::placeholder{opacity:1}button,[role=button]{cursor:pointer}:disabled{overflow:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}@layer vocs_reset_reset{*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid}*:focus-visible{outline:2px solid var(--vocs-color_borderAccent);outline-offset:2px;outline-style:dashed}html,body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:inherit;margin:0;padding:0;border:0;text-rendering:optimizeLegibility}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;text-wrap:balance}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--vocs-fontFamily_mono);font-size:var(--vocs-fontSize_root)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;border-collapse:collapse;text-indent:0}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}}.vocs_Tabs{background-color:var(--vocs-color_codeBlockBackground);border:1px solid var(--vocs-color_codeInlineBorder);border-radius:var(--vocs-borderRadius_4)}.vocs_Tabs_list{background-color:var(--vocs-color_codeTitleBackground);border-bottom:1px solid var(--vocs-color_border);border-top-left-radius:var(--vocs-borderRadius_4);border-top-right-radius:var(--vocs-borderRadius_4);display:flex;padding:var(--vocs-space_0) var(--vocs-space_14)}.vocs_Tabs_trigger{border-bottom:2px solid transparent;color:var(--vocs-color_text3);font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_medium);padding:var(--vocs-space_8) var(--vocs-space_8) var(--vocs-space_6) var(--vocs-space_8);transition:color .1s}.vocs_Tabs_trigger:hover{color:var(--vocs-color_text)}.vocs_Tabs_trigger[data-state=active]{border-bottom:2px solid var(--vocs-color_borderAccent);color:var(--vocs-color_text)}.vocs_Tabs_content{background-color:var(--vocs-color_codeBlockBackground)}.vocs_Tabs_content:not([data-shiki=true]){padding:var(--vocs-space_20) var(--vocs-space_22)}.vocs_Tabs pre{margin-bottom:var(--vocs-space_0)}@media screen and (max-width: 720px){.vocs_Tabs_list{border-radius:0;padding:var(--vocs-space_0) var(--vocs-space_8)}.vocs_Tabs_content:not([data-shiki=true]){padding:var(--vocs-space_20) var(--vocs-space_16)}.vocs_Tabs pre{margin:unset}}.vocs_CodeBlock{border:1px solid var(--vocs-color_codeInlineBorder);border-radius:var(--vocs-borderRadius_4)}.vocs_Tabs .vocs_CodeBlock,undefined .vocs_CodeBlock{border:none;margin-left:unset;margin-right:unset}.vocs_CodeBlock code{display:grid;font-size:var(--vocs-fontSize_codeBlock)}undefined .vocs_CodeBlock code{font-size:var(--vocs-fontSize_calloutCodeBlock)}.vocs_CodeBlock pre{background-color:var(--vocs-color_codeBlockBackground);border-radius:var(--vocs-borderRadius_4);overflow-x:auto;padding:var(--vocs-space_20) var(--vocs-space_0)}undefined .vocs_CodeBlock pre{background-color:color-mix(in srgb,var(--vocs-color_codeBlockBackground) 65%,transparent)!important;border:1px solid var(--vocs-color_codeInlineBorder);border-radius:var(--vocs-borderRadius_4);padding:var(--vocs-space_12) var(--vocs-space_0)}.vocs_CodeBlock .line{border-left:2px solid transparent;padding:var(--vocs-space_0) var(--vocs-space_22);line-height:var(--vocs-lineHeight_code)}undefined .vocs_CodeBlock .line{padding:var(--vocs-space_0) var(--vocs-space_12)}.vocs_CodeBlock .twoslash-popup-info .line{padding:var(--vocs-space_0) var(--vocs-space_4)}.vocs_CodeBlock .twoslash-popup-info-hover .line{display:inline-block;padding:var(--vocs-space_0) var(--vocs-space_8)}.vocs_CodeBlock .twoslash-error-line,.vocs_CodeBlock .twoslash-tag-line{padding:var(--vocs-space_0) var(--vocs-space_22)}.vocs_CodeBlock [data-line-numbers]{counter-reset:line}.vocs_CodeBlock [data-line-numbers]>.line{padding:var(--vocs-space_0) var(--vocs-space_16)}.vocs_CodeBlock [data-line-numbers]>.line:before{content:counter(line);color:var(--vocs-color_lineNumber);display:inline-block;font-size:var(--vocs-fontSize_lineNumber);margin-right:var(--vocs-space_16);text-align:right;width:1rem}.vocs_CodeBlock [data-line-numbers]>.line:not(.diff.remove+.diff.add):before{counter-increment:line}.vocs_CodeBlock [data-line-numbers]>.line.diff:after{margin-left:calc(-1 * var(--vocs-space_4))}.vocs_CodeBlock .highlighted{background-color:var(--vocs-color_codeHighlightBackground);border-left:2px solid var(--vocs-color_codeHighlightBorder);box-sizing:content-box}.vocs_CodeBlock .highlighted-word{border-radius:var(--vocs-borderRadius_2);background-color:var(--vocs-color_codeCharacterHighlightBackground)!important;box-shadow:0 0 0 4px var(--vocs-color_codeCharacterHighlightBackground)}.vocs_CodeBlock .has-diff{position:relative}.vocs_CodeBlock .line.diff:after{position:absolute;left:var(--vocs-space_8)}.vocs_CodeBlock .line.diff.add{background-color:var(--vocs-color_backgroundGreenTint2)}.vocs_CodeBlock .line.diff.add:after{content:"+";color:var(--vocs-color_textGreen)}.vocs_CodeBlock .line.diff.remove{background-color:var(--vocs-color_backgroundRedTint2);opacity:.6}.vocs_CodeBlock .line.diff.remove>span{filter:grayscale(1)}.vocs_CodeBlock .line.diff.remove:after{content:"-";color:var(--vocs-color_textRed)}.vocs_CodeBlock .has-focused>code>.line:not(.focused),.vocs_CodeBlock .has-focused>code>.twoslash-meta-line:not(.focused){opacity:.3;transition:opacity .2s}.vocs_CodeBlock:hover .has-focused .line:not(.focused),.vocs_CodeBlock:hover .has-focused .twoslash-meta-line:not(.focused){opacity:1;transition:opacity .2s}@media screen and (max-width: 720px){.vocs_CodeBlock{border-radius:0;border-right:none;border-left:none;margin-left:calc(-1 * var(--vocs-space_16));margin-right:calc(-1 * var(--vocs-space_16))}.vocs_CodeBlock pre{border-radius:0}.vocs_CodeBlock .line,.vocs_CodeBlock .twoslash-error-line,.vocs_CodeBlock .twoslash-tag-line{padding:0 var(--vocs-space_16)}.vocs_CodeBlock .line.diff:after{left:var(--vocs-space_6)}}.vocs_Header{border-bottom:1px solid var(--vocs-color_border)}.vocs_Header:not(:last-child){margin-bottom:var(--vocs-space_28);padding-bottom:var(--vocs-space_28)}[data-layout=landing] .vocs_Header{padding-bottom:var(--vocs-space_16)}[data-layout=landing] .vocs_Header:not(:first-child){padding-top:var(--vocs-space_36)}.vocs_H2{font-size:var(--vocs-fontSize_h2);letter-spacing:-.02em}.vocs_H2.vocs_H2:not(:last-child){margin-bottom:var(--vocs-space_24)}:not(.vocs_Header)+.vocs_H2:not(:only-child){border-top:1px solid var(--vocs-color_border);margin-top:var(--vocs-space_56);padding-top:var(--vocs-space_24)}[data-layout=landing] .vocs_H2.vocs_H2{border-top:none;margin-top:var(--vocs-space_24);padding-top:0}.vocs_H3{font-size:var(--vocs-fontSize_h3)}.vocs_H3:not(:first-child){margin-top:var(--vocs-space_18);padding-top:var(--vocs-space_18)}.vocs_H3.vocs_H3:not(:last-child){margin-bottom:var(--vocs-space_24)}.vocs_H2+.vocs_H3{padding-top:var(--vocs-space_0)}.vocs_H4{font-size:var(--vocs-fontSize_h4)}.vocs_H4:not(:first-child){margin-top:var(--vocs-space_18);padding-top:var(--vocs-space_12)}.vocs_H4.vocs_H4:not(:last-child){margin-bottom:var(--vocs-space_24)}.vocs_H3+.vocs_H4{padding-top:var(--vocs-space_0)}.vocs_H5{font-size:var(--vocs-fontSize_h5)}.vocs_H5:not(:first-child){margin-top:var(--vocs-space_16)}.vocs_H5.vocs_H5:not(:last-child){margin-bottom:var(--vocs-space_24)}.vocs_H4+.vocs_H5{padding-top:var(--vocs-space_0)}.vocs_H6{font-size:var(--vocs-fontSize_h6)}.vocs_H6:not(:first-child){margin-top:var(--vocs-space_16)}.vocs_H6.vocs_H6:not(:last-child){margin-bottom:var(--vocs-space_24)}.vocs_H5+.vocs_H6{padding-top:var(--vocs-space_0)}.vocs_Step:not(:last-child){margin-bottom:var(--vocs-space_24)}.vocs_Step_title{margin-bottom:var(--vocs-space_8);position:relative}.vocs_Step_title:before{content:counter(step);align-items:center;background-color:var(--vocs-color_background5);border-radius:100%;border:.5em solid var(--vocs-color_background);box-sizing:content-box;color:var(--vocs-color_text2);counter-increment:step;display:flex;font-size:.625em;font-weight:var(--vocs-fontWeight_regular);height:2em;justify-content:center;left:calc(-25.125px - 1.45em);position:absolute;top:-.25em;width:2em}.vocs_H2+.vocs_Step_content,.vocs_H3+.vocs_Step_content,.vocs_H4+.vocs_Step_content,.vocs_H5+.vocs_Step_content,.vocs_H6+.vocs_Step_content{margin-top:calc(var(--vocs-space_8) * -1)}.vocs_Step_content>*:not(:last-child){margin-bottom:var(--vocs-space_16)}.vocs_Step_content>*:last-child{margin-bottom:var(--vocs-space_0)}@media screen and (max-width: 720px){.vocs_Step_content>.vocs_Tabs,.vocs_Step_content>.vocs_CodeBlock{outline:6px solid var(--vocs-color_background);margin-left:calc(-1 * var(--vocs-space_44) - 2px);margin-right:calc(-1 * var(--vocs-space_16))}.vocs_Step_content .vocs_Tabs pre.shiki{border-top:none}}.vocs_Callout{border-radius:var(--vocs-borderRadius_4);font-size:var(--vocs-fontSize_14);padding:var(--vocs-space_16) var(--vocs-space_20);margin-bottom:var(--vocs-space_16)}.vocs_Callout_note{background-color:var(--vocs-color_noteBackground);border:1px solid var(--vocs-color_noteBorder);color:var(--vocs-color_noteText)}.vocs_Callout_info{background-color:var(--vocs-color_infoBackground);border:1px solid var(--vocs-color_infoBorder);color:var(--vocs-color_infoText)}.vocs_Callout_warning{background-color:var(--vocs-color_warningBackground);border:1px solid var(--vocs-color_warningBorder);color:var(--vocs-color_warningText)}.vocs_Callout_danger{background-color:var(--vocs-color_dangerBackground);border:1px solid var(--vocs-color_dangerBorder);color:var(--vocs-color_dangerText)}.vocs_Callout_tip{background-color:var(--vocs-color_tipBackground);border:1px solid var(--vocs-color_tipBorder);color:var(--vocs-color_tipText)}.vocs_Callout_success{background-color:var(--vocs-color_successBackground);border:1px solid var(--vocs-color_successBorder);color:var(--vocs-color_successText)}@media screen and (max-width: 720px){:not(.vocs_Step_content)>.vocs_Callout{border-radius:0;border-left-width:0;border-right-width:0;margin-left:calc(-1 * var(--vocs-space_16));margin-right:calc(-1 * var(--vocs-space_16))}}.vocs_Content{background-color:var(--vocs-color_background);max-width:var(--vocs-content_width);padding:var(--vocs-content_verticalPadding) var(--vocs-content_horizontalPadding);width:100%}.vocs_Callout>*+.vocs_Details{margin-top:-8px}@layer vocs_global_global;:root.dark{color-scheme:dark}:root.dark pre.shiki span:not(.line),:root.dark :not(pre.shiki) .line span{color:var(--shiki-dark)!important}pre.shiki{background-color:var(--vocs-color_codeBlockBackground)!important}.vocs_Content>*:not(:last-child),.vocs_Details>*:not(:last-child){margin-bottom:var(--vocs-space_24)}.vocs_Callout>*:not(:last-child),.vocs_Callout>.vocs_Details>*:not(:last-child){margin-bottom:var(--vocs-space_16)}.vocs_Content>*:last-child,.vocs_Callout>*:last-child,.vocs_Details>*:last-child{margin-bottom:var(--vocs-space_0)}#app[aria-hidden=true]{background:var(--vocs-color_background)}@layer vocs_global_global{:root{background-color:var(--vocs-color_background);color:var(--vocs-color_text);line-height:var(--vocs-lineHeight_paragraph);font-size:var(--vocs-fontSize_root);font-weight:var(--vocs-fontWeight_regular)}}@media screen and (max-width: 720px){:root{background-color:var(--vocs-color_backgroundDark)}}:root{--vocs-twoslash_borderColor: var(--vocs-color_border2);--vocs-twoslash_underlineColor: currentColor;--vocs-twoslash_popupBackground: var(--vocs-color_background2);--vocs-twoslash_popupShadow: rgba(0, 0, 0, .08) 0px 1px 4px;--vocs-twoslash_matchedColor: inherit;--vocs-twoslash_unmatchedColor: #888;--vocs-twoslash_cursorColor: #8888;--vocs-twoslash_errorColor: var(--vocs-color_textRed);--vocs-twoslash_errorBackground: var(--vocs-color_backgroundRedTint2);--vocs-twoslash_highlightedBackground: var(--vocs-color_background);--vocs-twoslash_highlightedBorder: var(--vocs-color_background);--vocs-twoslash_tagColor: var(--vocs-color_textBlue);--vocs-twoslash_tagBackground: var(--vocs-color_backgroundBlueTint);--vocs-twoslash_tagWarnColor: var(--vocs-color_textYellow);--vocs-twoslash_tagWarnBackground: var(--vocs-color_backgroundYellowTint);--vocs-twoslash_tagAnnotateColor: var(--vocs-color_textGreen);--vocs-twoslash_tagAnnotateBackground: var(--vocs-color_backgroundGreenTint2)}:root.dark{--vocs-twoslash_borderColor: var(--vocs-color_border2);--vocs-twoslash_underlineColor: currentColor;--vocs-twoslash_popupBackground: var(--vocs-color_background5);--vocs-twoslash_popupShadow: rgba(0, 0, 0, .08) 0px 1px 4px;--vocs-twoslash_matchedColor: inherit;--vocs-twoslash_unmatchedColor: #888;--vocs-twoslash_cursorColor: #8888;--vocs-twoslash_errorColor: var(--vocs-color_textRed);--vocs-twoslash_errorBackground: var(--vocs-color_backgroundRedTint2);--vocs-twoslash_highlightedBackground: var(--vocs-color_background);--vocs-twoslash_highlightedBorder: var(--vocs-color_background);--vocs-twoslash_tagColor: var(--vocs-color_textBlue);--vocs-twoslash_tagBackground: var(--vocs-color_backgroundBlueTint);--vocs-twoslash_tagWarnColor: var(--vocs-color_textYellow);--vocs-twoslash_tagWarnBackground: var(--vocs-color_backgroundYellowTint);--vocs-twoslash_tagAnnotateColor: var(--vocs-color_textGreen);--vocs-twoslash_tagAnnotateBackground: var(--vocs-color_backgroundGreenTint2)}:root .twoslash-popup-info-hover,:root .twoslash-popup-info{--shiki-light-bg: var(--vocs-color_background2)}:root .twoslash-popup-info{width:-moz-max-content;width:max-content}:root.dark .twoslash-popup-info,:root.dark .twoslash-popup-info-hover{--shiki-dark-bg: var(--vocs-color_background5)}.twoslash-query-persisted>.twoslash-popup-info{z-index:1}:not(.twoslash-query-persisted)>.twoslash-popup-info{z-index:2}.twoslash:hover .twoslash-hover{border-color:var(--vocs-twoslash_underlineColor)}.twoslash .twoslash-hover{border-bottom:1px dotted transparent;transition-timing-function:ease;transition:border-color .3s}.twoslash-query-persisted{position:relative}.twoslash .twoslash-popup-info{position:absolute;top:0;left:0;opacity:0;display:inline-block;transform:translateY(1.1em);background:var(--vocs-twoslash_popupBackground);border:1px solid var(--vocs-twoslash_borderColor);transition:opacity .3s;border-radius:4px;max-width:540px;padding:4px 6px;pointer-events:none;text-align:left;z-index:20;white-space:pre-wrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:var(--vocs-twoslash_popupShadow)}.twoslash .twoslash-popup-info-hover{background:var(--vocs-twoslash_popupBackground);border:1px solid var(--vocs-twoslash_borderColor);border-radius:4px;box-shadow:var(--vocs-twoslash_popupShadow);display:inline-block;max-width:500px;pointer-events:auto;position:fixed;opacity:1;transition:opacity .3s;white-space:pre-wrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:20}.twoslash .twoslash-popup-scroll-container{max-height:300px;padding:4px 0;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.twoslash-popup-arrow{position:absolute;top:-4px;left:1em;border-top:1px solid var(--vocs-twoslash_borderColor);border-right:1px solid var(--vocs-twoslash_borderColor);background:var(--vocs-twoslash_popupBackground);transform:rotate(-45deg);width:6px;height:6px;pointer-events:none}.twoslash .twoslash-popup-scroll-container::-webkit-scrollbar{display:none}.twoslash .twoslash-popup-jsdoc{border-top:1px solid var(--vocs-color_border2);color:var(--vocs-color_text);font-family:sans-serif;font-weight:500;margin-top:4px;padding:4px 10px 0}.twoslash-tag-line+.twoslash-tag-line{margin-top:-.2em}.twoslash-query-persisted .twoslash-popup-info{z-index:9;transform:translateY(1.5em)}.twoslash-hover:hover .twoslash-popup-info,.twoslash-query-persisted .twoslash-popup-info{opacity:1;pointer-events:auto}.twoslash-popup-info:hover,.twoslash-popup-info-hover:hover{-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.twoslash-error-line{position:relative;background-color:var(--vocs-twoslash_errorBackground);border-left:2px solid var(--vocs-twoslash_errorColor);color:var(--vocs-twoslash_errorColor);margin:.2em 0}.twoslash-error{background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'%23c94824'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") repeat-x bottom left;padding-bottom:2px}.twoslash-completion-cursor{position:relative}.twoslash-completion-cursor .twoslash-completion-list{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute;top:0;left:0;transform:translateY(1.2em);margin:3px 0 0 -1px;z-index:8;box-shadow:var(--vocs-twoslash_popupShadow);background:var(--vocs-twoslash_popupBackground);border:1px solid var(--vocs-twoslash_borderColor)}.twoslash-completion-list{border-radius:4px;font-size:.8rem;padding:4px;display:flex;flex-direction:column;gap:4px;width:240px}.twoslash-completion-list:hover{-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.twoslash-completion-list:before{content:" ";background-color:var(--vocs-twoslash_cursorColor);width:2px;position:absolute;top:-1.6em;height:1.4em;left:-1px}.twoslash-completion-list .twoslash-completion-list-item{overflow:hidden;display:flex;align-items:center;gap:.5em;line-height:1em}.twoslash-completion-list .twoslash-completion-list-item span.twoslash-completions-unmatched.twoslash-completions-unmatched.twoslash-completions-unmatched{color:var(--vocs-twoslash_unmatchedColor)!important}.twoslash-completion-list .deprecated{text-decoration:line-through;opacity:.5}.twoslash-completion-list .twoslash-completion-list-item span.twoslash-completions-matched.twoslash-completions-unmatched.twoslash-completions-unmatched{color:var(--vocs-twoslash_matchedColor)!important}.twoslash-tag-line{position:relative;background-color:var(--vocs-twoslash_tagBackground);border-left:2px solid var(--vocs-twoslash_tagColor);color:var(--vocs-twoslash_tagColor);margin:.2em 0;display:flex;align-items:center;gap:.3em}.twoslash-tag-line+.line[data-empty-line]+.twoslash-tag-line{margin-top:-1.95em}.twoslash-tag-line .twoslash-tag-icon{width:1.1em;color:inherit}.twoslash-tag-line.twoslash-tag-error-line{background-color:var(--vocs-twoslash_errorBackground);border-left:2px solid var(--vocs-twoslash_errorColor);color:var(--vocs-twoslash_errorColor)}.twoslash-tag-line.twoslash-tag-warn-line{background-color:var(--vocs-twoslash_tagWarnBackground);border-left:2px solid var(--vocs-twoslash_tagWarnColor);color:var(--vocs-twoslash_tagWarnColor)}.twoslash-tag-line.twoslash-tag-annotate-line{background-color:var(--vocs-twoslash_tagAnnotateBackground);border-left:2px solid var(--vocs-twoslash_tagAnnotateColor);color:var(--vocs-twoslash_tagAnnotateColor)}.twoslash-highlighted{border-radius:var(--vocs-borderRadius_2);background-color:var(--vocs-color_codeCharacterHighlightBackground)!important;box-shadow:0 0 0 4px var(--vocs-color_codeCharacterHighlightBackground)}@media (prefers-reduced-motion: reduce){.twoslash *{transition:none!important}}.vocs_ExternalLink:after{content:"";background-color:currentColor;color:var(--vocs_ExternalLink_arrowColor);display:inline-block;height:.5em;margin-left:.325em;margin-right:.25em;width:.5em;-webkit-mask:var(--vocs_ExternalLink_iconUrl) no-repeat center / contain;mask:var(--vocs_ExternalLink_iconUrl) no-repeat center / contain}.vocs_Link_accent_underlined{color:var(--vocs-color_link);font-weight:var(--vocs-fontWeight_medium);text-underline-offset:var(--vocs-space_2);text-decoration:underline;transition:color .1s}.vocs_Link_accent_underlined:hover{color:var(--vocs-color_linkHover)}.vocs_Link_styleless{--vocs_ExternalLink_arrowColor: var(--vocs-color_text3)}.vocs_NotFound{align-items:center;display:flex;flex-direction:column;max-width:400px;margin:0 auto;padding-top:var(--vocs-space_64)}.vocs_NotFound_divider{border-color:var(--vocs-color_border);width:50%}.vocs_H1{font-size:var(--vocs-fontSize_h1);letter-spacing:-.02em}.vocs_Heading{align-items:center;color:var(--vocs-color_heading);font-weight:var(--vocs-fontWeight_semibold);gap:.25em;line-height:var(--vocs-lineHeight_heading);position:relative}.vocs_Heading_slugTarget{position:absolute;top:0;visibility:hidden}@media screen and (min-width: 1081px){.vocs_Heading_slugTarget{top:calc(-1 * (var(--vocs-topNav_height)))}.vocs_Header .vocs_Heading_slugTarget,.vocs_Step_title .vocs_Heading_slugTarget,.vocs_Header+.vocs_Heading .vocs_Heading_slugTarget{top:calc(-1 * (var(--vocs-topNav_height) + var(--vocs-space_24)))}}@media screen and (max-width: 1080px){.vocs_Heading_slugTarget{top:calc(-1 * var(--vocs-topNav_curtainHeight))}.vocs_Header .vocs_Heading_slugTarget,.vocs_Header+.vocs_Heading .vocs_Heading_slugTarget{top:calc(-1 * calc(var(--vocs-topNav_curtainHeight) + var(--vocs-space_24)))}}.vocs_Blockquote{border-left:2px solid var(--vocs-color_blockquoteBorder);padding-left:var(--vocs-space_16);margin-bottom:var(--vocs-space_16)}.vocs_H2+.vocs_List,.vocs_H3+.vocs_List,.vocs_H4+.vocs_List,.vocs_H5+.vocs_List,.vocs_H6+.vocs_List{margin-top:calc(var(--vocs-space_8) * -1)}.vocs_Paragraph+.vocs_List{margin-top:calc(-1 * var(--vocs-space_8))}.vocs_List_ordered{list-style:decimal;padding-left:var(--vocs-space_20);margin-bottom:var(--vocs-space_16)}.vocs_List_ordered .vocs_List_ordered{list-style:lower-alpha}.vocs_List_ordered .vocs_List_ordered .vocs_List_ordered{list-style:lower-roman}.vocs_List_unordered{list-style:disc;padding-left:var(--vocs-space_24);margin-bottom:var(--vocs-space_16)}.vocs_List_unordered .vocs_List_unordered{list-style:circle}.vocs_List_ordered .vocs_List_ordered,.vocs_List_unordered .vocs_List_unordered,.vocs_List_ordered .vocs_List_unordered,.vocs_List_unordered .vocs_List_ordered{margin-bottom:var(--vocs-space_0);padding-top:var(--vocs-space_8);padding-left:var(--vocs-space_16);padding-bottom:var(--vocs-space_0)}.vocs_List_unordered.contains-task-list{list-style:none;padding-left:var(--vocs-space_12)}.vocs_Paragraph{line-height:var(--vocs-lineHeight_paragraph)}.vocs_Blockquote>.vocs_Paragraph{color:var(--vocs-color_blockquoteText);margin-bottom:var(--vocs-space_8)}.vocs_H2+.vocs_Paragraph,.vocs_H3+.vocs_Paragraph,.vocs_H4+.vocs_Paragraph,.vocs_H5+.vocs_Paragraph,.vocs_H6+.vocs_Paragraph,.vocs_List+.vocs_Paragraph{margin-top:calc(var(--vocs-space_8) * -1)}.vocs_Paragraph+.vocs_Paragraph{margin-top:calc(-1 * var(--vocs-space_8))}:root:not(.dark) .vocs_utils_visibleDark{display:none}:root.dark .vocs_utils_visibleLight{display:none}.vocs_utils_visuallyHidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.vocs_DesktopSearch_search{align-items:center;background-color:var(--vocs-color_backgroundDark);border:1px solid var(--vocs-color_backgroundDark);border-radius:var(--vocs-borderRadius_8);color:var(--vocs-color_text2);display:flex;font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_medium);gap:var(--vocs-space_6);height:var(--vocs-space_40);max-width:15.5rem;padding-left:var(--vocs-space_12);padding-right:var(--vocs-space_12);position:relative;width:100%;transition:color .1s,border-color .1s}.vocs_DesktopSearch_search:hover{color:var(--vocs-color_text);border-color:var(--vocs-color_text3)}.vocs_DesktopSearch_searchCommand{align-items:center;border:1.5px solid var(--vocs-color_text3);border-radius:var(--vocs-borderRadius_4);color:var(--vocs-color_text3);display:flex;height:var(--vocs-space_12);justify-content:center;margin-left:auto;margin-top:var(--vocs-space_1);padding:var(--vocs-space_1);width:var(--vocs-space_12)}.vocs_Kbd{color:var(--vocs-color_text2);display:inline-block;border-radius:var(--vocs-borderRadius_3);font-size:var(--vocs-fontSize_11);font-family:var(--vocs-fontFamily_default);font-feature-settings:cv08;line-height:105%;min-width:20px;padding:var(--vocs-space_3);padding-left:var(--vocs-space_4);padding-right:var(--vocs-space_4);padding-top:var(--vocs-space_3);text-align:center;text-transform:capitalize;vertical-align:baseline;border:.5px solid var(--vocs-color_border);background-color:var(--vocs-color_background3);box-shadow:var(--vocs-color_shadow2) 0 2px 0 0}.vocs_KeyboardShortcut{align-items:center;display:inline-flex;gap:var(--vocs-space_6);font-size:var(--vocs-fontSize_12)}.vocs_KeyboardShortcut_kbdGroup{align-items:center;display:inline-flex;gap:var(--vocs-space_3)}@media screen and (max-width: 720px){.vocs_KeyboardShortcut{display:none}}@keyframes vocs_SearchDialog_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes vocs_SearchDialog_fadeAndSlideIn{0%{opacity:0;transform:translate(-50%,-5%) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}.vocs_SearchDialog{animation:vocs_SearchDialog_fadeAndSlideIn .1s ease-in-out;background:var(--vocs-color_background);border-radius:var(--vocs-borderRadius_6);display:flex;flex-direction:column;gap:var(--vocs-space_8);height:-moz-min-content;height:min-content;left:50%;margin:64px auto;max-height:min(100vh - 128px,900px);padding:var(--vocs-space_12);padding-bottom:var(--vocs-space_8);position:fixed;top:0;transform:translate(-50%);width:min(100vw - 60px,775px);z-index:var(--vocs-zIndex_backdrop)}.vocs_SearchDialog_overlay{animation:vocs_SearchDialog_fadeIn .1s ease-in-out;background:#0009;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vocs-zIndex_backdrop)}.vocs_SearchDialog_searchBox{align-items:center;border:1px solid var(--vocs-color_border);border-radius:var(--vocs-borderRadius_4);display:flex;gap:var(--vocs-space_8);padding-left:var(--vocs-space_8);padding-right:var(--vocs-space_8);margin-bottom:var(--vocs-space_8);width:100%}.vocs_SearchDialog_searchBox:focus-within{border-color:var(--vocs-color_borderAccent)}.vocs_SearchDialog_searchInput{background:transparent;display:flex;font-size:var(--vocs-fontSize_16);height:var(--vocs-space_40);width:100%}.vocs_SearchDialog_searchInput:focus{outline:none}.vocs_SearchDialog_searchInput::-moz-placeholder{color:var(--vocs-color_text4)}.vocs_SearchDialog_searchInput::placeholder{color:var(--vocs-color_text4)}.vocs_SearchDialog_searchInputIcon{color:var(--vocs-color_text3)}.vocs_SearchDialog_searchInputIconMobile{display:none}.vocs_SearchDialog_results{display:flex;flex-direction:column;gap:var(--vocs-space_8);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;width:100%}.vocs_SearchDialog_result{border:1.5px solid var(--vocs-color_border);border-radius:var(--vocs-borderRadius_4);width:100%}.vocs_SearchDialog_result:focus-within{border-color:var(--vocs-color_borderAccent)}.vocs_SearchDialog_result>a{display:flex;flex-direction:column;gap:var(--vocs-space_8);min-height:var(--vocs-space_36);outline:none;justify-content:center;padding:var(--vocs-space_12);width:100%}.vocs_SearchDialog_resultSelected{border-color:var(--vocs-color_borderAccent)}.vocs_SearchDialog_resultIcon{color:var(--vocs-color_textAccent);margin-right:1px;width:15px}.vocs_SearchDialog_titles{align-items:center;display:flex;flex-wrap:wrap;font-weight:var(--vocs-fontWeight_medium);gap:var(--vocs-space_4);line-height:22px}.vocs_SearchDialog_title{align-items:center;display:flex;gap:var(--vocs-space_4);white-space:nowrap}.vocs_SearchDialog_titleIcon{color:var(--vocs-color_text);display:inline-block;opacity:.5}.vocs_SearchDialog_resultSelected .vocs_SearchDialog_title,.vocs_SearchDialog_resultSelected .vocs_SearchDialog_titleIcon{color:var(--vocs-color_textAccent)}.vocs_SearchDialog_content{padding:0}.vocs_SearchDialog_excerpt{max-height:8.75rem;overflow:hidden;opacity:.5;position:relative}.vocs_SearchDialog_excerpt:before{content:"";position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vocs-color_background),transparent);z-index:1000}.vocs_SearchDialog_excerpt:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:12px;background:linear-gradient(transparent,var(--vocs-color_background));z-index:1000}.vocs_SearchDialog_title mark,.vocs_SearchDialog_excerpt mark{background-color:var(--vocs-color_searchHighlightBackground);color:var(--vocs-color_searchHighlightText);border-radius:var(--vocs-borderRadius_2);padding-bottom:0;padding-left:var(--vocs-space_2);padding-right:var(--vocs-space_2);padding-top:0}.vocs_SearchDialog_resultSelected .vocs_SearchDialog_excerpt{opacity:1}.vocs_SearchDialog_searchShortcuts{align-items:center;color:var(--vocs-color_text2);display:flex;gap:var(--vocs-space_20);font-size:var(--vocs-fontSize_14)}.vocs_SearchDialog_searchShortcutsGroup{align-items:center;display:inline-flex;gap:var(--vocs-space_3);margin-right:var(--vocs-space_6)}@media screen and (max-width: 720px){.vocs_SearchDialog{border-radius:0;height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:0;max-height:unset;width:100vw}.vocs_SearchDialog_searchInputIconDesktop{display:none}.vocs_SearchDialog_searchInputIconMobile{display:block}.vocs_SearchDialog_excerpt{opacity:1}.vocs_SearchDialog_searchShortcuts{display:none}}.vocs_DesktopTopNav{align-items:center;display:flex;justify-content:space-between;padding:0 var(--vocs-topNav_horizontalPadding);height:var(--vocs-topNav_height)}.vocs_DesktopTopNav_withLogo{padding-left:calc(((100% - var(--vocs-content_width)) / 2) + var(--vocs-topNav_horizontalPadding))}.vocs_DesktopTopNav_button{border-radius:var(--vocs-borderRadius_4);padding:var(--vocs-space_8)}.vocs_DesktopTopNav_content{right:calc(-1 * var(--vocs-space_24))}.vocs_DesktopTopNav_curtain{background:linear-gradient(var(--vocs-color_background),transparent 70%);height:30px;opacity:.98;width:100%}.vocs_DesktopTopNav_divider{background-color:var(--vocs-color_border);height:35%;width:1px}.vocs_DesktopTopNav_group{align-items:center;display:flex}.vocs_DesktopTopNav_icon{color:var(--vocs-color_text2);transition:color .1s}.vocs_DesktopTopNav_button:hover .vocs_DesktopTopNav_icon{color:var(--vocs-color_text)}.vocs_DesktopTopNav_item{align-items:center;display:flex;height:100%;position:relative}.vocs_DesktopTopNav_logo{padding-left:var(--vocs-sidebar_horizontalPadding);padding-right:var(--vocs-sidebar_horizontalPadding);width:var(--vocs-sidebar_width)}.vocs_DesktopTopNav_logoWrapper{display:flex;height:100%;justify-content:flex-end;left:0;position:absolute;width:var(--vocs_DocsLayout_leftGutterWidth)}.vocs_DesktopTopNav_section{align-items:center;display:flex;height:100%;gap:var(--vocs-space_24)}@media screen and (max-width: 1080px){.vocs_DesktopTopNav,.vocs_DesktopTopNav_curtain{display:none}}@media screen and (max-width: 1280px){.vocs_DesktopTopNav_hideCompact{display:none}}.vocs_Icon{align-items:center;display:flex;height:var(--vocs_Icon_size);width:var(--vocs_Icon_size)}:root:not(.dark) .vocs_Logo_logoDark{display:none}:root.dark .vocs_Logo_logoLight{display:none}.vocs_NavLogo_logoImage{height:50%;width:auto}.vocs_NavLogo_title{font-size:var(--vocs-fontSize_18);font-weight:var(--vocs-fontWeight_semibold);line-height:var(--vocs-lineHeight_heading)}@keyframes vocs_NavigationMenu_fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.vocs_NavigationMenu_list{display:flex;gap:var(--vocs-space_20)}.vocs_NavigationMenu_link{align-items:center;display:flex;font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_medium);height:100%}.vocs_NavigationMenu_link:hover,.vocs_NavigationMenu_link[data-active=true]{color:var(--vocs-color_textAccent)}.vocs_NavigationMenu_trigger:after{content:"";background-color:currentColor;color:var(--vocs-color_text3);display:inline-block;height:.625em;margin-left:.325em;width:.625em;-webkit-mask:var(--vocs_NavigationMenu_chevronDownIcon) no-repeat center / contain;mask:var(--vocs_NavigationMenu_chevronDownIcon) no-repeat center / contain}.vocs_NavigationMenu_content{background-color:var(--vocs-color_background2);border:1px solid var(--vocs-color_border);border-radius:var(--vocs-borderRadius_4);box-shadow:0 3px 10px var(--vocs-color_shadow);display:flex;flex-direction:column;padding:var(--vocs-space_12) var(--vocs-space_16);position:absolute;top:calc(100% + var(--vocs-space_8));min-width:200px;z-index:var(--vocs-zIndex_popover);animation:vocs_NavigationMenu_fadeIn .5s cubic-bezier(.16,1,.3,1)}.vocs_Footer{--vocs_Footer_iconWidth: 24px;display:flex;flex-direction:column;gap:var(--vocs-space_32);max-width:var(--vocs-content_width);overflow-x:hidden;padding:var(--vocs-space_28) var(--vocs-content_horizontalPadding) var(--vocs-space_48)}.vocs_Footer_container{border-bottom:1px solid var(--vocs-color_border);display:flex;justify-content:space-between;padding-bottom:var(--vocs-space_16)}.vocs_Footer_editLink{align-items:center;display:flex;font-size:var(--vocs-fontSize_14);gap:var(--vocs-space_8);text-decoration:none}.vocs_Footer_lastUpdated{color:var(--vocs-color_text3);font-size:var(--vocs-fontSize_14)}.vocs_Footer_navigation{display:flex;justify-content:space-between}.vocs_Footer_navigationIcon{width:var(--vocs_Footer_iconWidth)}.vocs_Footer_navigationIcon_left{display:flex}.vocs_Footer_navigationIcon_right{display:flex;justify-content:flex-end}.vocs_Footer_navigationItem{display:flex;flex-direction:column;gap:var(--vocs-space_4)}.vocs_Footer_navigationItem_right{align-items:flex-end}.vocs_Footer_navigationText{align-items:center;display:flex;font-size:var(--vocs-fontSize_18);font-weight:var(--vocs-fontWeight_medium)}.vocs_Footer_navigationTextInner{overflow:hidden;text-overflow:ellipsis;width:26ch;white-space:pre}@media screen and (max-width: 720px){.vocs_Footer_navigationIcon_left,.vocs_Footer_navigationIcon_right{justify-content:center}.vocs_Footer_navigationText{font-size:var(--vocs-fontSize_12)}}@media screen and (max-width: 480px){.vocs_Footer_navigationTextInner{width:20ch}}.vocs_MobileSearch_searchButton{align-items:center;display:flex;color:var(--vocs-color_text);height:var(--vocs-space_28);justify-content:center;width:var(--vocs-space_28)}@keyframes vocs_MobileTopNav_fadeIn{0%{opacity:0}to{opacity:1}}.vocs_MobileTopNav{align-items:center;background-color:var(--vocs-color_backgroundDark);border-bottom:1px solid var(--vocs-color_border);display:none;height:100%;justify-content:space-between;padding:var(--vocs-space_0) var(--vocs-content_horizontalPadding);width:100%}.vocs_MobileTopNav_button{border-radius:var(--vocs-borderRadius_4);padding:var(--vocs-space_8)}.vocs_MobileTopNav_content{left:calc(-1 * var(--vocs-space_24))}.vocs_MobileTopNav_curtain{align-items:center;background-color:var(--vocs-color_backgroundDark);border-bottom:1px solid var(--vocs-color_border);display:none;justify-content:space-between;font-size:var(--vocs-fontSize_13);font-weight:var(--vocs-fontWeight_medium);height:100%;padding:var(--vocs-space_0) var(--vocs-content_horizontalPadding);width:100%}.vocs_MobileTopNav_curtainGroup{align-items:center;display:flex;gap:var(--vocs-space_12)}.vocs_MobileTopNav_divider{background-color:var(--vocs-color_border);height:35%;width:1px}.vocs_MobileTopNav_group{align-items:center;display:flex;height:100%}.vocs_MobileTopNav_icon{color:var(--vocs-color_text2);transition:color .1s}.vocs_MobileTopNav_button:hover .vocs_MobileTopNav_icon{color:var(--vocs-color_text)}.vocs_MobileTopNav_item{position:relative}.vocs_MobileTopNav_logo{align-items:center;display:flex;height:var(--vocs-topNav_height)}.vocs_MobileTopNav_logoImage{height:30%}.vocs_MobileTopNav_menuTrigger{align-items:center;display:flex;gap:var(--vocs-space_8)}.vocs_MobileTopNav_menuTitle{max-width:22ch;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:pre}.vocs_MobileTopNav_navigation{margin-left:var(--vocs-space_8)}.vocs_MobileTopNav_navigationContent{display:flex;flex-direction:column;margin-left:var(--vocs-space_8)}.vocs_MobileTopNav_navigationItem{align-items:center;display:flex;justify-content:flex-start;font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_medium);width:100%}.vocs_MobileTopNav_navigationItem:hover,.vocs_MobileTopNav_navigationItem[data-active=true],.vocs_MobileTopNav_navigationItem[data-state=open]{color:var(--vocs-color_textAccent)}.vocs_MobileTopNav_trigger:after{content:"";background-color:currentColor;display:inline-block;height:.625em;margin-left:.325em;width:.625em;-webkit-mask:var(--vocs_MobileTopNav_chevronDownIcon) no-repeat center / contain;mask:var(--vocs_MobileTopNav_chevronDownIcon) no-repeat center / contain}.vocs_MobileTopNav_trigger[data-state=open]:after{-webkit-mask:var(--vocs_MobileTopNav_chevronUpIcon) no-repeat center / contain;mask:var(--vocs_MobileTopNav_chevronUpIcon) no-repeat center / contain}.vocs_MobileTopNav_outlineTrigger{animation:vocs_MobileTopNav_fadeIn .5s cubic-bezier(.16,1,.3,1);align-items:center;color:var(--vocs-color_text2);display:flex;gap:var(--vocs-space_6)}.vocs_MobileTopNav_outlineTrigger[data-state=open]{color:var(--vocs-color_textAccent)}.vocs_MobileTopNav_outlinePopover{display:none;overflow-y:scroll;padding:var(--vocs-space_16);max-height:80vh}.vocs_MobileTopNav_section{align-items:center;display:flex;height:100%;gap:var(--vocs-space_16)}.vocs_MobileTopNav_separator{background-color:var(--vocs-color_border);height:1.75em;width:1px}.vocs_MobileTopNav_sidebarPopover{display:none;overflow-y:scroll;padding:0 var(--vocs-sidebar_horizontalPadding);max-height:80vh;width:var(--vocs-sidebar_width)}.vocs_MobileTopNav_title{font-size:var(--vocs-fontSize_18);font-weight:var(--vocs-fontWeight_semibold);line-height:var(--vocs-lineHeight_heading)}.vocs_MobileTopNav_topNavPopover{display:none;overflow-y:scroll;padding:var(--vocs-sidebar_verticalPadding) var(--vocs-sidebar_horizontalPadding);max-height:80vh;width:var(--vocs-sidebar_width)}@media screen and (max-width: 1080px){.vocs_MobileTopNav,.vocs_MobileTopNav_curtain{display:flex}.vocs_MobileTopNav_outlinePopover{display:block;max-width:300px}.vocs_MobileTopNav_sidebarPopover{display:block}.vocs_MobileTopNav_topNavPopover{display:flex;flex-direction:column}}@media screen and (max-width: 720px){.vocs_MobileTopNav_navigation:not(.vocs_MobileTopNav_navigation_compact){display:none}}@media screen and (min-width: 721px){.vocs_MobileTopNav_navigation.vocs_MobileTopNav_navigation_compact{display:none}}.vocs_Outline{width:100%}.vocs_Outline_nav{display:flex;flex-direction:column;gap:var(--vocs-space_8)}.vocs_DocsLayout_gutterRight .vocs_Outline_nav{border-left:1px solid var(--vocs-color_border);padding-left:var(--vocs-space_16)}.vocs_Outline_heading{color:var(--vocs-color_title);font-size:var(--vocs-fontSize_13);font-weight:var(--vocs-fontWeight_semibold);line-height:var(--vocs-lineHeight_heading);letter-spacing:.025em}.vocs_Outline_items .vocs_Outline_items{padding-left:var(--vocs-space_12)}.vocs_Outline_item{line-height:var(--vocs-lineHeight_outlineItem);margin-bottom:var(--vocs-space_8);overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.vocs_Outline_link{color:var(--vocs-color_text2);font-weight:var(--vocs-fontWeight_medium);font-size:var(--vocs-fontSize_13);transition:color .1s}.vocs_Outline_link[data-active=true]{color:var(--vocs-color_textAccent)}.vocs_Outline_link[data-active=true]:hover{color:var(--vocs-color_textAccentHover)}.vocs_Outline_link:hover{color:var(--vocs-color_text)}.vocs_Popover{background-color:var(--vocs-color_background2);border:1px solid var(--vocs-color_border);border-radius:var(--vocs-borderRadius_4);margin:0 var(--vocs-space_6);z-index:var(--vocs-zIndex_popover)}.vocs_Sidebar{display:flex;flex-direction:column;font-size:var(--vocs-fontSize_14);overflow-y:auto;width:var(--vocs-sidebar_width)}.vocs_Sidebar_backLink{text-align:left}.vocs_Sidebar_divider{background-color:var(--vocs-color_border);width:100%;height:1px}.vocs_Sidebar_navigation{outline:0}.vocs_Sidebar_navigation:first-child{padding-top:var(--vocs-space_16)}.vocs_Sidebar_group{display:flex;flex-direction:column}.vocs_Sidebar_logo{align-items:center;display:flex;height:var(--vocs-topNav_height);padding-top:var(--vocs-space_4)}.vocs_Sidebar_logoWrapper{background-color:var(--vocs-color_backgroundDark);position:sticky;top:0;z-index:var(--vocs-zIndex_gutterTopCurtain)}.vocs_Sidebar_section{display:flex;flex-direction:column;font-size:1em}.vocs_Sidebar_navigation>.vocs_Sidebar_group>.vocs_Sidebar_section+.vocs_Sidebar_section{border-top:1px solid var(--vocs-color_border)}.vocs_Sidebar_levelCollapsed{gap:var(--vocs-space_4);padding-bottom:var(--vocs-space_12)}.vocs_Sidebar_levelInset{border-left:1px solid var(--vocs-color_border);font-size:var(--vocs-fontSize_13);margin-top:var(--vocs-space_8);padding-left:var(--vocs-space_12)}.vocs_Sidebar_levelInset.vocs_Sidebar_levelInset.vocs_Sidebar_levelInset{font-weight:var(--vocs-fontWeight_regular);padding-top:0;padding-bottom:0}.vocs_Sidebar_items{display:flex;flex-direction:column;gap:.625em;padding-top:var(--vocs-space_16);padding-bottom:var(--vocs-space_16);font-weight:var(--vocs-fontWeight_medium)}.vocs_Sidebar_level .vocs_Sidebar_items{padding-top:var(--vocs-space_6)}.vocs_Sidebar_item{color:var(--vocs-color_text3);letter-spacing:.25px;line-height:var(--vocs-lineHeight_sidebarItem);width:100%;transition:color .1s}.vocs_Sidebar_item:hover{color:var(--vocs-color_text)}.vocs_Sidebar_item[data-active=true]{color:var(--vocs-color_textAccent)}.vocs_Sidebar_sectionHeader{align-items:center;display:flex;justify-content:space-between}.vocs_Sidebar_level>.vocs_Sidebar_sectionHeader{padding-top:var(--vocs-space_12)}.vocs_Sidebar_sectionHeaderActive{color:var(--vocs-color_text)}.vocs_Sidebar_sectionTitle{color:var(--vocs-color_title);font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_semibold);letter-spacing:.25px;width:100%}.vocs_Sidebar_sectionCollapse{color:var(--vocs-color_text3);transform:rotate(90deg);transition:transform .25s}.vocs_Sidebar_sectionCollapseActive{transform:rotate(0)}@media screen and (max-width: 1080px){.vocs_Sidebar{width:100%}.vocs_Sidebar_logoWrapper{display:none}}.vocs_SkipLink{background:var(--vocs-color_background);border-radius:var(--vocs-borderRadius_4);color:var(--vocs-color_link);font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_semibold);left:var(--vocs-space_8);padding:var(--vocs-space_8) var(--vocs-space_16);position:fixed;text-decoration:none;top:var(--vocs-space_8);z-index:999}.vocs_SkipLink:focus{clip:auto;clip-path:none;height:auto;width:auto}@layer vocs_preflight{*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }}.mb-4{margin-bottom:1rem}.mt-8{margin-top:2rem}.flex{display:flex}.w-full{width:100%}.max-w-5xl{max-width:64rem}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.rounded{border-radius:.25rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-\[--vocs-color_codeInlineBorder\]{border-color:var(--vocs-color_codeInlineBorder)}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.bg-\[--vocs-color_codeBlockBackground\]{background-color:var(--vocs-color_codeBlockBackground)}.bg-\[--vocs-color_codeTitleBackground\]{background-color:var(--vocs-color_codeTitleBackground)}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.text-left{text-align:left}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-\[--vocs-color_heading\]{color:var(--vocs-color_heading)}.text-\[--vocs-color_text3\]{color:var(--vocs-color_text3)}.hover\:text-\[--vocs-color_text\]:hover{color:var(--vocs-color_text)}@media (min-width: 768px){.md\:flex-row{flex-direction:row}}.\[\&\[data-state\=\'active\'\]\]\:border-\[--vocs-color_borderAccent\][data-state=active]{border-color:var(--vocs-color_borderAccent)}.\[\&\[data-state\=\'active\'\]\]\:text-\[--vocs-color_text\][data-state=active]{color:var(--vocs-color_text)}.vocs_Section{border-top:1px solid var(--vocs-color_border);margin-top:var(--vocs-space_56);padding-top:var(--vocs-space_24)}.vocs_Anchor{color:var(--vocs-color_link);font-weight:var(--vocs-fontWeight_medium);text-underline-offset:var(--vocs-space_2);text-decoration:underline;transition:color .1s}.vocs_Callout_danger .vocs_Anchor{color:var(--vocs-color_dangerText)}.vocs_Callout_danger .vocs_Anchor:hover{color:var(--vocs-color_dangerTextHover)}.vocs_Callout_info .vocs_Anchor{color:var(--vocs-color_infoText)}.vocs_Callout_info .vocs_Anchor:hover{color:var(--vocs-color_infoTextHover)}.vocs_Callout_success .vocs_Anchor{color:var(--vocs-color_successText)}.vocs_Callout_success .vocs_Anchor:hover{color:var(--vocs-color_successTextHover)}.vocs_Callout_tip .vocs_Anchor{color:var(--vocs-color_tipText)}.vocs_Callout_tip .vocs_Anchor:hover{color:var(--vocs-color_tipTextHover)}.vocs_Callout_warning .vocs_Anchor{color:var(--vocs-color_warningText)}.vocs_Callout_warning .vocs_Anchor:hover{color:var(--vocs-color_warningTextHover)}.vocs_Anchor:hover{color:var(--vocs-color_linkHover)}.vocs_Section a.data-footnote-backref{color:var(--vocs-color_link);font-weight:var(--vocs-fontWeight_medium);text-underline-offset:var(--vocs-space_2);text-decoration:underline}.vocs_Section a.data-footnote-backref:hover{color:var(--vocs-color_linkHover)}.vocs_Autolink{opacity:0;margin-top:.1em;position:absolute;transition:opacity .1s,transform .1s;transform:translate(-2px) scale(.98)}.vocs_Heading:hover .vocs_Autolink{opacity:1;transform:translate(0) scale(1)}.vocs_Pre_wrapper{position:relative}.vocs_Code{transition:color .1s}:not(.vocs_Pre)>.vocs_Code{background-color:var(--vocs-color_codeInlineBackground);border:1px solid var(--vocs-color_codeInlineBorder);border-radius:var(--vocs-borderRadius_4);color:var(--vocs-color_codeInlineText);font-size:var(--vocs-fontSize_code);padding:var(--vocs-space_3) var(--vocs-space_6)}.vocs_Anchor>.vocs_Code{color:var(--vocs-color_link);text-decoration:underline;text-underline-offset:var(--vocs-space_2)}.vocs_Anchor:hover>.vocs_Code{color:var(--vocs-color_linkHover)}.vocs_Callout_danger .vocs_Code{color:var(--vocs-color_dangerText)}.vocs_Callout_info .vocs_Code{color:var(--vocs-color_infoText)}.vocs_Callout_success .vocs_Code{color:var(--vocs-color_successText)}.vocs_Callout_tip .vocs_Code{color:var(--vocs-color_tipText)}.vocs_Callout_warning .vocs_Code{color:var(--vocs-color_warningText)}.vocs_Heading .vocs_Code{color:inherit}.twoslash-popup-info-hover>.vocs_Code{background-color:inherit;padding:0;text-wrap:wrap}.twoslash-popup-jsdoc .vocs_Code{display:inline}.vocs_Authors{color:var(--vocs-color_text3);font-size:var(--vocs-fontSize_14)}.vocs_Authors_authors{color:var(--vocs-color_text)}.vocs_Authors_link{text-decoration:underline;text-underline-offset:2px}.vocs_Authors_link:hover{color:var(--vocs-color_text2)}.vocs_Authors_separator{color:var(--vocs-color_text3)}.vocs_BlogPosts{display:flex;flex-direction:column;gap:var(--vocs-space_32)}.vocs_BlogPosts_description{margin-top:var(--vocs-space_16)}.vocs_BlogPosts_divider{border-color:var(--vocs-color_background4)}.vocs_BlogPosts_post:hover .vocs_BlogPosts_readMore{color:var(--vocs-color_textAccent)}.vocs_BlogPosts_title{font-size:var(--vocs-fontSize_h2);font-weight:var(--vocs-fontWeight_semibold)}.vocs_Sponsors{border-radius:var(--vocs-borderRadius_8);display:flex;flex-direction:column;gap:var(--vocs-space_4);overflow:hidden}.vocs_Sponsors_title{background-color:var(--vocs-color_background3);color:var(--vocs-color_text3);font-size:var(--vocs-fontSize_13);font-weight:var(--vocs-fontWeight_medium);padding:var(--vocs-space_4) 0;text-align:center}.vocs_Sponsors_row{display:flex;flex-direction:row;gap:var(--vocs-space_4)}.vocs_Sponsors_column{align-items:center;background-color:var(--vocs-color_background3);display:flex;justify-content:center;padding:var(--vocs-space_32);width:calc(var(--vocs_Sponsors_columns) * 100%)}.vocs_Sponsors_sponsor{transition:background-color .1s}.vocs_Sponsors_sponsor:hover{background-color:var(--vocs-color_background5)}.dark .vocs_Sponsors_sponsor:hover{background-color:var(--vocs-color_white)}.vocs_Sponsors_image{filter:grayscale(1);height:var(--vocs_Sponsors_height);transition:filter .1s}.dark .vocs_Sponsors_image{filter:grayscale(1) invert(1)}.vocs_Sponsors_column:hover .vocs_Sponsors_image{filter:none}.vocs_AutolinkIcon{background-color:var(--vocs-color_textAccent);display:inline-block;margin-left:.25em;height:.8em;width:.8em;-webkit-mask:var(--vocs_AutolinkIcon_iconUrl) no-repeat center / contain;mask:var(--vocs_AutolinkIcon_iconUrl) no-repeat center / contain;transition:background-color .1s}.vocs_Autolink:hover .vocs_AutolinkIcon{background-color:var(--vocs-color_textAccentHover)}@media screen and (max-width: 720px){.vocs_CodeGroup{border-radius:0;border-right:none;border-left:none;margin-left:calc(-1 * var(--vocs-space_16));margin-right:calc(-1 * var(--vocs-space_16))}}.vocs_Steps{border-left:1.5px solid var(--vocs-color_border);counter-reset:step;padding-left:var(--vocs-space_24);margin-left:var(--vocs-space_12);margin-top:var(--vocs-space_24)}@media screen and (max-width: 720px){.vocs_Steps{margin-left:var(--vocs-space_4)}}.vocs_Subtitle{color:var(--vocs-color_text2);font-size:var(--vocs-fontSize_subtitle);font-weight:var(--vocs-fontWeight_regular);letter-spacing:-.02em;line-height:var(--vocs-lineHeight_heading);margin-top:var(--vocs-space_4);text-wrap:balance}.vocs_HorizontalRule{border-top:1px solid var(--vocs-color_hr);margin-bottom:var(--vocs-space_16)}.vocs_ListItem{line-height:var(--vocs-lineHeight_listItem)}.vocs_ListItem:not(:last-child){margin-bottom:.5em}.vocs_CopyButton{align-items:center;background-color:color-mix(in srgb,var(--vocs-color_background2) 75%,transparent);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border:1px solid var(--vocs-color_border);border-radius:var(--vocs-borderRadius_4);color:var(--vocs-color_text3);display:flex;justify-content:center;position:absolute;right:var(--vocs-space_18);top:var(--vocs-space_18);opacity:0;height:32px;width:32px;transition:background-color .15s,opacity .15s;z-index:var(--vocs-zIndex_surface)}.vocs_CopyButton:hover{background-color:var(--vocs-color_background4);transition:background-color .05s}.vocs_CopyButton:focus-visible{background-color:var(--vocs-color_background4);opacity:1;transition:background-color .05s}.vocs_CopyButton:hover:active{background-color:var(--vocs-color_background2)}.vocs_Pre:hover .vocs_CopyButton{opacity:1}.vocs_CodeTitle{align-items:center;background-color:var(--vocs-color_codeTitleBackground);border-bottom:1px solid var(--vocs-color_border);color:var(--vocs-color_text3);display:flex;font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_medium);gap:var(--vocs-space_6);padding:var(--vocs-space_8) var(--vocs-space_24)}.vocs_CodeGroup .vocs_CodeTitle{display:none}@media screen and (max-width: 720px){.vocs_CodeTitle{border-radius:0;padding-left:var(--vocs-space_16);padding-right:var(--vocs-space_16)}}.vocs_CalloutTitle{font-size:var(--vocs-fontSize_12);letter-spacing:.02em;text-transform:uppercase}.vocs_Strong{font-weight:var(--vocs-fontWeight_semibold)}.vocs_Content>.vocs_Strong{display:block}.vocs_Callout>.vocs_Strong{display:block;margin-bottom:var(--vocs-space_4)}.vocs_Summary{cursor:pointer}.vocs_Summary.vocs_Summary:hover{text-decoration:underline}.vocs_Details[open] .vocs_Summary{margin-bottom:var(--vocs-space_4)}.vocs_Callout .vocs_Summary{font-weight:var(--vocs-fontWeight_medium)}.vocs_Details .vocs_Summary.vocs_Summary{margin-bottom:0}.vocs_Table{display:block;border-collapse:collapse;overflow-x:auto;margin-bottom:var(--vocs-space_24)}.vocs_TableCell{border:1px solid var(--vocs-color_tableBorder);font-size:var(--vocs-fontSize_td);padding:var(--vocs-space_8) var(--vocs-space_12)}.vocs_TableHeader{border:1px solid var(--vocs-color_tableBorder);background-color:var(--vocs-color_tableHeaderBackground);color:var(--vocs-color_tableHeaderText);font-size:var(--vocs-fontSize_th);font-weight:var(--vocs-fontWeight_medium);padding:var(--vocs-space_8) var(--vocs-space_12);text-align:left}.vocs_TableHeader[align=center]{text-align:center}.vocs_TableHeader[align=right]{text-align:right}.vocs_TableRow{border-top:1px solid var(--vocs-color_tableBorder)}.vocs_TableRow:nth-child(2n){background-color:var(--vocs-color_background2)}@media screen and (max-width: 720px){.Tabs__root{border-radius:0;margin-left:calc(-1 * var(--vocs-space_16));margin-right:calc(-1 * var(--vocs-space_16));padding-left:var(--vocs-space_16);padding-right:var(--vocs-space_16)}.Tabs__list{margin-left:calc(-1 * var(--vocs-space_16));margin-right:calc(-1 * var(--vocs-space_16))}}.vocs_Button_button{align-items:center;background:var(--vocs-color_background4);border:1px solid var(--vocs-color_border);border-radius:var(--vocs-borderRadius_4);color:var(--vocs-color_text);display:flex;font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_medium);height:36px;padding:0 var(--vocs-space_16);transition:background .1s;white-space:pre;width:-moz-fit-content;width:fit-content}.vocs_Button_button:hover{background:var(--vocs-color_background3)}.vocs_Button_button_accent{background:var(--vocs-color_backgroundAccent);color:var(--vocs-color_backgroundAccentText);border:1px solid var(--vocs-color_borderAccent)}.vocs_Button_button_accent:hover{background:var(--vocs-color_backgroundAccentHover)}.vocs_HomePage{align-items:center;display:flex;flex-direction:column;padding-top:var(--vocs-space_64);text-align:center;gap:var(--vocs-space_32)}.vocs_HomePage_logo{display:flex;justify-content:center;height:48px}.vocs_HomePage_title{font-size:var(--vocs-fontSize_64);font-weight:var(--vocs-fontWeight_semibold);line-height:1em}.vocs_HomePage_tagline{color:var(--vocs-color_text2);font-size:var(--vocs-fontSize_20);font-weight:var(--vocs-fontWeight_medium);line-height:1.5em}.vocs_HomePage_title+.vocs_HomePage_tagline{margin-top:calc(-1 * var(--vocs-space_8))}.vocs_HomePage_description{color:var(--vocs-color_text);font-size:var(--vocs-fontSize_16);font-weight:var(--vocs-fontWeight_regular);line-height:var(--vocs-lineHeight_paragraph)}.vocs_HomePage_tagline+.vocs_HomePage_description{margin-top:calc(-1 * var(--vocs-space_8))}.vocs_HomePage_buttons{display:flex;gap:var(--vocs-space_16)}.vocs_HomePage_tabs{min-width:300px}.vocs_HomePage_tabsList{display:flex;justify-content:center}.vocs_HomePage_tabsContent{color:var(--vocs-color_text2);font-family:var(--vocs-fontFamily_mono)}.vocs_HomePage_packageManager{color:var(--vocs-color_textAccent)}@media screen and (max-width: 720px){.vocs_HomePage{padding-top:var(--vocs-space_32)}.vocs_HomePage_logo{height:36px}}
+@layer vocs_preflight;:root{--vocs-color_white: rgba(255 255 255 / 100%);--vocs-color_black: rgba(0 0 0 / 100%);--vocs-color_background: rgba(255 255 255 / 100%);--vocs-color_background2: #f9f9f9;--vocs-color_background3: #f6f6f6;--vocs-color_background4: #f0f0f0;--vocs-color_background5: #e8e8e8;--vocs-color_backgroundAccent: #5b5bd6;--vocs-color_backgroundAccentHover: #5151cd;--vocs-color_backgroundAccentText: rgba(255 255 255 / 100%);--vocs-color_backgroundBlueTint: #008cff0b;--vocs-color_backgroundDark: #f9f9f9;--vocs-color_backgroundGreenTint: #00a32f0b;--vocs-color_backgroundGreenTint2: #00a43319;--vocs-color_backgroundIrisTint: #0000ff07;--vocs-color_backgroundRedTint: #ff000008;--vocs-color_backgroundRedTint2: #f3000d14;--vocs-color_backgroundYellowTint: #f4dd0016;--vocs-color_border: #ececec;--vocs-color_border2: #cecece;--vocs-color_borderAccent: #5753c6;--vocs-color_borderBlue: #009eff2a;--vocs-color_borderGreen: #019c393b;--vocs-color_borderIris: #dadcff;--vocs-color_borderRed: #ff000824;--vocs-color_borderYellow: #ffd5008f;--vocs-color_heading: #202020;--vocs-color_inverted: rgba(0 0 0 / 100%);--vocs-color_shadow: #0000000f;--vocs-color_shadow2: #00000006;--vocs-color_text: #4c4c4c;--vocs-color_text2: #646464;--vocs-color_text3: #838383;--vocs-color_text4: #bbbbbb;--vocs-color_textAccent: #5753c6;--vocs-color_textAccentHover: #272962;--vocs-color_textBlue: #0d74ce;--vocs-color_textBlueHover: #113264;--vocs-color_textGreen: #218358;--vocs-color_textGreenHover: #193b2d;--vocs-color_textIris: #5753c6;--vocs-color_textIrisHover: #272962;--vocs-color_textRed: #ce2c31;--vocs-color_textRedHover: #641723;--vocs-color_textYellow: #9e6c00;--vocs-color_textYellowHover: #473b1f;--vocs-color_title: #202020}:root.dark{--vocs-color_white: rgba(255 255 255 / 100%);--vocs-color_black: rgba(0 0 0 / 100%);--vocs-color_background: #232225;--vocs-color_background2: #2b292d;--vocs-color_background3: #2e2c31;--vocs-color_background4: #323035;--vocs-color_background5: #3c393f;--vocs-color_backgroundAccent: #5b5bd6;--vocs-color_backgroundAccentHover: #5753c6;--vocs-color_backgroundAccentText: rgba(255 255 255 / 100%);--vocs-color_backgroundBlueTint: #008ff519;--vocs-color_backgroundDark: #1e1d1f;--vocs-color_backgroundGreenTint: #00a43319;--vocs-color_backgroundGreenTint2: #00a83829;--vocs-color_backgroundIrisTint: #000bff19;--vocs-color_backgroundRedTint: #f3000d14;--vocs-color_backgroundRedTint2: #ff000824;--vocs-color_backgroundYellowTint: #f4dd0016;--vocs-color_border: #3c393f;--vocs-color_border2: #6f6d78;--vocs-color_borderAccent: #6e6ade;--vocs-color_borderBlue: #009eff2a;--vocs-color_borderGreen: #019c393b;--vocs-color_borderIris: #303374;--vocs-color_borderRed: #ff000824;--vocs-color_borderYellow: #f4dd0016;--vocs-color_heading: #e9e9ea;--vocs-color_inverted: rgba(255 255 255 / 100%);--vocs-color_shadow: #00000000;--vocs-color_shadow2: rgba(0, 0, 0, .05);--vocs-color_text: #cfcfcf;--vocs-color_text2: #bdbdbe;--vocs-color_text3: #a7a7a8;--vocs-color_text4: #656567;--vocs-color_textAccent: #b1a9ff;--vocs-color_textAccentHover: #6e6ade;--vocs-color_textBlue: #70b8ff;--vocs-color_textBlueHover: #3b9eff;--vocs-color_textGreen: #3dd68c;--vocs-color_textGreenHover: #33b074;--vocs-color_textIris: #b1a9ff;--vocs-color_textIrisHover: #6e6ade;--vocs-color_textRed: #ff9592;--vocs-color_textRedHover: #ec5d5e;--vocs-color_textYellow: #f5e147;--vocs-color_textYellowHover: #e2a336;--vocs-color_title: rgba(255 255 255 / 100%)}:root{--vocs-color_blockquoteBorder: var(--vocs-color_border);--vocs-color_blockquoteText: var(--vocs-color_text3);--vocs-color_dangerBackground: var(--vocs-color_backgroundRedTint);--vocs-color_dangerBorder: var(--vocs-color_borderRed);--vocs-color_dangerText: var(--vocs-color_textRed);--vocs-color_dangerTextHover: var(--vocs-color_textRedHover);--vocs-color_infoBackground: var(--vocs-color_backgroundBlueTint);--vocs-color_infoBorder: var(--vocs-color_borderBlue);--vocs-color_infoText: var(--vocs-color_textBlue);--vocs-color_infoTextHover: var(--vocs-color_textBlueHover);--vocs-color_noteBackground: var(--vocs-color_background2);--vocs-color_noteBorder: var(--vocs-color_border);--vocs-color_noteText: var(--vocs-color_text2);--vocs-color_successBackground: var(--vocs-color_backgroundGreenTint);--vocs-color_successBorder: var(--vocs-color_borderGreen);--vocs-color_successText: var(--vocs-color_textGreen);--vocs-color_successTextHover: var(--vocs-color_textGreenHover);--vocs-color_tipBackground: var(--vocs-color_backgroundIrisTint);--vocs-color_tipBorder: var(--vocs-color_borderIris);--vocs-color_tipText: var(--vocs-color_textIris);--vocs-color_tipTextHover: var(--vocs-color_textIrisHover);--vocs-color_warningBackground: var(--vocs-color_backgroundYellowTint);--vocs-color_warningBorder: var(--vocs-color_borderYellow);--vocs-color_warningText: var(--vocs-color_textYellow);--vocs-color_warningTextHover: var(--vocs-color_textYellowHover);--vocs-color_codeBlockBackground: var(--vocs-color_background2);--vocs-color_codeCharacterHighlightBackground: var(--vocs-color_background5);--vocs-color_codeHighlightBackground: var(--vocs-color_background4);--vocs-color_codeHighlightBorder: var(--vocs-color_border2);--vocs-color_codeInlineBackground: var(--vocs-color_background4);--vocs-color_codeInlineBorder: var(--vocs-color_border);--vocs-color_codeInlineText: var(--vocs-color_textAccent);--vocs-color_codeTitleBackground: var(--vocs-color_background4);--vocs-color_lineNumber: var(--vocs-color_text4);--vocs-color_hr: var(--vocs-color_border);--vocs-color_link: var(--vocs-color_textAccent);--vocs-color_linkHover: var(--vocs-color_textAccentHover);--vocs-color_searchHighlightBackground: var(--vocs-color_borderAccent);--vocs-color_searchHighlightText: var(--vocs-color_background);--vocs-color_tableBorder: var(--vocs-color_border);--vocs-color_tableHeaderBackground: var(--vocs-color_background2);--vocs-color_tableHeaderText: var(--vocs-color_text2);--vocs-borderRadius_0: 0;--vocs-borderRadius_2: 2px;--vocs-borderRadius_3: 3px;--vocs-borderRadius_4: 4px;--vocs-borderRadius_6: 6px;--vocs-borderRadius_8: 8px;--vocs-fontFamily_default: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--vocs-fontFamily_mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--vocs-fontSize_9: .5625rem;--vocs-fontSize_11: .6875rem;--vocs-fontSize_12: .75rem;--vocs-fontSize_13: .8125rem;--vocs-fontSize_14: .875rem;--vocs-fontSize_15: .9375rem;--vocs-fontSize_16: 1rem;--vocs-fontSize_18: 1.125rem;--vocs-fontSize_20: 1.25rem;--vocs-fontSize_24: 1.5rem;--vocs-fontSize_32: 2rem;--vocs-fontSize_64: 3rem;--vocs-fontSize_root: 16px;--vocs-fontSize_h1: var(--vocs-fontSize_32);--vocs-fontSize_h2: var(--vocs-fontSize_24);--vocs-fontSize_h3: var(--vocs-fontSize_20);--vocs-fontSize_h4: var(--vocs-fontSize_18);--vocs-fontSize_h5: var(--vocs-fontSize_16);--vocs-fontSize_h6: var(--vocs-fontSize_16);--vocs-fontSize_calloutCodeBlock: .8em;--vocs-fontSize_code: .875em;--vocs-fontSize_codeBlock: var(--vocs-fontSize_14);--vocs-fontSize_lineNumber: var(--vocs-fontSize_15);--vocs-fontSize_subtitle: var(--vocs-fontSize_20);--vocs-fontSize_th: var(--vocs-fontSize_14);--vocs-fontSize_td: var(--vocs-fontSize_14);--vocs-fontWeight_regular: 300;--vocs-fontWeight_medium: 400;--vocs-fontWeight_semibold: 500;--vocs-lineHeight_code: 1.75em;--vocs-lineHeight_heading: 1.5em;--vocs-lineHeight_listItem: 1.5em;--vocs-lineHeight_outlineItem: 1em;--vocs-lineHeight_paragraph: 1.75em;--vocs-lineHeight_sidebarItem: 1.375em;--vocs-space_0: 0px;--vocs-space_1: 1px;--vocs-space_2: .125rem;--vocs-space_3: .1875rem;--vocs-space_4: .25rem;--vocs-space_6: .375rem;--vocs-space_8: .5rem;--vocs-space_12: .75rem;--vocs-space_14: .875rem;--vocs-space_16: 1rem;--vocs-space_18: 1.125rem;--vocs-space_20: 1.25rem;--vocs-space_22: 1.375rem;--vocs-space_24: 1.5rem;--vocs-space_28: 1.75rem;--vocs-space_32: 2rem;--vocs-space_36: 2.25rem;--vocs-space_40: 2.5rem;--vocs-space_44: 2.75rem;--vocs-space_48: 3rem;--vocs-space_56: 3.5rem;--vocs-space_64: 4rem;--vocs-space_72: 4.5rem;--vocs-space_80: 5rem;--vocs-zIndex_backdrop: 69420;--vocs-zIndex_drawer: 69421;--vocs-zIndex_gutterRight: 11;--vocs-zIndex_gutterLeft: 14;--vocs-zIndex_gutterTop: 13;--vocs-zIndex_gutterTopCurtain: 12;--vocs-zIndex_popover: 69422;--vocs-zIndex_surface: 10;--vocs-content_horizontalPadding: var(--vocs-space_48);--vocs-content_verticalPadding: var(--vocs-space_32);--vocs-content_width: calc(70ch + (var(--vocs-content_horizontalPadding) * 2));--vocs-outline_width: 280px;--vocs-sidebar_horizontalPadding: var(--vocs-space_24);--vocs-sidebar_verticalPadding: var(--vocs-space_0);--vocs-sidebar_width: 300px;--vocs-topNav_height: 60px;--vocs-topNav_horizontalPadding: var(--vocs-content_horizontalPadding);--vocs-topNav_curtainHeight: 40px}@media screen and (max-width: 1080px){:root{--vocs-content_verticalPadding: var(--vocs-space_48);--vocs-content_horizontalPadding: var(--vocs-space_24);--vocs-sidebar_horizontalPadding: var(--vocs-space_16);--vocs-sidebar_verticalPadding: var(--vocs-space_16);--vocs-sidebar_width: 300px;--vocs-topNav_height: 48px}}@media screen and (max-width: 720px){:root{--vocs-content_horizontalPadding: var(--vocs-space_16);--vocs-content_verticalPadding: var(--vocs-space_32)}}.vocs_Banner{background-color:var(--vocs_Banner_bannerBackgroundColor, var(--vocs-color_backgroundAccent));border-bottom:1px solid var(--vocs_Banner_bannerBackgroundColor, var(--vocs-color_borderAccent));color:var(--vocs_Banner_bannerTextColor, var(--vocs-color_backgroundAccentText));height:var(--vocs_Banner_bannerHeight, 36px);position:fixed;top:0;width:100%;z-index:var(--vocs-zIndex_gutterTop)}.vocs_Banner_content{font-size:var(--vocs-fontSize_14);overflow-x:scroll;padding-left:var(--vocs-space_8);padding-right:var(--vocs-space_8);margin-right:var(--vocs-space_24);-ms-overflow-style:none;scrollbar-width:none;white-space:pre}.vocs_Banner_content::-webkit-scrollbar{display:none}.vocs_Banner_inner{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.vocs_Banner_closeButton{align-items:center;background-color:var(--vocs_Banner_bannerBackgroundColor, var(--vocs-color_backgroundAccent));display:flex;justify-content:center;height:100%;position:absolute;right:0;width:var(--vocs-space_24)}.vocs_Banner_content a{font-weight:400;text-underline-offset:2px;text-decoration:underline}@media screen and (max-width: 1080px){.vocs_Banner{position:initial}}.vocs_DocsLayout{--vocs_DocsLayout_leftGutterWidth: max(calc((100vw - var(--vocs-content_width)) / 2), var(--vocs-sidebar_width))}.vocs_DocsLayout_content{background-color:var(--vocs-color_background);margin-left:auto;margin-right:auto;max-width:var(--vocs-content_width);min-height:100vh}.vocs_DocsLayout_content_withSidebar{margin-left:var(--vocs_DocsLayout_leftGutterWidth);margin-right:unset}.vocs_DocsLayout_gutterLeft{background-color:var(--vocs-color_backgroundDark);justify-content:flex-end;display:flex;height:100vh;position:fixed;top:var(--vocs_Banner_bannerHeight, 0px);width:var(--vocs_DocsLayout_leftGutterWidth);z-index:var(--vocs-zIndex_gutterLeft)}.vocs_DocsLayout_gutterTop{align-items:center;background-color:color-mix(in srgb,var(--vocs-color_background) 98%,transparent);height:var(--vocs-topNav_height);width:100vw;z-index:var(--vocs-zIndex_gutterTop)}.vocs_DocsLayout_gutterTopCurtain{display:flex;height:var(--vocs-topNav_curtainHeight);width:100vw;z-index:var(--vocs-zIndex_gutterTopCurtain)}.vocs_DocsLayout_gutterTopCurtain_hidden{background:unset;display:none}.vocs_DocsLayout_gutterRight{display:flex;height:100vh;overflow-y:auto;padding:calc(var(--vocs-content_verticalPadding) + var(--vocs-topNav_height) + var(--vocs-space_8)) var(--vocs-space_24) 0 0;position:fixed;top:var(--vocs_Banner_bannerHeight, 0px);right:0;width:calc((100vw - var(--vocs-content_width)) / 2);z-index:var(--vocs-zIndex_gutterRight)}.vocs_DocsLayout_gutterRight::-webkit-scrollbar{display:none}.vocs_DocsLayout_gutterRight_withSidebar{width:calc(100vw - var(--vocs-content_width) - var(--vocs_DocsLayout_leftGutterWidth))}.vocs_DocsLayout_outlinePopover{display:none;overflow-y:auto;height:calc(100vh - var(--vocs-topNav_height) - var(--vocs-topNav_curtainHeight))}.vocs_DocsLayout_sidebar{padding:var(--vocs-space_0) var(--vocs-sidebar_horizontalPadding) var(--vocs-space_24) var(--vocs-sidebar_horizontalPadding)}.vocs_DocsLayout_sidebarDrawer{display:none}@media screen and (max-width: 720px){.vocs_DocsLayout_content{overflow-x:hidden}}@media screen and (min-width: 1081px){.vocs_DocsLayout_content_withTopNav{padding-top:calc(var(--vocs-topNav_height) + var(--vocs_Banner_bannerHeight, 0px))}.vocs_DocsLayout_gutterTop{padding-left:calc(var(--vocs_DocsLayout_leftGutterWidth) - var(--vocs-sidebar_width));padding-right:calc(var(--vocs_DocsLayout_leftGutterWidth) - var(--vocs-sidebar_width));position:fixed;top:var(--vocs_Banner_bannerHeight, 0px)}.vocs_DocsLayout_gutterTop_offsetLeftGutter{padding-left:var(--vocs_DocsLayout_leftGutterWidth)}.vocs_DocsLayout_gutterTopCurtain{position:fixed;top:calc(var(--vocs-topNav_height) + var(--vocs_Banner_bannerHeight, 0px))}.vocs_DocsLayout_gutterTopCurtain_withSidebar{margin-left:var(--vocs_DocsLayout_leftGutterWidth)}}@media screen and (max-width: 1080px){.vocs_DocsLayout_content{margin-left:auto;margin-right:auto}.vocs_DocsLayout_gutterLeft{display:none}.vocs_DocsLayout_gutterTop{position:initial}.vocs_DocsLayout_gutterTop_sticky,.vocs_DocsLayout_gutterTopCurtain{position:sticky;top:0}.vocs_DocsLayout_outlinePopover,.vocs_DocsLayout_sidebarDrawer{display:block}}@media screen and (max-width: 1280px){.vocs_DocsLayout_gutterRight{display:none}}@layer vocs_reset_reset;html,body,.vocs_DocsLayout{font-family:var(--vocs-fontFamily_default);font-feature-settings:"rlig" 1,"calt" 1;font-size:var(--vocs-fontSize_root)}button,select{text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{outline:auto}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;-moz-appearance:button;appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1}input::placeholder,textarea::placeholder{opacity:1}button,[role=button]{cursor:pointer}:disabled{overflow:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}@layer vocs_reset_reset{*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid}*:focus-visible{outline:2px solid var(--vocs-color_borderAccent);outline-offset:2px;outline-style:dashed}html,body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:inherit;margin:0;padding:0;border:0;text-rendering:optimizeLegibility}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;text-wrap:balance}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--vocs-fontFamily_mono);font-size:var(--vocs-fontSize_root)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;border-collapse:collapse;text-indent:0}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}}.vocs_Tabs{background-color:var(--vocs-color_codeBlockBackground);border:1px solid var(--vocs-color_codeInlineBorder);border-radius:var(--vocs-borderRadius_4)}.vocs_Tabs_list{background-color:var(--vocs-color_codeTitleBackground);border-bottom:1px solid var(--vocs-color_border);border-top-left-radius:var(--vocs-borderRadius_4);border-top-right-radius:var(--vocs-borderRadius_4);display:flex;padding:var(--vocs-space_0) var(--vocs-space_14)}.vocs_Tabs_trigger{border-bottom:2px solid transparent;color:var(--vocs-color_text3);font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_medium);padding:var(--vocs-space_8) var(--vocs-space_8) var(--vocs-space_6) var(--vocs-space_8);transition:color .1s}.vocs_Tabs_trigger:hover{color:var(--vocs-color_text)}.vocs_Tabs_trigger[data-state=active]{border-bottom:2px solid var(--vocs-color_borderAccent);color:var(--vocs-color_text)}.vocs_Tabs_content{background-color:var(--vocs-color_codeBlockBackground)}.vocs_Tabs_content:not([data-shiki=true]){padding:var(--vocs-space_20) var(--vocs-space_22)}.vocs_Tabs pre{margin-bottom:var(--vocs-space_0)}@media screen and (max-width: 720px){.vocs_Tabs_list{border-radius:0;padding:var(--vocs-space_0) var(--vocs-space_8)}.vocs_Tabs_content:not([data-shiki=true]){padding:var(--vocs-space_20) var(--vocs-space_16)}.vocs_Tabs pre{margin:unset}}.vocs_CodeBlock{border:1px solid var(--vocs-color_codeInlineBorder);border-radius:var(--vocs-borderRadius_4)}.vocs_Tabs .vocs_CodeBlock,undefined .vocs_CodeBlock{border:none;margin-left:unset;margin-right:unset}.vocs_CodeBlock code{display:grid;font-size:var(--vocs-fontSize_codeBlock)}undefined .vocs_CodeBlock code{font-size:var(--vocs-fontSize_calloutCodeBlock)}.vocs_CodeBlock pre{background-color:var(--vocs-color_codeBlockBackground);border-radius:var(--vocs-borderRadius_4);overflow-x:auto;padding:var(--vocs-space_20) var(--vocs-space_0)}undefined .vocs_CodeBlock pre{background-color:color-mix(in srgb,var(--vocs-color_codeBlockBackground) 65%,transparent)!important;border:1px solid var(--vocs-color_codeInlineBorder);border-radius:var(--vocs-borderRadius_4);padding:var(--vocs-space_12) var(--vocs-space_0)}.vocs_CodeBlock .line{border-left:2px solid transparent;padding:var(--vocs-space_0) var(--vocs-space_22);line-height:var(--vocs-lineHeight_code)}undefined .vocs_CodeBlock .line{padding:var(--vocs-space_0) var(--vocs-space_12)}.vocs_CodeBlock .twoslash-popup-info .line{padding:var(--vocs-space_0) var(--vocs-space_4)}.vocs_CodeBlock .twoslash-popup-info-hover .line{display:inline-block;padding:var(--vocs-space_0) var(--vocs-space_8)}.vocs_CodeBlock .twoslash-error-line,.vocs_CodeBlock .twoslash-tag-line{padding:var(--vocs-space_0) var(--vocs-space_22)}.vocs_CodeBlock [data-line-numbers]{counter-reset:line}.vocs_CodeBlock [data-line-numbers]>.line{padding:var(--vocs-space_0) var(--vocs-space_16)}.vocs_CodeBlock [data-line-numbers]>.line:before{content:counter(line);color:var(--vocs-color_lineNumber);display:inline-block;font-size:var(--vocs-fontSize_lineNumber);margin-right:var(--vocs-space_16);text-align:right;width:1rem}.vocs_CodeBlock [data-line-numbers]>.line:not(.diff.remove+.diff.add):before{counter-increment:line}.vocs_CodeBlock [data-line-numbers]>.line.diff:after{margin-left:calc(-1 * var(--vocs-space_4))}.vocs_CodeBlock .highlighted{background-color:var(--vocs-color_codeHighlightBackground);border-left:2px solid var(--vocs-color_codeHighlightBorder);box-sizing:content-box}.vocs_CodeBlock .highlighted-word{border-radius:var(--vocs-borderRadius_2);background-color:var(--vocs-color_codeCharacterHighlightBackground)!important;box-shadow:0 0 0 4px var(--vocs-color_codeCharacterHighlightBackground)}.vocs_CodeBlock .has-diff{position:relative}.vocs_CodeBlock .line.diff:after{position:absolute;left:var(--vocs-space_8)}.vocs_CodeBlock .line.diff.add{background-color:var(--vocs-color_backgroundGreenTint2)}.vocs_CodeBlock .line.diff.add:after{content:"+";color:var(--vocs-color_textGreen)}.vocs_CodeBlock .line.diff.remove{background-color:var(--vocs-color_backgroundRedTint2);opacity:.6}.vocs_CodeBlock .line.diff.remove>span{filter:grayscale(1)}.vocs_CodeBlock .line.diff.remove:after{content:"-";color:var(--vocs-color_textRed)}.vocs_CodeBlock .has-focused>code>.line:not(.focused),.vocs_CodeBlock .has-focused>code>.twoslash-meta-line:not(.focused){opacity:.3;transition:opacity .2s}.vocs_CodeBlock:hover .has-focused .line:not(.focused),.vocs_CodeBlock:hover .has-focused .twoslash-meta-line:not(.focused){opacity:1;transition:opacity .2s}@media screen and (max-width: 720px){.vocs_CodeBlock{border-radius:0;border-right:none;border-left:none;margin-left:calc(-1 * var(--vocs-space_16));margin-right:calc(-1 * var(--vocs-space_16))}.vocs_CodeBlock pre{border-radius:0}.vocs_CodeBlock .line,.vocs_CodeBlock .twoslash-error-line,.vocs_CodeBlock .twoslash-tag-line{padding:0 var(--vocs-space_16)}.vocs_CodeBlock .line.diff:after{left:var(--vocs-space_6)}}.vocs_Header{border-bottom:1px solid var(--vocs-color_border)}.vocs_Header:not(:last-child){margin-bottom:var(--vocs-space_28);padding-bottom:var(--vocs-space_28)}[data-layout=landing] .vocs_Header{padding-bottom:var(--vocs-space_16)}[data-layout=landing] .vocs_Header:not(:first-child){padding-top:var(--vocs-space_36)}.vocs_H2{font-size:var(--vocs-fontSize_h2);letter-spacing:-.02em}.vocs_H2.vocs_H2:not(:last-child){margin-bottom:var(--vocs-space_24)}:not(.vocs_Header)+.vocs_H2:not(:only-child){border-top:1px solid var(--vocs-color_border);margin-top:var(--vocs-space_56);padding-top:var(--vocs-space_24)}[data-layout=landing] .vocs_H2.vocs_H2{border-top:none;margin-top:var(--vocs-space_24);padding-top:0}.vocs_H3{font-size:var(--vocs-fontSize_h3)}.vocs_H3:not(:first-child){margin-top:var(--vocs-space_18);padding-top:var(--vocs-space_18)}.vocs_H3.vocs_H3:not(:last-child){margin-bottom:var(--vocs-space_24)}.vocs_H2+.vocs_H3{padding-top:var(--vocs-space_0)}.vocs_H4{font-size:var(--vocs-fontSize_h4)}.vocs_H4:not(:first-child){margin-top:var(--vocs-space_18);padding-top:var(--vocs-space_12)}.vocs_H4.vocs_H4:not(:last-child){margin-bottom:var(--vocs-space_24)}.vocs_H3+.vocs_H4{padding-top:var(--vocs-space_0)}.vocs_H5{font-size:var(--vocs-fontSize_h5)}.vocs_H5:not(:first-child){margin-top:var(--vocs-space_16)}.vocs_H5.vocs_H5:not(:last-child){margin-bottom:var(--vocs-space_24)}.vocs_H4+.vocs_H5{padding-top:var(--vocs-space_0)}.vocs_H6{font-size:var(--vocs-fontSize_h6)}.vocs_H6:not(:first-child){margin-top:var(--vocs-space_16)}.vocs_H6.vocs_H6:not(:last-child){margin-bottom:var(--vocs-space_24)}.vocs_H5+.vocs_H6{padding-top:var(--vocs-space_0)}.vocs_Step:not(:last-child){margin-bottom:var(--vocs-space_24)}.vocs_Step_title{margin-bottom:var(--vocs-space_8);position:relative}.vocs_Step_title:before{content:counter(step);align-items:center;background-color:var(--vocs-color_background5);border-radius:100%;border:.5em solid var(--vocs-color_background);box-sizing:content-box;color:var(--vocs-color_text2);counter-increment:step;display:flex;font-size:.625em;font-weight:var(--vocs-fontWeight_regular);height:2em;justify-content:center;left:calc(-25.125px - 1.45em);position:absolute;top:-.25em;width:2em}.vocs_H2+.vocs_Step_content,.vocs_H3+.vocs_Step_content,.vocs_H4+.vocs_Step_content,.vocs_H5+.vocs_Step_content,.vocs_H6+.vocs_Step_content{margin-top:calc(var(--vocs-space_8) * -1)}.vocs_Step_content>*:not(:last-child){margin-bottom:var(--vocs-space_16)}.vocs_Step_content>*:last-child{margin-bottom:var(--vocs-space_0)}@media screen and (max-width: 720px){.vocs_Step_content>.vocs_Tabs,.vocs_Step_content>.vocs_CodeBlock{outline:6px solid var(--vocs-color_background);margin-left:calc(-1 * var(--vocs-space_44) - 2px);margin-right:calc(-1 * var(--vocs-space_16))}.vocs_Step_content .vocs_Tabs pre.shiki{border-top:none}}.vocs_Callout{border-radius:var(--vocs-borderRadius_4);font-size:var(--vocs-fontSize_14);padding:var(--vocs-space_16) var(--vocs-space_20);margin-bottom:var(--vocs-space_16)}.vocs_Callout_note{background-color:var(--vocs-color_noteBackground);border:1px solid var(--vocs-color_noteBorder);color:var(--vocs-color_noteText)}.vocs_Callout_info{background-color:var(--vocs-color_infoBackground);border:1px solid var(--vocs-color_infoBorder);color:var(--vocs-color_infoText)}.vocs_Callout_warning{background-color:var(--vocs-color_warningBackground);border:1px solid var(--vocs-color_warningBorder);color:var(--vocs-color_warningText)}.vocs_Callout_danger{background-color:var(--vocs-color_dangerBackground);border:1px solid var(--vocs-color_dangerBorder);color:var(--vocs-color_dangerText)}.vocs_Callout_tip{background-color:var(--vocs-color_tipBackground);border:1px solid var(--vocs-color_tipBorder);color:var(--vocs-color_tipText)}.vocs_Callout_success{background-color:var(--vocs-color_successBackground);border:1px solid var(--vocs-color_successBorder);color:var(--vocs-color_successText)}@media screen and (max-width: 720px){:not(.vocs_Step_content)>.vocs_Callout{border-radius:0;border-left-width:0;border-right-width:0;margin-left:calc(-1 * var(--vocs-space_16));margin-right:calc(-1 * var(--vocs-space_16))}}.vocs_Content{background-color:var(--vocs-color_background);max-width:var(--vocs-content_width);padding:var(--vocs-content_verticalPadding) var(--vocs-content_horizontalPadding);width:100%}.vocs_Callout>*+.vocs_Details{margin-top:-8px}@layer vocs_global_global;:root.dark{color-scheme:dark}:root.dark pre.shiki span:not(.line),:root.dark :not(pre.shiki) .line span{color:var(--shiki-dark)!important}pre.shiki{background-color:var(--vocs-color_codeBlockBackground)!important}.vocs_Content>*:not(:last-child),.vocs_Details>*:not(:last-child){margin-bottom:var(--vocs-space_24)}.vocs_Callout>*:not(:last-child),.vocs_Callout>.vocs_Details>*:not(:last-child){margin-bottom:var(--vocs-space_16)}.vocs_Content>*:last-child,.vocs_Callout>*:last-child,.vocs_Details>*:last-child{margin-bottom:var(--vocs-space_0)}#app[aria-hidden=true]{background:var(--vocs-color_background)}@layer vocs_global_global{:root{background-color:var(--vocs-color_background);color:var(--vocs-color_text);line-height:var(--vocs-lineHeight_paragraph);font-size:var(--vocs-fontSize_root);font-weight:var(--vocs-fontWeight_regular)}}@media screen and (max-width: 720px){:root{background-color:var(--vocs-color_backgroundDark)}}:root{--vocs-twoslash_borderColor: var(--vocs-color_border2);--vocs-twoslash_underlineColor: currentColor;--vocs-twoslash_popupBackground: var(--vocs-color_background2);--vocs-twoslash_popupShadow: rgba(0, 0, 0, .08) 0px 1px 4px;--vocs-twoslash_matchedColor: inherit;--vocs-twoslash_unmatchedColor: #888;--vocs-twoslash_cursorColor: #8888;--vocs-twoslash_errorColor: var(--vocs-color_textRed);--vocs-twoslash_errorBackground: var(--vocs-color_backgroundRedTint2);--vocs-twoslash_highlightedBackground: var(--vocs-color_background);--vocs-twoslash_highlightedBorder: var(--vocs-color_background);--vocs-twoslash_tagColor: var(--vocs-color_textBlue);--vocs-twoslash_tagBackground: var(--vocs-color_backgroundBlueTint);--vocs-twoslash_tagWarnColor: var(--vocs-color_textYellow);--vocs-twoslash_tagWarnBackground: var(--vocs-color_backgroundYellowTint);--vocs-twoslash_tagAnnotateColor: var(--vocs-color_textGreen);--vocs-twoslash_tagAnnotateBackground: var(--vocs-color_backgroundGreenTint2)}:root.dark{--vocs-twoslash_borderColor: var(--vocs-color_border2);--vocs-twoslash_underlineColor: currentColor;--vocs-twoslash_popupBackground: var(--vocs-color_background5);--vocs-twoslash_popupShadow: rgba(0, 0, 0, .08) 0px 1px 4px;--vocs-twoslash_matchedColor: inherit;--vocs-twoslash_unmatchedColor: #888;--vocs-twoslash_cursorColor: #8888;--vocs-twoslash_errorColor: var(--vocs-color_textRed);--vocs-twoslash_errorBackground: var(--vocs-color_backgroundRedTint2);--vocs-twoslash_highlightedBackground: var(--vocs-color_background);--vocs-twoslash_highlightedBorder: var(--vocs-color_background);--vocs-twoslash_tagColor: var(--vocs-color_textBlue);--vocs-twoslash_tagBackground: var(--vocs-color_backgroundBlueTint);--vocs-twoslash_tagWarnColor: var(--vocs-color_textYellow);--vocs-twoslash_tagWarnBackground: var(--vocs-color_backgroundYellowTint);--vocs-twoslash_tagAnnotateColor: var(--vocs-color_textGreen);--vocs-twoslash_tagAnnotateBackground: var(--vocs-color_backgroundGreenTint2)}:root .twoslash-popup-info-hover,:root .twoslash-popup-info{--shiki-light-bg: var(--vocs-color_background2)}:root .twoslash-popup-info{width:-moz-max-content;width:max-content}:root.dark .twoslash-popup-info,:root.dark .twoslash-popup-info-hover{--shiki-dark-bg: var(--vocs-color_background5)}.twoslash-query-persisted>.twoslash-popup-info{z-index:1}:not(.twoslash-query-persisted)>.twoslash-popup-info{z-index:2}.twoslash:hover .twoslash-hover{border-color:var(--vocs-twoslash_underlineColor)}.twoslash .twoslash-hover{border-bottom:1px dotted transparent;transition-timing-function:ease;transition:border-color .3s}.twoslash-query-persisted{position:relative}.twoslash .twoslash-popup-info{position:absolute;top:0;left:0;opacity:0;display:inline-block;transform:translateY(1.1em);background:var(--vocs-twoslash_popupBackground);border:1px solid var(--vocs-twoslash_borderColor);transition:opacity .3s;border-radius:4px;max-width:540px;padding:4px 6px;pointer-events:none;text-align:left;z-index:20;white-space:pre-wrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:var(--vocs-twoslash_popupShadow)}.twoslash .twoslash-popup-info-hover{background:var(--vocs-twoslash_popupBackground);border:1px solid var(--vocs-twoslash_borderColor);border-radius:4px;box-shadow:var(--vocs-twoslash_popupShadow);display:inline-block;max-width:500px;pointer-events:auto;position:fixed;opacity:1;transition:opacity .3s;white-space:pre-wrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:20}.twoslash .twoslash-popup-scroll-container{max-height:300px;padding:4px 0;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.twoslash-popup-arrow{position:absolute;top:-4px;left:1em;border-top:1px solid var(--vocs-twoslash_borderColor);border-right:1px solid var(--vocs-twoslash_borderColor);background:var(--vocs-twoslash_popupBackground);transform:rotate(-45deg);width:6px;height:6px;pointer-events:none}.twoslash .twoslash-popup-scroll-container::-webkit-scrollbar{display:none}.twoslash .twoslash-popup-jsdoc{border-top:1px solid var(--vocs-color_border2);color:var(--vocs-color_text);font-family:sans-serif;font-weight:500;margin-top:4px;padding:4px 10px 0}.twoslash-tag-line+.twoslash-tag-line{margin-top:-.2em}.twoslash-query-persisted .twoslash-popup-info{z-index:9;transform:translateY(1.5em)}.twoslash-hover:hover .twoslash-popup-info,.twoslash-query-persisted .twoslash-popup-info{opacity:1;pointer-events:auto}.twoslash-popup-info:hover,.twoslash-popup-info-hover:hover{-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.twoslash-error-line{position:relative;background-color:var(--vocs-twoslash_errorBackground);border-left:2px solid var(--vocs-twoslash_errorColor);color:var(--vocs-twoslash_errorColor);margin:.2em 0}.twoslash-error{background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'%23c94824'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") repeat-x bottom left;padding-bottom:2px}.twoslash-completion-cursor{position:relative}.twoslash-completion-cursor .twoslash-completion-list{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute;top:0;left:0;transform:translateY(1.2em);margin:3px 0 0 -1px;z-index:8;box-shadow:var(--vocs-twoslash_popupShadow);background:var(--vocs-twoslash_popupBackground);border:1px solid var(--vocs-twoslash_borderColor)}.twoslash-completion-list{border-radius:4px;font-size:.8rem;padding:4px;display:flex;flex-direction:column;gap:4px;width:240px}.twoslash-completion-list:hover{-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.twoslash-completion-list:before{content:" ";background-color:var(--vocs-twoslash_cursorColor);width:2px;position:absolute;top:-1.6em;height:1.4em;left:-1px}.twoslash-completion-list .twoslash-completion-list-item{overflow:hidden;display:flex;align-items:center;gap:.5em;line-height:1em}.twoslash-completion-list .twoslash-completion-list-item span.twoslash-completions-unmatched.twoslash-completions-unmatched.twoslash-completions-unmatched{color:var(--vocs-twoslash_unmatchedColor)!important}.twoslash-completion-list .deprecated{text-decoration:line-through;opacity:.5}.twoslash-completion-list .twoslash-completion-list-item span.twoslash-completions-matched.twoslash-completions-unmatched.twoslash-completions-unmatched{color:var(--vocs-twoslash_matchedColor)!important}.twoslash-tag-line{position:relative;background-color:var(--vocs-twoslash_tagBackground);border-left:2px solid var(--vocs-twoslash_tagColor);color:var(--vocs-twoslash_tagColor);margin:.2em 0;display:flex;align-items:center;gap:.3em}.twoslash-tag-line+.line[data-empty-line]+.twoslash-tag-line{margin-top:-1.95em}.twoslash-tag-line .twoslash-tag-icon{width:1.1em;color:inherit}.twoslash-tag-line.twoslash-tag-error-line{background-color:var(--vocs-twoslash_errorBackground);border-left:2px solid var(--vocs-twoslash_errorColor);color:var(--vocs-twoslash_errorColor)}.twoslash-tag-line.twoslash-tag-warn-line{background-color:var(--vocs-twoslash_tagWarnBackground);border-left:2px solid var(--vocs-twoslash_tagWarnColor);color:var(--vocs-twoslash_tagWarnColor)}.twoslash-tag-line.twoslash-tag-annotate-line{background-color:var(--vocs-twoslash_tagAnnotateBackground);border-left:2px solid var(--vocs-twoslash_tagAnnotateColor);color:var(--vocs-twoslash_tagAnnotateColor)}.twoslash-highlighted{border-radius:var(--vocs-borderRadius_2);background-color:var(--vocs-color_codeCharacterHighlightBackground)!important;box-shadow:0 0 0 4px var(--vocs-color_codeCharacterHighlightBackground)}@media (prefers-reduced-motion: reduce){.twoslash *{transition:none!important}}.vocs_ExternalLink:after{content:"";background-color:currentColor;color:var(--vocs_ExternalLink_arrowColor);display:inline-block;height:.5em;margin-left:.325em;margin-right:.25em;width:.5em;-webkit-mask:var(--vocs_ExternalLink_iconUrl) no-repeat center / contain;mask:var(--vocs_ExternalLink_iconUrl) no-repeat center / contain}.vocs_Link_accent_underlined{color:var(--vocs-color_link);font-weight:var(--vocs-fontWeight_medium);text-underline-offset:var(--vocs-space_2);text-decoration:underline;transition:color .1s}.vocs_Link_accent_underlined:hover{color:var(--vocs-color_linkHover)}.vocs_Link_styleless{--vocs_ExternalLink_arrowColor: var(--vocs-color_text3)}.vocs_NotFound{align-items:center;display:flex;flex-direction:column;max-width:400px;margin:0 auto;padding-top:var(--vocs-space_64)}.vocs_NotFound_divider{border-color:var(--vocs-color_border);width:50%}.vocs_H1{font-size:var(--vocs-fontSize_h1);letter-spacing:-.02em}.vocs_Heading{align-items:center;color:var(--vocs-color_heading);font-weight:var(--vocs-fontWeight_semibold);gap:.25em;line-height:var(--vocs-lineHeight_heading);position:relative}.vocs_Heading_slugTarget{position:absolute;top:0;visibility:hidden}@media screen and (min-width: 1081px){.vocs_Heading_slugTarget{top:calc(-1 * (var(--vocs-topNav_height)))}.vocs_Header .vocs_Heading_slugTarget,.vocs_Step_title .vocs_Heading_slugTarget,.vocs_Header+.vocs_Heading .vocs_Heading_slugTarget{top:calc(-1 * (var(--vocs-topNav_height) + var(--vocs-space_24)))}}@media screen and (max-width: 1080px){.vocs_Heading_slugTarget{top:calc(-1 * var(--vocs-topNav_curtainHeight))}.vocs_Header .vocs_Heading_slugTarget,.vocs_Header+.vocs_Heading .vocs_Heading_slugTarget{top:calc(-1 * calc(var(--vocs-topNav_curtainHeight) + var(--vocs-space_24)))}}.vocs_Blockquote{border-left:2px solid var(--vocs-color_blockquoteBorder);padding-left:var(--vocs-space_16);margin-bottom:var(--vocs-space_16)}.vocs_H2+.vocs_List,.vocs_H3+.vocs_List,.vocs_H4+.vocs_List,.vocs_H5+.vocs_List,.vocs_H6+.vocs_List{margin-top:calc(var(--vocs-space_8) * -1)}.vocs_Paragraph+.vocs_List{margin-top:calc(-1 * var(--vocs-space_8))}.vocs_List_ordered{list-style:decimal;padding-left:var(--vocs-space_20);margin-bottom:var(--vocs-space_16)}.vocs_List_ordered .vocs_List_ordered{list-style:lower-alpha}.vocs_List_ordered .vocs_List_ordered .vocs_List_ordered{list-style:lower-roman}.vocs_List_unordered{list-style:disc;padding-left:var(--vocs-space_24);margin-bottom:var(--vocs-space_16)}.vocs_List_unordered .vocs_List_unordered{list-style:circle}.vocs_List_ordered .vocs_List_ordered,.vocs_List_unordered .vocs_List_unordered,.vocs_List_ordered .vocs_List_unordered,.vocs_List_unordered .vocs_List_ordered{margin-bottom:var(--vocs-space_0);padding-top:var(--vocs-space_8);padding-left:var(--vocs-space_16);padding-bottom:var(--vocs-space_0)}.vocs_List_unordered.contains-task-list{list-style:none;padding-left:var(--vocs-space_12)}.vocs_Paragraph{line-height:var(--vocs-lineHeight_paragraph)}.vocs_Blockquote>.vocs_Paragraph{color:var(--vocs-color_blockquoteText);margin-bottom:var(--vocs-space_8)}.vocs_H2+.vocs_Paragraph,.vocs_H3+.vocs_Paragraph,.vocs_H4+.vocs_Paragraph,.vocs_H5+.vocs_Paragraph,.vocs_H6+.vocs_Paragraph,.vocs_List+.vocs_Paragraph{margin-top:calc(var(--vocs-space_8) * -1)}.vocs_Paragraph+.vocs_Paragraph{margin-top:calc(-1 * var(--vocs-space_8))}:root:not(.dark) .vocs_utils_visibleDark{display:none}:root.dark .vocs_utils_visibleLight{display:none}.vocs_utils_visuallyHidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.vocs_DesktopSearch_search{align-items:center;background-color:var(--vocs-color_backgroundDark);border:1px solid var(--vocs-color_backgroundDark);border-radius:var(--vocs-borderRadius_8);color:var(--vocs-color_text2);display:flex;font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_medium);gap:var(--vocs-space_6);height:var(--vocs-space_40);max-width:15.5rem;padding-left:var(--vocs-space_12);padding-right:var(--vocs-space_12);position:relative;width:100%;transition:color .1s,border-color .1s}.vocs_DesktopSearch_search:hover{color:var(--vocs-color_text);border-color:var(--vocs-color_text3)}.vocs_DesktopSearch_searchCommand{align-items:center;border:1.5px solid var(--vocs-color_text3);border-radius:var(--vocs-borderRadius_4);color:var(--vocs-color_text3);display:flex;height:var(--vocs-space_12);justify-content:center;margin-left:auto;margin-top:var(--vocs-space_1);padding:var(--vocs-space_1);width:var(--vocs-space_12)}.vocs_Kbd{color:var(--vocs-color_text2);display:inline-block;border-radius:var(--vocs-borderRadius_3);font-size:var(--vocs-fontSize_11);font-family:var(--vocs-fontFamily_default);font-feature-settings:cv08;line-height:105%;min-width:20px;padding:var(--vocs-space_3);padding-left:var(--vocs-space_4);padding-right:var(--vocs-space_4);padding-top:var(--vocs-space_3);text-align:center;text-transform:capitalize;vertical-align:baseline;border:.5px solid var(--vocs-color_border);background-color:var(--vocs-color_background3);box-shadow:var(--vocs-color_shadow2) 0 2px 0 0}.vocs_KeyboardShortcut{align-items:center;display:inline-flex;gap:var(--vocs-space_6);font-size:var(--vocs-fontSize_12)}.vocs_KeyboardShortcut_kbdGroup{align-items:center;display:inline-flex;gap:var(--vocs-space_3)}@media screen and (max-width: 720px){.vocs_KeyboardShortcut{display:none}}@keyframes vocs_SearchDialog_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes vocs_SearchDialog_fadeAndSlideIn{0%{opacity:0;transform:translate(-50%,-5%) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}.vocs_SearchDialog{animation:vocs_SearchDialog_fadeAndSlideIn .1s ease-in-out;background:var(--vocs-color_background);border-radius:var(--vocs-borderRadius_6);display:flex;flex-direction:column;gap:var(--vocs-space_8);height:-moz-min-content;height:min-content;left:50%;margin:64px auto;max-height:min(100vh - 128px,900px);padding:var(--vocs-space_12);padding-bottom:var(--vocs-space_8);position:fixed;top:0;transform:translate(-50%);width:min(100vw - 60px,775px);z-index:var(--vocs-zIndex_backdrop)}.vocs_SearchDialog_overlay{animation:vocs_SearchDialog_fadeIn .1s ease-in-out;background:#0009;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vocs-zIndex_backdrop)}.vocs_SearchDialog_searchBox{align-items:center;border:1px solid var(--vocs-color_border);border-radius:var(--vocs-borderRadius_4);display:flex;gap:var(--vocs-space_8);padding-left:var(--vocs-space_8);padding-right:var(--vocs-space_8);margin-bottom:var(--vocs-space_8);width:100%}.vocs_SearchDialog_searchBox:focus-within{border-color:var(--vocs-color_borderAccent)}.vocs_SearchDialog_searchInput{background:transparent;display:flex;font-size:var(--vocs-fontSize_16);height:var(--vocs-space_40);width:100%}.vocs_SearchDialog_searchInput:focus{outline:none}.vocs_SearchDialog_searchInput::-moz-placeholder{color:var(--vocs-color_text4)}.vocs_SearchDialog_searchInput::placeholder{color:var(--vocs-color_text4)}.vocs_SearchDialog_searchInputIcon{color:var(--vocs-color_text3)}.vocs_SearchDialog_searchInputIconMobile{display:none}.vocs_SearchDialog_results{display:flex;flex-direction:column;gap:var(--vocs-space_8);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;width:100%}.vocs_SearchDialog_result{border:1.5px solid var(--vocs-color_border);border-radius:var(--vocs-borderRadius_4);width:100%}.vocs_SearchDialog_result:focus-within{border-color:var(--vocs-color_borderAccent)}.vocs_SearchDialog_result>a{display:flex;flex-direction:column;gap:var(--vocs-space_8);min-height:var(--vocs-space_36);outline:none;justify-content:center;padding:var(--vocs-space_12);width:100%}.vocs_SearchDialog_resultSelected{border-color:var(--vocs-color_borderAccent)}.vocs_SearchDialog_resultIcon{color:var(--vocs-color_textAccent);margin-right:1px;width:15px}.vocs_SearchDialog_titles{align-items:center;display:flex;flex-wrap:wrap;font-weight:var(--vocs-fontWeight_medium);gap:var(--vocs-space_4);line-height:22px}.vocs_SearchDialog_title{align-items:center;display:flex;gap:var(--vocs-space_4);white-space:nowrap}.vocs_SearchDialog_titleIcon{color:var(--vocs-color_text);display:inline-block;opacity:.5}.vocs_SearchDialog_resultSelected .vocs_SearchDialog_title,.vocs_SearchDialog_resultSelected .vocs_SearchDialog_titleIcon{color:var(--vocs-color_textAccent)}.vocs_SearchDialog_content{padding:0}.vocs_SearchDialog_excerpt{max-height:8.75rem;overflow:hidden;opacity:.5;position:relative}.vocs_SearchDialog_excerpt:before{content:"";position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vocs-color_background),transparent);z-index:1000}.vocs_SearchDialog_excerpt:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:12px;background:linear-gradient(transparent,var(--vocs-color_background));z-index:1000}.vocs_SearchDialog_title mark,.vocs_SearchDialog_excerpt mark{background-color:var(--vocs-color_searchHighlightBackground);color:var(--vocs-color_searchHighlightText);border-radius:var(--vocs-borderRadius_2);padding-bottom:0;padding-left:var(--vocs-space_2);padding-right:var(--vocs-space_2);padding-top:0}.vocs_SearchDialog_resultSelected .vocs_SearchDialog_excerpt{opacity:1}.vocs_SearchDialog_searchShortcuts{align-items:center;color:var(--vocs-color_text2);display:flex;gap:var(--vocs-space_20);font-size:var(--vocs-fontSize_14)}.vocs_SearchDialog_searchShortcutsGroup{align-items:center;display:inline-flex;gap:var(--vocs-space_3);margin-right:var(--vocs-space_6)}@media screen and (max-width: 720px){.vocs_SearchDialog{border-radius:0;height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:0;max-height:unset;width:100vw}.vocs_SearchDialog_searchInputIconDesktop{display:none}.vocs_SearchDialog_searchInputIconMobile{display:block}.vocs_SearchDialog_excerpt{opacity:1}.vocs_SearchDialog_searchShortcuts{display:none}}.vocs_DesktopTopNav{align-items:center;display:flex;justify-content:space-between;padding:0 var(--vocs-topNav_horizontalPadding);height:var(--vocs-topNav_height)}.vocs_DesktopTopNav_withLogo{padding-left:calc(((100% - var(--vocs-content_width)) / 2) + var(--vocs-topNav_horizontalPadding))}.vocs_DesktopTopNav_button{border-radius:var(--vocs-borderRadius_4);padding:var(--vocs-space_8)}.vocs_DesktopTopNav_content{right:calc(-1 * var(--vocs-space_24))}.vocs_DesktopTopNav_curtain{background:linear-gradient(var(--vocs-color_background),transparent 70%);height:30px;opacity:.98;width:100%}.vocs_DesktopTopNav_divider{background-color:var(--vocs-color_border);height:35%;width:1px}.vocs_DesktopTopNav_group{align-items:center;display:flex}.vocs_DesktopTopNav_icon{color:var(--vocs-color_text2);transition:color .1s}.vocs_DesktopTopNav_button:hover .vocs_DesktopTopNav_icon{color:var(--vocs-color_text)}.vocs_DesktopTopNav_item{align-items:center;display:flex;height:100%;position:relative}.vocs_DesktopTopNav_logo{padding-left:var(--vocs-sidebar_horizontalPadding);padding-right:var(--vocs-sidebar_horizontalPadding);width:var(--vocs-sidebar_width)}.vocs_DesktopTopNav_logoWrapper{display:flex;height:100%;justify-content:flex-end;left:0;position:absolute;width:var(--vocs_DocsLayout_leftGutterWidth)}.vocs_DesktopTopNav_section{align-items:center;display:flex;height:100%;gap:var(--vocs-space_24)}@media screen and (max-width: 1080px){.vocs_DesktopTopNav,.vocs_DesktopTopNav_curtain{display:none}}@media screen and (max-width: 1280px){.vocs_DesktopTopNav_hideCompact{display:none}}.vocs_Icon{align-items:center;display:flex;height:var(--vocs_Icon_size);width:var(--vocs_Icon_size)}:root:not(.dark) .vocs_Logo_logoDark{display:none}:root.dark .vocs_Logo_logoLight{display:none}.vocs_NavLogo_logoImage{height:50%;width:auto}.vocs_NavLogo_title{font-size:var(--vocs-fontSize_18);font-weight:var(--vocs-fontWeight_semibold);line-height:var(--vocs-lineHeight_heading)}@keyframes vocs_NavigationMenu_fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.vocs_NavigationMenu_list{display:flex;gap:var(--vocs-space_20)}.vocs_NavigationMenu_link{align-items:center;display:flex;font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_medium);height:100%}.vocs_NavigationMenu_link:hover,.vocs_NavigationMenu_link[data-active=true]{color:var(--vocs-color_textAccent)}.vocs_NavigationMenu_trigger:after{content:"";background-color:currentColor;color:var(--vocs-color_text3);display:inline-block;height:.625em;margin-left:.325em;width:.625em;-webkit-mask:var(--vocs_NavigationMenu_chevronDownIcon) no-repeat center / contain;mask:var(--vocs_NavigationMenu_chevronDownIcon) no-repeat center / contain}.vocs_NavigationMenu_content{background-color:var(--vocs-color_background2);border:1px solid var(--vocs-color_border);border-radius:var(--vocs-borderRadius_4);box-shadow:0 3px 10px var(--vocs-color_shadow);display:flex;flex-direction:column;padding:var(--vocs-space_12) var(--vocs-space_16);position:absolute;top:calc(100% + var(--vocs-space_8));min-width:200px;z-index:var(--vocs-zIndex_popover);animation:vocs_NavigationMenu_fadeIn .5s cubic-bezier(.16,1,.3,1)}.vocs_Footer{--vocs_Footer_iconWidth: 24px;display:flex;flex-direction:column;gap:var(--vocs-space_32);max-width:var(--vocs-content_width);overflow-x:hidden;padding:var(--vocs-space_28) var(--vocs-content_horizontalPadding) var(--vocs-space_48)}.vocs_Footer_container{border-bottom:1px solid var(--vocs-color_border);display:flex;justify-content:space-between;padding-bottom:var(--vocs-space_16)}.vocs_Footer_editLink{align-items:center;display:flex;font-size:var(--vocs-fontSize_14);gap:var(--vocs-space_8);text-decoration:none}.vocs_Footer_lastUpdated{color:var(--vocs-color_text3);font-size:var(--vocs-fontSize_14)}.vocs_Footer_navigation{display:flex;justify-content:space-between}.vocs_Footer_navigationIcon{width:var(--vocs_Footer_iconWidth)}.vocs_Footer_navigationIcon_left{display:flex}.vocs_Footer_navigationIcon_right{display:flex;justify-content:flex-end}.vocs_Footer_navigationItem{display:flex;flex-direction:column;gap:var(--vocs-space_4)}.vocs_Footer_navigationItem_right{align-items:flex-end}.vocs_Footer_navigationText{align-items:center;display:flex;font-size:var(--vocs-fontSize_18);font-weight:var(--vocs-fontWeight_medium)}.vocs_Footer_navigationTextInner{overflow:hidden;text-overflow:ellipsis;width:26ch;white-space:pre}@media screen and (max-width: 720px){.vocs_Footer_navigationIcon_left,.vocs_Footer_navigationIcon_right{justify-content:center}.vocs_Footer_navigationText{font-size:var(--vocs-fontSize_12)}}@media screen and (max-width: 480px){.vocs_Footer_navigationTextInner{width:20ch}}.vocs_MobileSearch_searchButton{align-items:center;display:flex;color:var(--vocs-color_text);height:var(--vocs-space_28);justify-content:center;width:var(--vocs-space_28)}@keyframes vocs_MobileTopNav_fadeIn{0%{opacity:0}to{opacity:1}}.vocs_MobileTopNav{align-items:center;background-color:var(--vocs-color_backgroundDark);border-bottom:1px solid var(--vocs-color_border);display:none;height:100%;justify-content:space-between;padding:var(--vocs-space_0) var(--vocs-content_horizontalPadding);width:100%}.vocs_MobileTopNav_button{border-radius:var(--vocs-borderRadius_4);padding:var(--vocs-space_8)}.vocs_MobileTopNav_content{left:calc(-1 * var(--vocs-space_24))}.vocs_MobileTopNav_curtain{align-items:center;background-color:var(--vocs-color_backgroundDark);border-bottom:1px solid var(--vocs-color_border);display:none;justify-content:space-between;font-size:var(--vocs-fontSize_13);font-weight:var(--vocs-fontWeight_medium);height:100%;padding:var(--vocs-space_0) var(--vocs-content_horizontalPadding);width:100%}.vocs_MobileTopNav_curtainGroup{align-items:center;display:flex;gap:var(--vocs-space_12)}.vocs_MobileTopNav_divider{background-color:var(--vocs-color_border);height:35%;width:1px}.vocs_MobileTopNav_group{align-items:center;display:flex;height:100%}.vocs_MobileTopNav_icon{color:var(--vocs-color_text2);transition:color .1s}.vocs_MobileTopNav_button:hover .vocs_MobileTopNav_icon{color:var(--vocs-color_text)}.vocs_MobileTopNav_item{position:relative}.vocs_MobileTopNav_logo{align-items:center;display:flex;height:var(--vocs-topNav_height)}.vocs_MobileTopNav_logoImage{height:30%}.vocs_MobileTopNav_menuTrigger{align-items:center;display:flex;gap:var(--vocs-space_8)}.vocs_MobileTopNav_menuTitle{max-width:22ch;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:pre}.vocs_MobileTopNav_navigation{margin-left:var(--vocs-space_8)}.vocs_MobileTopNav_navigationContent{display:flex;flex-direction:column;margin-left:var(--vocs-space_8)}.vocs_MobileTopNav_navigationItem{align-items:center;display:flex;justify-content:flex-start;font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_medium);width:100%}.vocs_MobileTopNav_navigationItem:hover,.vocs_MobileTopNav_navigationItem[data-active=true],.vocs_MobileTopNav_navigationItem[data-state=open]{color:var(--vocs-color_textAccent)}.vocs_MobileTopNav_trigger:after{content:"";background-color:currentColor;display:inline-block;height:.625em;margin-left:.325em;width:.625em;-webkit-mask:var(--vocs_MobileTopNav_chevronDownIcon) no-repeat center / contain;mask:var(--vocs_MobileTopNav_chevronDownIcon) no-repeat center / contain}.vocs_MobileTopNav_trigger[data-state=open]:after{-webkit-mask:var(--vocs_MobileTopNav_chevronUpIcon) no-repeat center / contain;mask:var(--vocs_MobileTopNav_chevronUpIcon) no-repeat center / contain}.vocs_MobileTopNav_outlineTrigger{animation:vocs_MobileTopNav_fadeIn .5s cubic-bezier(.16,1,.3,1);align-items:center;color:var(--vocs-color_text2);display:flex;gap:var(--vocs-space_6)}.vocs_MobileTopNav_outlineTrigger[data-state=open]{color:var(--vocs-color_textAccent)}.vocs_MobileTopNav_outlinePopover{display:none;overflow-y:scroll;padding:var(--vocs-space_16);max-height:80vh}.vocs_MobileTopNav_section{align-items:center;display:flex;height:100%;gap:var(--vocs-space_16)}.vocs_MobileTopNav_separator{background-color:var(--vocs-color_border);height:1.75em;width:1px}.vocs_MobileTopNav_sidebarPopover{display:none;overflow-y:scroll;padding:0 var(--vocs-sidebar_horizontalPadding);max-height:80vh;width:var(--vocs-sidebar_width)}.vocs_MobileTopNav_title{font-size:var(--vocs-fontSize_18);font-weight:var(--vocs-fontWeight_semibold);line-height:var(--vocs-lineHeight_heading)}.vocs_MobileTopNav_topNavPopover{display:none;overflow-y:scroll;padding:var(--vocs-sidebar_verticalPadding) var(--vocs-sidebar_horizontalPadding);max-height:80vh;width:var(--vocs-sidebar_width)}@media screen and (max-width: 1080px){.vocs_MobileTopNav,.vocs_MobileTopNav_curtain{display:flex}.vocs_MobileTopNav_outlinePopover{display:block;max-width:300px}.vocs_MobileTopNav_sidebarPopover{display:block}.vocs_MobileTopNav_topNavPopover{display:flex;flex-direction:column}}@media screen and (max-width: 720px){.vocs_MobileTopNav_navigation:not(.vocs_MobileTopNav_navigation_compact){display:none}}@media screen and (min-width: 721px){.vocs_MobileTopNav_navigation.vocs_MobileTopNav_navigation_compact{display:none}}.vocs_Outline{width:100%}.vocs_Outline_nav{display:flex;flex-direction:column;gap:var(--vocs-space_8)}.vocs_DocsLayout_gutterRight .vocs_Outline_nav{border-left:1px solid var(--vocs-color_border);padding-left:var(--vocs-space_16)}.vocs_Outline_heading{color:var(--vocs-color_title);font-size:var(--vocs-fontSize_13);font-weight:var(--vocs-fontWeight_semibold);line-height:var(--vocs-lineHeight_heading);letter-spacing:.025em}.vocs_Outline_items .vocs_Outline_items{padding-left:var(--vocs-space_12)}.vocs_Outline_item{line-height:var(--vocs-lineHeight_outlineItem);margin-bottom:var(--vocs-space_8);overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.vocs_Outline_link{color:var(--vocs-color_text2);font-weight:var(--vocs-fontWeight_medium);font-size:var(--vocs-fontSize_13);transition:color .1s}.vocs_Outline_link[data-active=true]{color:var(--vocs-color_textAccent)}.vocs_Outline_link[data-active=true]:hover{color:var(--vocs-color_textAccentHover)}.vocs_Outline_link:hover{color:var(--vocs-color_text)}.vocs_Popover{background-color:var(--vocs-color_background2);border:1px solid var(--vocs-color_border);border-radius:var(--vocs-borderRadius_4);margin:0 var(--vocs-space_6);z-index:var(--vocs-zIndex_popover)}.vocs_Sidebar{display:flex;flex-direction:column;font-size:var(--vocs-fontSize_14);overflow-y:auto;width:var(--vocs-sidebar_width)}.vocs_Sidebar_backLink{text-align:left}.vocs_Sidebar_divider{background-color:var(--vocs-color_border);width:100%;height:1px}.vocs_Sidebar_navigation{outline:0}.vocs_Sidebar_navigation:first-child{padding-top:var(--vocs-space_16)}.vocs_Sidebar_group{display:flex;flex-direction:column}.vocs_Sidebar_logo{align-items:center;display:flex;height:var(--vocs-topNav_height);padding-top:var(--vocs-space_4)}.vocs_Sidebar_logoWrapper{background-color:var(--vocs-color_backgroundDark);position:sticky;top:0;z-index:var(--vocs-zIndex_gutterTopCurtain)}.vocs_Sidebar_section{display:flex;flex-direction:column;font-size:1em}.vocs_Sidebar_navigation>.vocs_Sidebar_group>.vocs_Sidebar_section+.vocs_Sidebar_section{border-top:1px solid var(--vocs-color_border)}.vocs_Sidebar_levelCollapsed{gap:var(--vocs-space_4);padding-bottom:var(--vocs-space_12)}.vocs_Sidebar_levelInset{border-left:1px solid var(--vocs-color_border);font-size:var(--vocs-fontSize_13);margin-top:var(--vocs-space_8);padding-left:var(--vocs-space_12)}.vocs_Sidebar_levelInset.vocs_Sidebar_levelInset.vocs_Sidebar_levelInset{font-weight:var(--vocs-fontWeight_regular);padding-top:0;padding-bottom:0}.vocs_Sidebar_items{display:flex;flex-direction:column;gap:.625em;padding-top:var(--vocs-space_16);padding-bottom:var(--vocs-space_16);font-weight:var(--vocs-fontWeight_medium)}.vocs_Sidebar_level .vocs_Sidebar_items{padding-top:var(--vocs-space_6)}.vocs_Sidebar_item{color:var(--vocs-color_text3);letter-spacing:.25px;line-height:var(--vocs-lineHeight_sidebarItem);width:100%;transition:color .1s}.vocs_Sidebar_item:hover{color:var(--vocs-color_text)}.vocs_Sidebar_item[data-active=true]{color:var(--vocs-color_textAccent)}.vocs_Sidebar_sectionHeader{align-items:center;display:flex;justify-content:space-between}.vocs_Sidebar_level>.vocs_Sidebar_sectionHeader{padding-top:var(--vocs-space_12)}.vocs_Sidebar_sectionHeaderActive{color:var(--vocs-color_text)}.vocs_Sidebar_sectionTitle{color:var(--vocs-color_title);font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_semibold);letter-spacing:.25px;width:100%}.vocs_Sidebar_sectionCollapse{color:var(--vocs-color_text3);transform:rotate(90deg);transition:transform .25s}.vocs_Sidebar_sectionCollapseActive{transform:rotate(0)}@media screen and (max-width: 1080px){.vocs_Sidebar{width:100%}.vocs_Sidebar_logoWrapper{display:none}}.vocs_SkipLink{background:var(--vocs-color_background);border-radius:var(--vocs-borderRadius_4);color:var(--vocs-color_link);font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_semibold);left:var(--vocs-space_8);padding:var(--vocs-space_8) var(--vocs-space_16);position:fixed;text-decoration:none;top:var(--vocs-space_8);z-index:999}.vocs_SkipLink:focus{clip:auto;clip-path:none;height:auto;width:auto}@layer vocs_preflight{*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }}.mb-4{margin-bottom:1rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.w-full{width:100%}.max-w-5xl{max-width:64rem}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.rounded{border-radius:.25rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-\[--vocs-color_codeInlineBorder\]{border-color:var(--vocs-color_codeInlineBorder)}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.bg-\[--vocs-color_codeBlockBackground\]{background-color:var(--vocs-color_codeBlockBackground)}.bg-\[--vocs-color_codeTitleBackground\]{background-color:var(--vocs-color_codeTitleBackground)}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.text-left{text-align:left}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-\[--vocs-color_heading\]{color:var(--vocs-color_heading)}.text-\[--vocs-color_text3\]{color:var(--vocs-color_text3)}.hover\:text-\[--vocs-color_text\]:hover{color:var(--vocs-color_text)}@media (min-width: 768px){.md\:flex-row{flex-direction:row}}.\[\&\[data-state\=\'active\'\]\]\:border-\[--vocs-color_borderAccent\][data-state=active]{border-color:var(--vocs-color_borderAccent)}.\[\&\[data-state\=\'active\'\]\]\:text-\[--vocs-color_text\][data-state=active]{color:var(--vocs-color_text)}.vocs_Section{border-top:1px solid var(--vocs-color_border);margin-top:var(--vocs-space_56);padding-top:var(--vocs-space_24)}.vocs_Anchor{color:var(--vocs-color_link);font-weight:var(--vocs-fontWeight_medium);text-underline-offset:var(--vocs-space_2);text-decoration:underline;transition:color .1s}.vocs_Callout_danger .vocs_Anchor{color:var(--vocs-color_dangerText)}.vocs_Callout_danger .vocs_Anchor:hover{color:var(--vocs-color_dangerTextHover)}.vocs_Callout_info .vocs_Anchor{color:var(--vocs-color_infoText)}.vocs_Callout_info .vocs_Anchor:hover{color:var(--vocs-color_infoTextHover)}.vocs_Callout_success .vocs_Anchor{color:var(--vocs-color_successText)}.vocs_Callout_success .vocs_Anchor:hover{color:var(--vocs-color_successTextHover)}.vocs_Callout_tip .vocs_Anchor{color:var(--vocs-color_tipText)}.vocs_Callout_tip .vocs_Anchor:hover{color:var(--vocs-color_tipTextHover)}.vocs_Callout_warning .vocs_Anchor{color:var(--vocs-color_warningText)}.vocs_Callout_warning .vocs_Anchor:hover{color:var(--vocs-color_warningTextHover)}.vocs_Anchor:hover{color:var(--vocs-color_linkHover)}.vocs_Section a.data-footnote-backref{color:var(--vocs-color_link);font-weight:var(--vocs-fontWeight_medium);text-underline-offset:var(--vocs-space_2);text-decoration:underline}.vocs_Section a.data-footnote-backref:hover{color:var(--vocs-color_linkHover)}.vocs_Autolink{opacity:0;margin-top:.1em;position:absolute;transition:opacity .1s,transform .1s;transform:translate(-2px) scale(.98)}.vocs_Heading:hover .vocs_Autolink{opacity:1;transform:translate(0) scale(1)}.vocs_Pre_wrapper{position:relative}.vocs_Code{transition:color .1s}:not(.vocs_Pre)>.vocs_Code{background-color:var(--vocs-color_codeInlineBackground);border:1px solid var(--vocs-color_codeInlineBorder);border-radius:var(--vocs-borderRadius_4);color:var(--vocs-color_codeInlineText);font-size:var(--vocs-fontSize_code);padding:var(--vocs-space_3) var(--vocs-space_6)}.vocs_Anchor>.vocs_Code{color:var(--vocs-color_link);text-decoration:underline;text-underline-offset:var(--vocs-space_2)}.vocs_Anchor:hover>.vocs_Code{color:var(--vocs-color_linkHover)}.vocs_Callout_danger .vocs_Code{color:var(--vocs-color_dangerText)}.vocs_Callout_info .vocs_Code{color:var(--vocs-color_infoText)}.vocs_Callout_success .vocs_Code{color:var(--vocs-color_successText)}.vocs_Callout_tip .vocs_Code{color:var(--vocs-color_tipText)}.vocs_Callout_warning .vocs_Code{color:var(--vocs-color_warningText)}.vocs_Heading .vocs_Code{color:inherit}.twoslash-popup-info-hover>.vocs_Code{background-color:inherit;padding:0;text-wrap:wrap}.twoslash-popup-jsdoc .vocs_Code{display:inline}.vocs_Authors{color:var(--vocs-color_text3);font-size:var(--vocs-fontSize_14)}.vocs_Authors_authors{color:var(--vocs-color_text)}.vocs_Authors_link{text-decoration:underline;text-underline-offset:2px}.vocs_Authors_link:hover{color:var(--vocs-color_text2)}.vocs_Authors_separator{color:var(--vocs-color_text3)}.vocs_BlogPosts{display:flex;flex-direction:column;gap:var(--vocs-space_32)}.vocs_BlogPosts_description{margin-top:var(--vocs-space_16)}.vocs_BlogPosts_divider{border-color:var(--vocs-color_background4)}.vocs_BlogPosts_post:hover .vocs_BlogPosts_readMore{color:var(--vocs-color_textAccent)}.vocs_BlogPosts_title{font-size:var(--vocs-fontSize_h2);font-weight:var(--vocs-fontWeight_semibold)}.vocs_Sponsors{border-radius:var(--vocs-borderRadius_8);display:flex;flex-direction:column;gap:var(--vocs-space_4);overflow:hidden}.vocs_Sponsors_title{background-color:var(--vocs-color_background3);color:var(--vocs-color_text3);font-size:var(--vocs-fontSize_13);font-weight:var(--vocs-fontWeight_medium);padding:var(--vocs-space_4) 0;text-align:center}.vocs_Sponsors_row{display:flex;flex-direction:row;gap:var(--vocs-space_4)}.vocs_Sponsors_column{align-items:center;background-color:var(--vocs-color_background3);display:flex;justify-content:center;padding:var(--vocs-space_32);width:calc(var(--vocs_Sponsors_columns) * 100%)}.vocs_Sponsors_sponsor{transition:background-color .1s}.vocs_Sponsors_sponsor:hover{background-color:var(--vocs-color_background5)}.dark .vocs_Sponsors_sponsor:hover{background-color:var(--vocs-color_white)}.vocs_Sponsors_image{filter:grayscale(1);height:var(--vocs_Sponsors_height);transition:filter .1s}.dark .vocs_Sponsors_image{filter:grayscale(1) invert(1)}.vocs_Sponsors_column:hover .vocs_Sponsors_image{filter:none}.vocs_AutolinkIcon{background-color:var(--vocs-color_textAccent);display:inline-block;margin-left:.25em;height:.8em;width:.8em;-webkit-mask:var(--vocs_AutolinkIcon_iconUrl) no-repeat center / contain;mask:var(--vocs_AutolinkIcon_iconUrl) no-repeat center / contain;transition:background-color .1s}.vocs_Autolink:hover .vocs_AutolinkIcon{background-color:var(--vocs-color_textAccentHover)}@media screen and (max-width: 720px){.vocs_CodeGroup{border-radius:0;border-right:none;border-left:none;margin-left:calc(-1 * var(--vocs-space_16));margin-right:calc(-1 * var(--vocs-space_16))}}.vocs_Steps{border-left:1.5px solid var(--vocs-color_border);counter-reset:step;padding-left:var(--vocs-space_24);margin-left:var(--vocs-space_12);margin-top:var(--vocs-space_24)}@media screen and (max-width: 720px){.vocs_Steps{margin-left:var(--vocs-space_4)}}.vocs_Subtitle{color:var(--vocs-color_text2);font-size:var(--vocs-fontSize_subtitle);font-weight:var(--vocs-fontWeight_regular);letter-spacing:-.02em;line-height:var(--vocs-lineHeight_heading);margin-top:var(--vocs-space_4);text-wrap:balance}.vocs_HorizontalRule{border-top:1px solid var(--vocs-color_hr);margin-bottom:var(--vocs-space_16)}.vocs_ListItem{line-height:var(--vocs-lineHeight_listItem)}.vocs_ListItem:not(:last-child){margin-bottom:.5em}.vocs_CopyButton{align-items:center;background-color:color-mix(in srgb,var(--vocs-color_background2) 75%,transparent);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border:1px solid var(--vocs-color_border);border-radius:var(--vocs-borderRadius_4);color:var(--vocs-color_text3);display:flex;justify-content:center;position:absolute;right:var(--vocs-space_18);top:var(--vocs-space_18);opacity:0;height:32px;width:32px;transition:background-color .15s,opacity .15s;z-index:var(--vocs-zIndex_surface)}.vocs_CopyButton:hover{background-color:var(--vocs-color_background4);transition:background-color .05s}.vocs_CopyButton:focus-visible{background-color:var(--vocs-color_background4);opacity:1;transition:background-color .05s}.vocs_CopyButton:hover:active{background-color:var(--vocs-color_background2)}.vocs_Pre:hover .vocs_CopyButton{opacity:1}.vocs_CodeTitle{align-items:center;background-color:var(--vocs-color_codeTitleBackground);border-bottom:1px solid var(--vocs-color_border);color:var(--vocs-color_text3);display:flex;font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_medium);gap:var(--vocs-space_6);padding:var(--vocs-space_8) var(--vocs-space_24)}.vocs_CodeGroup .vocs_CodeTitle{display:none}@media screen and (max-width: 720px){.vocs_CodeTitle{border-radius:0;padding-left:var(--vocs-space_16);padding-right:var(--vocs-space_16)}}.vocs_CalloutTitle{font-size:var(--vocs-fontSize_12);letter-spacing:.02em;text-transform:uppercase}.vocs_Strong{font-weight:var(--vocs-fontWeight_semibold)}.vocs_Content>.vocs_Strong{display:block}.vocs_Callout>.vocs_Strong{display:block;margin-bottom:var(--vocs-space_4)}.vocs_Summary{cursor:pointer}.vocs_Summary.vocs_Summary:hover{text-decoration:underline}.vocs_Details[open] .vocs_Summary{margin-bottom:var(--vocs-space_4)}.vocs_Callout .vocs_Summary{font-weight:var(--vocs-fontWeight_medium)}.vocs_Details .vocs_Summary.vocs_Summary{margin-bottom:0}.vocs_Table{display:block;border-collapse:collapse;overflow-x:auto;margin-bottom:var(--vocs-space_24)}.vocs_TableCell{border:1px solid var(--vocs-color_tableBorder);font-size:var(--vocs-fontSize_td);padding:var(--vocs-space_8) var(--vocs-space_12)}.vocs_TableHeader{border:1px solid var(--vocs-color_tableBorder);background-color:var(--vocs-color_tableHeaderBackground);color:var(--vocs-color_tableHeaderText);font-size:var(--vocs-fontSize_th);font-weight:var(--vocs-fontWeight_medium);padding:var(--vocs-space_8) var(--vocs-space_12);text-align:left}.vocs_TableHeader[align=center]{text-align:center}.vocs_TableHeader[align=right]{text-align:right}.vocs_TableRow{border-top:1px solid var(--vocs-color_tableBorder)}.vocs_TableRow:nth-child(2n){background-color:var(--vocs-color_background2)}@media screen and (max-width: 720px){.Tabs__root{border-radius:0;margin-left:calc(-1 * var(--vocs-space_16));margin-right:calc(-1 * var(--vocs-space_16));padding-left:var(--vocs-space_16);padding-right:var(--vocs-space_16)}.Tabs__list{margin-left:calc(-1 * var(--vocs-space_16));margin-right:calc(-1 * var(--vocs-space_16))}}.vocs_Button_button{align-items:center;background:var(--vocs-color_background4);border:1px solid var(--vocs-color_border);border-radius:var(--vocs-borderRadius_4);color:var(--vocs-color_text);display:flex;font-size:var(--vocs-fontSize_14);font-weight:var(--vocs-fontWeight_medium);height:36px;padding:0 var(--vocs-space_16);transition:background .1s;white-space:pre;width:-moz-fit-content;width:fit-content}.vocs_Button_button:hover{background:var(--vocs-color_background3)}.vocs_Button_button_accent{background:var(--vocs-color_backgroundAccent);color:var(--vocs-color_backgroundAccentText);border:1px solid var(--vocs-color_borderAccent)}.vocs_Button_button_accent:hover{background:var(--vocs-color_backgroundAccentHover)}.vocs_HomePage{align-items:center;display:flex;flex-direction:column;padding-top:var(--vocs-space_64);text-align:center;gap:var(--vocs-space_32)}.vocs_HomePage_logo{display:flex;justify-content:center;height:48px}.vocs_HomePage_title{font-size:var(--vocs-fontSize_64);font-weight:var(--vocs-fontWeight_semibold);line-height:1em}.vocs_HomePage_tagline{color:var(--vocs-color_text2);font-size:var(--vocs-fontSize_20);font-weight:var(--vocs-fontWeight_medium);line-height:1.5em}.vocs_HomePage_title+.vocs_HomePage_tagline{margin-top:calc(-1 * var(--vocs-space_8))}.vocs_HomePage_description{color:var(--vocs-color_text);font-size:var(--vocs-fontSize_16);font-weight:var(--vocs-fontWeight_regular);line-height:var(--vocs-lineHeight_paragraph)}.vocs_HomePage_tagline+.vocs_HomePage_description{margin-top:calc(-1 * var(--vocs-space_8))}.vocs_HomePage_buttons{display:flex;gap:var(--vocs-space_16)}.vocs_HomePage_tabs{min-width:300px}.vocs_HomePage_tabsList{display:flex;justify-content:center}.vocs_HomePage_tabsContent{color:var(--vocs-color_text2);font-family:var(--vocs-fontFamily_mono)}.vocs_HomePage_packageManager{color:var(--vocs-color_textAccent)}@media screen and (max-width: 720px){.vocs_HomePage{padding-top:var(--vocs-space_32)}.vocs_HomePage_logo{height:36px}}
diff --git a/assets/typed-CRK0wUYT.js b/assets/typed-CRK0wUYT.js
new file mode 100644
index 00000000..0cdef241
--- /dev/null
+++ b/assets/typed-CRK0wUYT.js
@@ -0,0 +1,45 @@
+import{u as l,j as s}from"./index-DTtoqbmS.js";const a={title:"TypedApi",description:"undefined"};function n(i){const e={a:"a",code:"code",div:"div",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",span:"span",...l(),...i.components};return s.jsxs(s.Fragment,{children:[s.jsx(e.header,{children:s.jsxs(e.h1,{id:"typedapi",children:["TypedApi",s.jsx(e.a,{"aria-hidden":"true",tabIndex:"-1",href:"#typedapi",children:s.jsx(e.div,{"data-autolink-icon":!0})})]})}),`
+`,s.jsxs(e.p,{children:["The ",s.jsx(e.code,{children:"TypedApi"})," allows to interact with the runtime metadata easily and with a great developer experience. It'll allow to make storage calls, create transactions, etc. It uses the descriptors generated by PAPI CLI (see ",s.jsx(e.a,{href:"/codegen",children:"Codegen"})," section for a deeper explanation) to generate the types used at devel time. ",s.jsx(e.code,{children:"TypedApi"})," object looks like:"]}),`
+`,s.jsx(e.pre,{className:"shiki shiki-themes github-light github-dark-dimmed",style:{backgroundColor:"#fff","--shiki-dark-bg":"#22272e",color:"#24292e","--shiki-dark":"#adbac7"},tabIndex:"0",children:s.jsxs(e.code,{children:[s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"type"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" TypedApi"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:" ="}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" {"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" query"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" StorageApi"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" tx"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" TxApi"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" event"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" EvApi"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" apis"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" RuntimeCallsApi"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" constants"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" ConstApi"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#E36209","--shiki-dark":"#F69D50"},children:" runtime"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" RuntimeApi"})]}),`
+`,s.jsx(e.span,{className:"line",children:s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"}"})})]})}),`
+`,s.jsxs(e.p,{children:["Let's start with the simplest one, ",s.jsx(e.code,{children:"runtime"})," field. It's just:"]}),`
+`,s.jsx(e.pre,{className:"shiki shiki-themes github-light github-dark-dimmed",style:{backgroundColor:"#fff","--shiki-dark-bg":"#22272e",color:"#24292e","--shiki-dark":"#adbac7"},tabIndex:"0",children:s.jsxs(e.code,{children:[s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"type"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" RuntimeApi"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:" ="}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Observable"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Runtime"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"> "}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"&"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" {"})]}),`
+`,s.jsxs(e.span,{className:"line",children:[s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#DCBDFB"},children:" latest"}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:":"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:" () "}),s.jsx(e.span,{style:{color:"#D73A49","--shiki-dark":"#F47067"},children:"=>"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:" Promise"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"<"}),s.jsx(e.span,{style:{color:"#6F42C1","--shiki-dark":"#F69D50"},children:"Runtime"}),s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:">"})]}),`
+`,s.jsx(e.span,{className:"line",children:s.jsx(e.span,{style:{color:"#24292E","--shiki-dark":"#ADBAC7"},children:"}"})})]})}),`
+`,s.jsxs(e.p,{children:["It's an observable that holds the current runtime information for that specific client, with a ",s.jsx(e.code,{children:"latest"})," function to be able to wait for the runtime to load (it'll be helpful for some functions that need a ",s.jsx(e.code,{children:"Runtime"}),", see ",s.jsx(e.a,{href:"/recipes/upgrade",children:"this recipe"}),")."]}),`
+`,s.jsxs(e.p,{children:["All the other fields are a ",s.jsx(e.code,{children:"Record