nextclaw 0.45.5 → 0.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/app/index.js +2 -2
- package/dist/cli/launcher/index.js +10 -4
- package/dist/cli/launcher/index.js.map +1 -1
- package/dist/distribution-BAU3XUQJ.js +2 -0
- package/dist/{nextclaw-distribution.utils-C6_UWes0.js → distribution-CND3AWXk.js} +1 -1
- package/dist/distribution-CND3AWXk.js.map +1 -0
- package/dist/{nextclaw-cli-app-Bwa2L2Jv.js → nextclaw-cli-app-wU9aUEKj.js} +767 -74
- package/dist/nextclaw-cli-app-wU9aUEKj.js.map +1 -0
- package/package.json +12 -12
- package/resources/USAGE.md +118 -113
- package/resources/apps/nextclaw-github-issue-watcher/README.md +43 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/Cargo.lock +455 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/Cargo.toml +27 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/src/bindings.rs +11177 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/src/lib.rs +307 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/clocks@0.2.6/monotonic-clock.wit +50 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/clocks@0.2.6/timezone.wit +55 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/clocks@0.2.6/wall-clock.wit +46 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/clocks@0.2.6/world.wit +11 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/config@0.2.0-draft-2024-09-27/package.wit +1 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/config@0.2.0-draft-2024-09-27/store.wit +9 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/http@0.2.6/handler.wit +49 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/http@0.2.6/package.wit +1 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/http@0.2.6/types.wit +688 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/io@0.2.6/error.wit +34 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/io@0.2.6/poll.wit +47 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/io@0.2.6/streams.wit +290 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/io@0.2.6/world.wit +10 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/keyvalue@0.2.0-draft2/store.wit +124 -0
- package/resources/apps/nextclaw-github-issue-watcher/guest/wit/portable-service.wit +56 -0
- package/resources/apps/nextclaw-github-issue-watcher/manifest.json +34 -0
- package/resources/apps/nextclaw-github-issue-watcher/marketplace.json +18 -0
- package/resources/apps/nextclaw-github-issue-watcher/panels/nextclaw-github-issue-watcher-panel.panel/assets/app.js +148 -0
- package/resources/apps/nextclaw-github-issue-watcher/panels/nextclaw-github-issue-watcher-panel.panel/index.html +190 -0
- package/resources/apps/nextclaw-github-issue-watcher/panels/nextclaw-github-issue-watcher-panel.panel/panel-app.json +11 -0
- package/resources/apps/nextclaw-github-issue-watcher/service-components/nextclaw-github-issue-watcher-service/service-app.json +36 -0
- package/resources/apps/nextclaw-github-issue-watcher/service-components/nextclaw-github-issue-watcher-service/service.wasm +0 -0
- package/resources/apps/nextclaw-github-issue-watcher/tests/public-github-runner-smoke.tools.mjs +150 -0
- package/resources/apps/nextclaw-github-issue-watcher/tests/service-smoke.json +12 -0
- package/resources/apps/nextclaw-portable-runtime-lab/README.md +5 -3
- package/resources/apps/nextclaw-portable-runtime-lab/manifest.json +14 -2
- package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-contacts.panel/assets/app.js +21 -0
- package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-contacts.panel/index.html +1 -0
- package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-focus.panel/assets/app.js +21 -0
- package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-focus.panel/index.html +1 -0
- package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-notes.panel/assets/app.js +21 -0
- package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-notes.panel/index.html +1 -0
- package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-panel.panel/assets/app.js +201 -0
- package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-panel.panel/assets/style.css +42 -0
- package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-panel.panel/index.html +40 -19
- package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-panel.panel/panel-app.json +2 -2
- package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-todos.panel/assets/app.js +21 -0
- package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-todos.panel/index.html +1 -0
- package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-capabilities/service-app.json +110 -3
- package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-capabilities/service.wasm +0 -0
- package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-composition/service-app.json +12 -3
- package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-composition/service.wasm +0 -0
- package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-provider/service-app.json +11 -0
- package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-provider/service.wasm +0 -0
- package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-resident/service.wasm +0 -0
- package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-sqlite/service-app.json +37 -0
- package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-sqlite/service.wasm +0 -0
- package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-state/service.wasm +0 -0
- package/ui-dist/assets/{api-DU3C4HfX.js → api-n96IfCKb.js} +3 -3
- package/ui-dist/assets/api-n96IfCKb.js.gz +0 -0
- package/ui-dist/assets/{appearance-settings-page-CoB3e64T.js → appearance-settings-page-C_AqxSF_.js} +1 -1
- package/ui-dist/assets/appearance-settings-page-C_AqxSF_.js.gz +0 -0
- package/ui-dist/assets/{book-open-DMnwJfVM.js → book-open-DYRapW_h.js} +1 -1
- package/ui-dist/assets/{channels-list-page-BhIoYsyo.js → channels-list-page-uR-M4Ls8.js} +1 -1
- package/ui-dist/assets/channels-list-page-uR-M4Ls8.js.gz +0 -0
- package/ui-dist/assets/{config-split-page-DON62DcK.js → config-split-page-DJDp86Ne.js} +1 -1
- package/ui-dist/assets/config-split-page-DJDp86Ne.js.gz +0 -0
- package/ui-dist/assets/{confirm-dialog-B539oJpr.js → confirm-dialog-CHVBMpla.js} +1 -1
- package/ui-dist/assets/confirm-dialog-CHVBMpla.js.gz +0 -0
- package/ui-dist/assets/{createLucideIcon-CLfqNlvk.js → createLucideIcon-CgM0rnsa.js} +1 -1
- package/ui-dist/assets/{desktop-capabilities-page-BgGZ1I8q.js → desktop-capabilities-page-phMuNq1B.js} +1 -1
- package/ui-dist/assets/desktop-capabilities-page-phMuNq1B.js.gz +0 -0
- package/ui-dist/assets/{desktop-update-config-TrA-h5OG.js → desktop-update-config-C77hkbor.js} +1 -1
- package/ui-dist/assets/desktop-update-config-C77hkbor.js.gz +0 -0
- package/ui-dist/assets/{dist-GWWehc4w.js → dist-BjYvUhPL.js} +1 -1
- package/ui-dist/assets/dist-BjYvUhPL.js.gz +0 -0
- package/ui-dist/assets/{dist-WPei0-v8.js → dist-N9zc5bkM.js} +1 -1
- package/ui-dist/assets/dist-N9zc5bkM.js.gz +0 -0
- package/ui-dist/assets/{doc-browser-CKpps-rb.js → doc-browser-DwRLokCI.js} +1 -1
- package/ui-dist/assets/doc-browser-DwRLokCI.js.gz +0 -0
- package/ui-dist/assets/doc-browser-JlXVLNRe.js +1 -0
- package/ui-dist/assets/{doc-browser-context-Vx418ptC.js → doc-browser-context-BDuypObS.js} +1 -1
- package/ui-dist/assets/doc-browser-context-BDuypObS.js.gz +0 -0
- package/ui-dist/assets/{extensions-DQ3IQpiE.js → extensions-CQKXTqTI.js} +1 -1
- package/ui-dist/assets/extensions-CQKXTqTI.js.gz +0 -0
- package/ui-dist/assets/{form-actions-DJlfyLEH.js → form-actions-CzGmrPAv.js} +1 -1
- package/ui-dist/assets/{index-CsL49uK2.js → index-CLw9DuCJ.js} +5 -5
- package/ui-dist/assets/index-CLw9DuCJ.js.gz +0 -0
- package/ui-dist/assets/loader-circle-D9etMT9f.js +1 -0
- package/ui-dist/assets/mcp-marketplace-page-CbWOamyW.js +1 -0
- package/ui-dist/assets/{mcp-marketplace-page-CEr3FgVp.js → mcp-marketplace-page-s9PTnSDT.js} +1 -1
- package/ui-dist/assets/mcp-marketplace-page-s9PTnSDT.js.gz +0 -0
- package/ui-dist/assets/{model-config-page-BIpU9Bq5.js → model-config-page-CxnCUWRW.js} +1 -1
- package/ui-dist/assets/model-config-page-CxnCUWRW.js.gz +0 -0
- package/ui-dist/assets/{navigation-link-DI0mOIVl.js → navigation-link-Ci4Z7Phi.js} +1 -1
- package/ui-dist/assets/navigation-link-Ci4Z7Phi.js.gz +0 -0
- package/ui-dist/assets/plus-DKGD04AO.js +1 -0
- package/ui-dist/assets/{privacy-settings-page-D9qnS5ZE.js → privacy-settings-page-D8HZHHjL.js} +1 -1
- package/ui-dist/assets/privacy-settings-page-D8HZHHjL.js.gz +0 -0
- package/ui-dist/assets/{providers-config-page-j03VhVjT.js → providers-config-page-C0GIoGxm.js} +1 -1
- package/ui-dist/assets/providers-config-page-C0GIoGxm.js.gz +0 -0
- package/ui-dist/assets/{react-BwGMzqXA.js → react-CVFx225w.js} +1 -1
- package/ui-dist/assets/{react-BwGMzqXA.js.gz → react-CVFx225w.js.gz} +0 -0
- package/ui-dist/assets/{refresh-cw-DmR6-f9A.js → refresh-cw-C-3_thgr.js} +1 -1
- package/ui-dist/assets/remote-DvTCSAxQ.js +1 -0
- package/ui-dist/assets/{rotate-cw-BUWqEgob.js → rotate-cw-DSFTq_yu.js} +1 -1
- package/ui-dist/assets/{runtime-config-page-DcyDsmw-.js → runtime-config-page-VNJZui5f.js} +1 -1
- package/ui-dist/assets/runtime-config-page-VNJZui5f.js.gz +0 -0
- package/ui-dist/assets/{save-DdohrEEJ.js → save-CpPr78_S.js} +1 -1
- package/ui-dist/assets/{search-config-page-DBUVi0PY.js → search-config-page-D3_qNXbB.js} +1 -1
- package/ui-dist/assets/search-config-page-D3_qNXbB.js.gz +0 -0
- package/ui-dist/assets/{search-BVeIVVGT.js → search-msqk2-rd.js} +1 -1
- package/ui-dist/assets/{secrets-config-page-Bu58SQa1.js → secrets-config-page-Be4P1E8o.js} +1 -1
- package/ui-dist/assets/secrets-config-page-Be4P1E8o.js.gz +0 -0
- package/ui-dist/assets/security-config-BtcpKIhQ.js +1 -0
- package/ui-dist/assets/{select-DvuHOwPH.js → select-DPKCWajZ.js} +1 -1
- package/ui-dist/assets/select-DPKCWajZ.js.gz +0 -0
- package/ui-dist/assets/skeleton-BsR5rwB7.js +1 -0
- package/ui-dist/assets/{tag-chip-BI9NffVf.js → tag-chip-Dc_NcCEe.js} +1 -1
- package/ui-dist/assets/x-Dp5GAFmP.js +1 -0
- package/ui-dist/index.html +20 -20
- package/ui-dist/index.html.gz +0 -0
- package/dist/nextclaw-cli-app-Bwa2L2Jv.js.map +0 -1
- package/dist/nextclaw-distribution.utils-C6_UWes0.js.map +0 -1
- package/ui-dist/assets/api-DU3C4HfX.js.gz +0 -0
- package/ui-dist/assets/appearance-settings-page-CoB3e64T.js.gz +0 -0
- package/ui-dist/assets/channels-list-page-BhIoYsyo.js.gz +0 -0
- package/ui-dist/assets/config-split-page-DON62DcK.js.gz +0 -0
- package/ui-dist/assets/confirm-dialog-B539oJpr.js.gz +0 -0
- package/ui-dist/assets/desktop-capabilities-page-BgGZ1I8q.js.gz +0 -0
- package/ui-dist/assets/desktop-update-config-TrA-h5OG.js.gz +0 -0
- package/ui-dist/assets/dist-GWWehc4w.js.gz +0 -0
- package/ui-dist/assets/dist-WPei0-v8.js.gz +0 -0
- package/ui-dist/assets/doc-browser-CKpps-rb.js.gz +0 -0
- package/ui-dist/assets/doc-browser-context-Vx418ptC.js.gz +0 -0
- package/ui-dist/assets/doc-browser-y3e2_MXe.js +0 -1
- package/ui-dist/assets/extensions-DQ3IQpiE.js.gz +0 -0
- package/ui-dist/assets/index-CsL49uK2.js.gz +0 -0
- package/ui-dist/assets/loader-circle-DXH2fVRq.js +0 -1
- package/ui-dist/assets/mcp-marketplace-page-CEr3FgVp.js.gz +0 -0
- package/ui-dist/assets/mcp-marketplace-page-Dj0xiFAV.js +0 -1
- package/ui-dist/assets/model-config-page-BIpU9Bq5.js.gz +0 -0
- package/ui-dist/assets/navigation-link-DI0mOIVl.js.gz +0 -0
- package/ui-dist/assets/plus-C6Kx4b6T.js +0 -1
- package/ui-dist/assets/privacy-settings-page-D9qnS5ZE.js.gz +0 -0
- package/ui-dist/assets/providers-config-page-j03VhVjT.js.gz +0 -0
- package/ui-dist/assets/remote-BPMM79JV.js +0 -1
- package/ui-dist/assets/runtime-config-page-DcyDsmw-.js.gz +0 -0
- package/ui-dist/assets/search-config-page-DBUVi0PY.js.gz +0 -0
- package/ui-dist/assets/secrets-config-page-Bu58SQa1.js.gz +0 -0
- package/ui-dist/assets/security-config-CNdun2s-.js +0 -1
- package/ui-dist/assets/select-DvuHOwPH.js.gz +0 -0
- package/ui-dist/assets/skeleton-u2lc3JJg.js +0 -1
- package/ui-dist/assets/x-27QFIvUt.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nextclaw-distribution.utils-C6_UWes0.js","names":[],"sources":["../src/cli/shared/lib/distribution/nextclaw-distribution.utils.ts"],"sourcesContent":["import { accessSync, chmodSync, constants, existsSync, readFileSync, statSync } from \"node:fs\";\nimport { basename, dirname, resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport type { NextclawDistribution } from \"@nextclaw/service\";\n\nexport function createNextclawDistribution(importMetaUrl: string): NextclawDistribution {\n const entrypoint = fileURLToPath(importMetaUrl);\n const packageRoot = resolve(dirname(entrypoint), \"../../..\");\n const { version } = JSON.parse(readFileSync(resolve(packageRoot, \"package.json\"), \"utf-8\")) as { version?: string };\n const portableRunnerExecutable = process.platform === \"win32\"\n ? \"nextclaw-wasmtime-runner.exe\"\n : \"nextclaw-wasmtime-runner\";\n return {\n version: typeof version === \"string\" ? version : \"0.0.0\",\n productEnvironment: \"development\",\n releaseChannel: \"development\",\n appEntrypoint: resolve(packageRoot, \"dist/cli/app/index.js\"),\n launcherVersion: typeof version === \"string\" ? version : \"0.0.0\",\n launcherEntrypoint: resolve(dirname(entrypoint), \"../launcher\", basename(entrypoint)),\n launchedByLauncher: false,\n templatesDir: resolve(packageRoot, \"templates\"),\n uiDistDir: resolve(packageRoot, \"ui-dist\"),\n runtimeUpdatePublicKeyPath: resolve(packageRoot, \"resources/update-bundle-public.pem\"),\n builtInAppsDirectory: resolve(packageRoot, \"resources/apps\"),\n portableServiceRunnerPath: resolve(\n packageRoot,\n \"resources/native\",\n `${process.platform}-${process.arch}`,\n portableRunnerExecutable,\n )\n };\n}\n\nexport function repairPackagedPortableRunnerPermissions(distribution: NextclawDistribution): boolean {\n if (process.platform === \"win32\") return false;\n const runnerPath = distribution.portableServiceRunnerPath?.trim();\n if (!runnerPath || !existsSync(runnerPath)) return false;\n const runnerStat = statSync(runnerPath);\n if (!runnerStat.isFile()) return false;\n try {\n accessSync(runnerPath, constants.X_OK);\n return false;\n } catch {\n chmodSync(runnerPath, (runnerStat.mode & 0o777) | 0o111);\n accessSync(runnerPath, constants.X_OK);\n process.stderr.write(`[nextclaw] restored executable permission for bundled Portable Service App runner: ${runnerPath}\\n`);\n return true;\n }\n}\n"],"mappings":";;;;AAKA,SAAgB,2BAA2B,eAA6C;CACtF,MAAM,aAAa,cAAc,cAAc;CAC/C,MAAM,cAAc,QAAQ,QAAQ,WAAW,EAAE,WAAW;CAC5D,MAAM,EAAE,YAAY,KAAK,MAAM,aAAa,QAAQ,aAAa,eAAe,EAAE,QAAQ,CAAC;CAC3F,MAAM,2BAA2B,QAAQ,aAAa,UAClD,iCACA;AACJ,QAAO;EACL,SAAS,OAAO,YAAY,WAAW,UAAU;EACjD,oBAAoB;EACpB,gBAAgB;EAChB,eAAe,QAAQ,aAAa,wBAAwB;EAC5D,iBAAiB,OAAO,YAAY,WAAW,UAAU;EACzD,oBAAoB,QAAQ,QAAQ,WAAW,EAAE,eAAe,SAAS,WAAW,CAAC;EACrF,oBAAoB;EACpB,cAAc,QAAQ,aAAa,YAAY;EAC/C,WAAW,QAAQ,aAAa,UAAU;EAC1C,4BAA4B,QAAQ,aAAa,qCAAqC;EACtF,sBAAsB,QAAQ,aAAa,iBAAiB;EAC5D,2BAA2B,QACzB,aACA,oBACA,GAAG,QAAQ,SAAS,GAAG,QAAQ,QAC/B,yBACD;EACF;;AAGH,SAAgB,wCAAwC,cAA6C;AACnG,KAAI,QAAQ,aAAa,QAAS,QAAO;CACzC,MAAM,aAAa,aAAa,2BAA2B,MAAM;AACjE,KAAI,CAAC,cAAc,CAAC,WAAW,WAAW,CAAE,QAAO;CACnD,MAAM,aAAa,SAAS,WAAW;AACvC,KAAI,CAAC,WAAW,QAAQ,CAAE,QAAO;AACjC,KAAI;AACF,aAAW,YAAY,UAAU,KAAK;AACtC,SAAO;SACD;AACN,YAAU,YAAa,WAAW,OAAO,MAAS,GAAM;AACxD,aAAW,YAAY,UAAU,KAAK;AACtC,UAAQ,OAAO,MAAM,sFAAsF,WAAW,IAAI;AAC1H,SAAO"}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./doc-browser-CKpps-rb.js";export{e as DocBrowser};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-CLfqNlvk.js";var t=e(`LoaderCircle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]);export{t};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./mcp-marketplace-page-CEr3FgVp.js";export{e as McpMarketplacePage};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-CLfqNlvk.js";var t=e(`Plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ft as e}from"./index-CsL49uK2.js";export{e as RemoteAccessPage};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Rt as e}from"./api-DU3C4HfX.js";export{e as SecurityConfig};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,L as t}from"./react-BwGMzqXA.js";var n=e();function r({className:e,...r}){return(0,n.jsx)(`div`,{className:t(`animate-pulse rounded-md bg-slate-200`,e),...r})}export{r as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-CLfqNlvk.js";var t=e(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};
|