{"_id":"worldmonitor","_rev":"5-d02d8d9425afc883ca3de64afd50e5ba","name":"worldmonitor","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"worldmonitor","version":"0.1.0","keywords":["worldmonitor","cli","osint","geopolitics","intelligence","api-client","mcp","agent"],"author":{"name":"World Monitor"},"license":"AGPL-3.0-or-later","_id":"worldmonitor@0.1.0","maintainers":[{"name":"worldmonitor","email":"elie@worldmonitor.app"}],"homepage":"https://worldmonitor.app","bugs":{"url":"https://github.com/koala73/worldmonitor/issues"},"bin":{"wm":"bin/worldmonitor.mjs","worldmonitor":"bin/worldmonitor.mjs"},"dist":{"shasum":"8fa213b97889cd807da9aa894895a9fb4174d890","tarball":"https://registry.npmjs.org/worldmonitor/-/worldmonitor-0.1.0.tgz","fileCount":6,"integrity":"sha512-b27hYNA2F42uQcL7G3SA5ZM89XigRe9tJhs5iPMl/YNlhxLo6/rpTKtWJ8v6FvIiA20NwjKqu+sAAd2/tomutA==","signatures":[{"sig":"MEQCIDAgtNwym+m/64ZxutdOD+ND7k4LPiSHsMGAcswOOxf4AiA+J8a9i8hZwoaY9euQ4ect2L22lGOF2B9idXbur9SRzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58256},"main":"./src/core.mjs","type":"module","engines":{"node":">=18.17.0"},"exports":{".":"./src/core.mjs","./run":"./src/run.mjs"},"scripts":{"test":"node --test 'test/**/*.test.mjs'"},"_npmUser":{"name":"worldmonitor","email":"elie@worldmonitor.app"},"repository":{"url":"git+https://github.com/koala73/worldmonitor.git","type":"git","directory":"cli"},"_npmVersion":"11.12.1","description":"Command-line client for the World Monitor global-intelligence API — script country briefs, risk scores, conflict/cyber/market feeds, and MCP tools without writing an API integration.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/worldmonitor_0.1.0_1783166047495_0.9716071378452347","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"worldmonitor","version":"0.1.1","keywords":["worldmonitor","cli","osint","geopolitics","intelligence","api-client","mcp","agent"],"author":{"name":"World Monitor"},"license":"AGPL-3.0-or-later","_id":"worldmonitor@0.1.1","maintainers":[{"name":"worldmonitor","email":"elie@worldmonitor.app"}],"homepage":"https://worldmonitor.app","bugs":{"url":"https://github.com/koala73/worldmonitor/issues"},"bin":{"wm":"bin/worldmonitor.mjs","worldmonitor":"bin/worldmonitor.mjs"},"dist":{"shasum":"41e00786532ab6d9fc433e2d8c020e98794b880a","tarball":"https://registry.npmjs.org/worldmonitor/-/worldmonitor-0.1.1.tgz","fileCount":6,"integrity":"sha512-Y+R9fIIdtA6K6C7zZLdjp0l/qO70HMecUe4guYCeymTIjsk357rwItcgeS6Kkx7uC2HbBB48QXEPkXLf87GYvA==","signatures":[{"sig":"MEUCIQD4SRfr4ylInf9UhGGRk05eTrVOrdjq0OKJfUybSknMUwIgD8LxkEkjyN26ZHVSPVqkHIGj2PAXrrzjJbaPM+qw458=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/worldmonitor@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":58862},"main":"./src/core.mjs","type":"module","engines":{"node":">=18.17.0"},"exports":{".":"./src/core.mjs","./run":"./src/run.mjs"},"gitHead":"a54d0d05bd3a5a581e93af362769aec3ea4c5c8c","scripts":{"test":"node --test 'test/**/*.test.mjs'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ec79ebe-0ba1-472d-a1c9-bc98416596e5"}},"repository":{"url":"git+https://github.com/koala73/worldmonitor.git","type":"git","directory":"cli"},"_npmVersion":"11.18.0","description":"Command-line client for the World Monitor global-intelligence API — script country briefs, risk scores, conflict/cyber/market feeds, and MCP tools without writing an API integration.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/worldmonitor_0.1.1_1783170356769_0.009089555629616886","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"worldmonitor","version":"0.1.2","keywords":["worldmonitor","cli","osint","geopolitics","intelligence","api-client","mcp","agent"],"author":{"name":"World Monitor"},"license":"AGPL-3.0-or-later","_id":"worldmonitor@0.1.2","maintainers":[{"name":"worldmonitor","email":"elie@worldmonitor.app"}],"homepage":"https://worldmonitor.app/docs/cli","bugs":{"url":"https://github.com/koala73/worldmonitor/issues"},"bin":{"wm":"bin/worldmonitor.mjs","worldmonitor":"bin/worldmonitor.mjs"},"dist":{"shasum":"e7e3af18319d25bf69d916e3a36dc373f587763f","tarball":"https://registry.npmjs.org/worldmonitor/-/worldmonitor-0.1.2.tgz","fileCount":6,"integrity":"sha512-wU0ehAeMHW6ASvmLNviPOpPqd9KQqZeqg4ACGQ1hA06qSVzlPHzchqB4O7dmhXEAlsUD/U6/rhK81jtN2GzTgQ==","signatures":[{"sig":"MEUCIQDPZSDQbgaJUU7Iusz29H/6jGtkNXJLGklYJfgNb7VzRQIgIQ8ZozDFRjj9DiS2cVXfW/wjplOqSLVAM3k8mKrVY6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/worldmonitor@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59366},"main":"./src/core.mjs","type":"module","engines":{"node":">=18.17.0"},"exports":{".":"./src/core.mjs","./run":"./src/run.mjs"},"gitHead":"cb44d84f020cdac67d8faa6d32265fd86378a9a9","scripts":{"test":"node --test 'test/**/*.test.mjs'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ec79ebe-0ba1-472d-a1c9-bc98416596e5"}},"repository":{"url":"git+https://github.com/koala73/worldmonitor.git","type":"git","directory":"cli"},"_npmVersion":"11.18.0","description":"Command-line client for the World Monitor global-intelligence API — script country briefs, risk scores, conflict/cyber/market feeds, and MCP tools without writing an API integration.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/worldmonitor_0.1.2_1783172508486_0.8458248706496136","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"worldmonitor","version":"0.1.3","keywords":["worldmonitor","cli","osint","geopolitics","intelligence","api-client","mcp","agent"],"author":{"name":"World Monitor"},"license":"MIT","_id":"worldmonitor@0.1.3","maintainers":[{"name":"worldmonitor","email":"elie@worldmonitor.app"}],"homepage":"https://worldmonitor.app/docs/cli","bugs":{"url":"https://github.com/koala73/worldmonitor/issues"},"bin":{"wm":"bin/worldmonitor.mjs","worldmonitor":"bin/worldmonitor.mjs"},"dist":{"shasum":"6dda56349f94eaebf2264fbb5360d4c2fd4b5a41","tarball":"https://registry.npmjs.org/worldmonitor/-/worldmonitor-0.1.3.tgz","fileCount":6,"integrity":"sha512-5Lk1DRFK9gvpeV8ZLcClGVgiy7ocMoqGuGcfFqXnocbBQiFopvDTfH+ZWNTgi/QNFp2hWhxxdpfwTO6E1S+6eg==","signatures":[{"sig":"MEYCIQDPCwR8T1/JEy4fNp16ACT4CtW/6QD5b6rPHzqipY1LHQIhAJ+yK5lt1aYB1hf4Y0hStvmLLTPdeqXHptLnpsxzxs+w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/worldmonitor@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25614},"main":"./src/core.mjs","type":"module","engines":{"node":">=18.17.0"},"exports":{".":"./src/core.mjs","./run":"./src/run.mjs"},"gitHead":"3ff8c8d84b2bcfb1eed390e4bcc23145a2bf998b","scripts":{"test":"node --test 'test/**/*.test.mjs'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6ec79ebe-0ba1-472d-a1c9-bc98416596e5"}},"repository":{"url":"git+https://github.com/koala73/worldmonitor.git","type":"git","directory":"cli"},"_npmVersion":"11.18.0","description":"Command-line client for the World Monitor global-intelligence API — script country briefs, risk scores, conflict/cyber/market feeds, and MCP tools without writing an API integration.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/worldmonitor_0.1.3_1783265855324_0.10767106687763128","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"_id":"worldmonitor@0.2.0","bin":{"wm":"bin/worldmonitor.mjs","worldmonitor":"bin/worldmonitor.mjs"},"bugs":{"url":"https://github.com/koala73/worldmonitor/issues"},"dist":{"shasum":"05d642eb017ca94be005a65963dd127b418ecdd1","tarball":"https://registry.npmjs.org/worldmonitor/-/worldmonitor-0.2.0.tgz","fileCount":48,"integrity":"sha512-3IoIphgfw52pBZT1uclNadiMQEyUm0BSaF/wghlfMsGCAhNy7TmiazbbOar1ebANcjmXA34qfOGfoUMBI+akbA==","signatures":[{"sig":"MEYCIQC0p9pmyhm3o2OM7O/ICrn8gGw8yALC5VsymsXUNQXWmwIhALshMF+lZ+XhfZbbYHrRRGoHkYw/Vjm40MWRvI5EjCpu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDt7EkALxxzGaN1vfi9QzD2mXI2XWDiLa9rNRB4DBscMQIhAKtm9geGQeMghApKW0YPpiXQuJDVpK2HFbKRLCelbXV9"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/worldmonitor@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1189209},"main":"./src/core.mjs","name":"worldmonitor","type":"module","author":{"name":"World Monitor"},"engines":{"node":">=18.17.0"},"exports":{".":"./src/core.mjs","./run":"./src/run.mjs"},"gitHead":"812840e6f640d85a29039edd2100d90e622a925e","license":"MIT","scripts":{"test":"node --test 'test/**/*.test.mjs'"},"version":"0.2.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"6ec79ebe-0ba1-472d-a1c9-bc98416596e5"}},"homepage":"https://worldmonitor.app/docs/cli","keywords":["worldmonitor","cli","osint","geopolitics","intelligence","api-client","mcp","agent"],"repository":{"url":"git+https://github.com/koala73/worldmonitor.git","type":"git","directory":"cli"},"_npmVersion":"11.21.1","description":"Command-line client for the World Monitor global-intelligence API — script country briefs, risk scores, conflict/cyber/market feeds, and MCP tools without writing an API integration.","directories":{},"maintainers":[{"name":"worldmonitor","email":"elie@worldmonitor.app"}],"_nodeVersion":"22.23.3","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/worldmonitor_0.2.0_1792491735968_0.22710894109975976"}}},"time":{"created":"2026-07-04T11:54:07.339Z","modified":"2026-10-20T10:22:16.440Z","0.1.0":"2026-07-04T11:54:07.632Z","0.1.1":"2026-07-04T13:05:56.896Z","0.1.2":"2026-07-04T13:41:48.653Z","0.1.3":"2026-07-05T15:37:35.464Z","0.2.0":"2026-10-20T10:22:16.073Z"},"bugs":{"url":"https://github.com/koala73/worldmonitor/issues"},"author":{"name":"World Monitor"},"license":"MIT","homepage":"https://worldmonitor.app/docs/cli","keywords":["worldmonitor","cli","osint","geopolitics","intelligence","api-client","mcp","agent"],"repository":{"url":"git+https://github.com/koala73/worldmonitor.git","type":"git","directory":"cli"},"description":"Command-line client for the World Monitor global-intelligence API — script country briefs, risk scores, conflict/cyber/market feeds, and MCP tools without writing an API integration.","maintainers":[{"name":"worldmonitor","email":"elie@worldmonitor.app"}],"readme":"# worldmonitor\n\n[![npm version](https://img.shields.io/npm/v/worldmonitor?logo=npm)](https://www.npmjs.com/package/worldmonitor)\n[![npm downloads](https://img.shields.io/npm/dm/worldmonitor)](https://www.npmjs.com/package/worldmonitor)\n[![license](https://img.shields.io/npm/l/worldmonitor)](https://github.com/koala73/worldmonitor/blob/main/cli/LICENSE)\n\nOfficial command-line client for the [World Monitor](https://worldmonitor.app)\nglobal-intelligence platform. Run `worldmonitor` for a full terminal dashboard\n(news, markets, conflict, military flights, cyber, climate, predictions, live\nnews channels and webcams, intel, platform health) with mouse support, themes\nand animations. Script country briefs, risk scores, and\nconflict / cyber / market / news feeds — plus any registered MCP tool — from\nyour shell or an agent, without writing an API integration.\n\nThe package is dependency-free ESM and runs on Node 18+. The dashboard reads the\nsame public bootstrap tiers the web app reads, so it needs no API key; the\nscripting commands are a thin wrapper over the\n[MCP server](https://worldmonitor.app/mcp) with a REST escape hatch.\n\n📖 **Full documentation:** [Terminal dashboard](https://www.worldmonitor.app/docs/cli-dashboard) · [Command-line client](https://www.worldmonitor.app/docs/cli)\n\n![World Monitor terminal dashboard](https://raw.githubusercontent.com/koala73/worldmonitor/main/docs/images/tui/overview.webp)\n\n## Install\n\n```sh\nnpm install -g worldmonitor   # installs the `worldmonitor` command (alias: `wm`)\n# or run without installing:\nnpx worldmonitor tools\n```\n\n## Terminal dashboard\n\n```sh\nworldmonitor            # open the dashboard (same as `worldmonitor tui`)\nworldmonitor web        # open the original web dashboard instead\n```\n\nThe dashboard boots in a couple of seconds. Views:\n\n| Key | View | What it shows |\n|---|---|---|\n| `1` | Overview | Braille world map with live blips and a radar sweep, AI world brief, ranked top stories, market strip, theater posture |\n| `2` | Map | Zoomable world map and rotating globe with every dashboard layer, NASA satellite imagery, hover highlighting, info cards, search |\n| `3` | Brief | The AI world brief as a page: story lines beside the sources they cite and related live headlines |\n| `4` | News | Digest sections, ranked and classified headlines, story detail |\n| `5` | Markets | Indices, commodities, FX, crypto with sparklines, sector heatmap, macro signals, fear & greed, ETF flows, Gulf markets |\n| `6` | Conflict | Country instability ranking, UCDP armed-conflict events, unrest signals, posture, correlation cards |\n| `7` | Air & Sea | Live military aircraft on the map, airport delays, chokepoints, vessel density, shipping stress |\n| `8` | Cyber | Threat indicators, DDoS mix, service status, internet outages and traffic anomalies |\n| `9` | Climate | Earthquakes, hazards and outbreaks, weather alerts, climate anomalies, planet vitals |\n| `0` | Predict | Prediction markets by domain and AI scenario forecasts |\n| `Alt+1` | Live | The dashboard's live news channels and webcams, played in the terminal |\n| `Alt+2` | Intel | GDELT topic feeds, sanctions pressure, travel advisories, social velocity, spending |\n| `Alt+3` | System | Platform health, per-source freshness, themes, player status |\n\nControls: `Tab` / `Shift+Tab` switch views, `←` `→` move between panes, `↑` `↓`\nmove in lists, `Enter` expands the selected row of any view into a detail\noverlay, `o` opens its link in the browser, `t` cycles themes (`T` picks one),\n`a` toggles animations, `r` refreshes, `?` shows help, `q` quits. Everything is\nalso clickable, and the wheel scrolls lists.\n\nThe Map view zooms (wheel, `+` `-`) and pans (drag, arrows) a world map drawn\nfrom the dashboard's own 50 m geometry, or an auto-rotating globe (`g`), with\nNASA satellite imagery (`s`, `i` cycles Blue Marble, daily true colour and\nnight lights) and the live day/night terminator (`d`). `L` picks the\nlayers: cables, pipelines, energy storage and disruptions, data centers,\nports, airports and delays, chokepoints, trade routes, bases, nuclear sites,\nradiation monitors, spaceports, military aircraft, satellites, hotspots,\nconflict zones, quakes, fires, storms, weather alerts, outbreaks, protests,\noutages, cyber infrastructure, ship-traffic density, exchanges, mines, tech\nHQs, choropleths and more. Hover anything to highlight its whole layer and read\nits card; click pins, `Enter` opens the full record, `/` searches.\nThe [dashboard guide](https://www.worldmonitor.app/docs/cli-dashboard) has\nscreenshots of every view, all keys, options and troubleshooting.\n\nThemes: Neon Horizon, Matrix, Amber CRT, Red Alert, Glacier, Synthwave. The\nchoice persists in `$XDG_CONFIG_HOME/worldmonitor/tui.json`. Flags:\n`--theme <id>`, `--no-anim`, `--fps <n>`, `--base-url <url>`.\n\nLive video plays through [mpv](https://mpv.io) (with `yt-dlp` for YouTube):\ninside the terminal using the Kitty graphics protocol on Ghostty, Kitty and\nWezTerm, or truecolor cells elsewhere (`Enter`), in an mpv window (`w`), or in\nthe browser (`b`). Without mpv the browser is used.\n\n`worldmonitor web` starts the Vite dev server when run inside a repository\ncheckout and opens it; anywhere else it opens\n[worldmonitor.app/dashboard](https://www.worldmonitor.app/dashboard). Flags:\n`--hosted`, `--port <n>`, `--no-open`, `--url <url>`.\n\n## Quick start\n\n```sh\n# Discover every tool — public, no key needed\nworldmonitor tools\n\n# All data commands except `call get_sources` need a subscription API key\n# (get one at https://worldmonitor.app/pro)\nexport WORLDMONITOR_API_KEY=wm_xxxxxxxx\n\nworldmonitor world                       # live global situation brief\nworldmonitor country IR                  # AI strategic brief for a country\nworldmonitor risk DE                      # country risk / resilience scores\nworldmonitor conflicts --country IR --limit 5\nworldmonitor markets --asset_class crypto\nworldmonitor call get_cyber_threats --min_severity 7\n```\n\n## Commands\n\nDashboard:\n\n- `tui` (or no command on a terminal) — interactive terminal dashboard\n- `web` — the original web dashboard (dev server in a checkout, hosted otherwise)\n\nData commands map to MCP `tools/call`. `call get_sources` is the sole credential-free, daily-quota-free data call; its anonymous path has a separate fail-closed ceiling of 10 calls/minute/IP. Every other data command requires `--api-key`:\n\n- `world` — live global situation brief\n- `country <ISO>` — AI strategic brief for a country (ISO 3166-1 alpha-2)\n- `risk <ISO>` — country risk / resilience scores\n- `markets` — equities, commodities, crypto, FX quotes\n- `conflicts` — recent conflict events (`--country`, `--min_fatalities`, `--limit`)\n- `cyber` — cyber-threat indicators (`--min_severity`, `--threat_type`, `--country`)\n- `news` — classified news intelligence (`--topic`, `--country`, `--alerts_only`)\n- `disasters` — earthquakes, fires, storms (`--dataset`, `--active_only`)\n- `sanctions` — sanctions designations (`--country`, `--query`)\n- `forecasts` — scenario forecasts (`--domain`, `--region`)\n- `maritime <ISO>` — maritime / port activity for a country\n\nMCP and REST:\n\n- `tools` — list every MCP tool (public — no key needed)\n- `call <tool> [--arg val]` — call any MCP tool (`--args '<json>'` for typed args)\n- `prompts` / `resources` — list MCP prompt / resource templates\n- `health` — API status / health check (requires `--api-key`)\n- `get <path> [--param val]` — call a raw REST path (host-relative `/api/…`)\n- `list [service]` — list documented REST operations from the live OpenAPI spec\n\nAny `--key value` pair you pass that is not a recognised flag becomes a tool or\nrequest parameter, so every tool argument is reachable without special wiring.\n\nEvery tool also accepts a `jmespath` argument that projects the response\nserver-side before it crosses the wire — typically 80–95% smaller:\n\n```sh\nworldmonitor markets --jmespath 'data.\"stocks-bootstrap\".quotes[?symbol==`AAPL`].{s:symbol,p:price}'\n```\n\nSee the [JMESPath guide](https://worldmonitor.app/docs/mcp-jmespath) for worked examples.\n\n## Flags\n\n- `--api-key <key>` — user API key (or env `WORLDMONITOR_API_KEY`)\n- `--mcp-url <url>` — MCP endpoint (default `https://worldmonitor.app/mcp`)\n- `--base-url <url>` — REST base (default `https://api.worldmonitor.app`)\n- `--args <json>` — typed arguments object for a tool call\n- `--timeout <ms>` — request timeout (default 30000)\n- `--theme <id>`, `--no-anim`, `--fps <n>` — dashboard only; other commands\n  pass them to the API as parameters\n- `--hosted`, `--port <n>`, `--no-open`, `--url <url>` — `web` only; other\n  commands pass them to the API as parameters\n- `--raw` — print the response body verbatim\n- `--compact` — print single-line JSON\n- `-h, --help` / `-v, --version`\n\n## Exit codes\n\n- `0` — success\n- `1` — request or transport error (the response body is written to stderr)\n- `2` — usage error\n\n## Programmatic use\n\n```js\nimport { run } from 'worldmonitor/run';\n\nconst code = await run(['risk', 'IR'], { env: process.env });\n```\n\n## License\n\nMIT-licensed thin client (the World Monitor platform itself remains AGPL-3.0). Part of the\n[World Monitor](https://github.com/koala73/worldmonitor) project.\n","readmeFilename":"README.md"}