News Aggregator Skill
cclank/news-aggregator-skill
Comprehensive news aggregator that fetches, filters, and deeply analyzes real-time content from 44+ sources including Hacker News, Lobsters, Dev.to, GitHub, arXiv, Hugging Face Papers, AIHOT, TLDR…
Helps developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video ingestion pipelines in the video-search-and-summarization sample app.
$ npx skills add open-edge-platform/edge-ai-libraries --skill vss-dlstreamer-pipeline -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install open-edge-platform/edge-ai-libraries vss-dlstreamer-pipeline --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .claude/skills && cp -r skills-src/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline .claude/skills/vss-dlstreamer-pipeline && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "vss-dlstreamer-pipeline" agent skill from https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline into .claude/skills/vss-dlstreamer-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-dlstreamer-pipeline", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipelineType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add open-edge-platform/edge-ai-libraries --skill vss-dlstreamer-pipeline -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install open-edge-platform/edge-ai-libraries vss-dlstreamer-pipeline --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .agents/skills && cp -r skills-src/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline .agents/skills/vss-dlstreamer-pipeline && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "vss-dlstreamer-pipeline" agent skill from https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline into .agents/skills/vss-dlstreamer-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-dlstreamer-pipeline", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add open-edge-platform/edge-ai-libraries --skill vss-dlstreamer-pipeline -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install open-edge-platform/edge-ai-libraries vss-dlstreamer-pipeline --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline .cursor/skills/vss-dlstreamer-pipeline && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "vss-dlstreamer-pipeline" agent skill from https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline into .cursor/skills/vss-dlstreamer-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-dlstreamer-pipeline", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/open-edge-platform/edge-ai-libraries.git --path sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add open-edge-platform/edge-ai-libraries --skill vss-dlstreamer-pipeline -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install open-edge-platform/edge-ai-libraries vss-dlstreamer-pipeline --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline .gemini/skills/vss-dlstreamer-pipeline && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "vss-dlstreamer-pipeline" agent skill from https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline into .gemini/skills/vss-dlstreamer-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-dlstreamer-pipeline", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install open-edge-platform/edge-ai-libraries vss-dlstreamer-pipelineInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add open-edge-platform/edge-ai-libraries --skill vss-dlstreamer-pipeline -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .github/skills && cp -r skills-src/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline .github/skills/vss-dlstreamer-pipeline && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "vss-dlstreamer-pipeline" agent skill from https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline into .github/skills/vss-dlstreamer-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-dlstreamer-pipeline", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add open-edge-platform/edge-ai-libraries --skill vss-dlstreamer-pipeline -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install open-edge-platform/edge-ai-libraries vss-dlstreamer-pipeline --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-edge-platform/edge-ai-libraries.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline .opencode/skills/vss-dlstreamer-pipeline && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "vss-dlstreamer-pipeline" agent skill from https://github.com/open-edge-platform/edge-ai-libraries/tree/main/sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline into .opencode/skills/vss-dlstreamer-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vss-dlstreamer-pipeline", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
vss-dlstreamer-pipelineHelps developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video ingestion pipelines in the video-search-and-summarization sample app.
Vss Dlstreamer Pipeline is an agent skill from open-edge-platform/edge-ai-libraries. Helps developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video ingestion pipelines in the video-search-and-summarization sample app. Use when the user wants to change the DLStreamer/GStreamer pipeline, extract frames differently, modify the EVAM pipeline, add a detection model to video ingestion, or tune chunk/frame extraction in the pipeline server.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 17 other files, including scripts and reference files (for example `BENCHMARK.md`, `evals/evals.json` and `evals/trigger-evals.json`).
It sits in Writing & Content, covering Summarization. The repository describes itself as: Libraries, microservices, tools, and other reference software, supporting development of performance-optimized Edge AI applications. The licence is Apache-2.0.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0ed0479. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
bashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Vss Dlstreamer Pipeline loads about 1.8k tokens when it runs, and up to ~5.4k if it reads all its reference files. Until then it costs about 103 tokens; SKILL.md has 590 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from open-edge-platform/edge-ai-libraries at commit 0ed0479, republished under its Apache-2.0 licence (© open-edge-platform). 590 words, ~1,778 tokens.
.claude/skills/vss-dlstreamer-pipeline/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.Use this skill for the Video Search & Summarization sample app when work touches the DL Streamer Pipeline Server-backed video ingestion flow.
This skill drives the Video Search & Summarization app through its real source files, so the VSS application must be present and you must run commands from its app root. Do this before anything else, and it works whether or not the VSS source is already in your workspace.
Run the bundled bootstrap. It first tries to find an existing VSS checkout -
walking up from the current directory and inspecting the enclosing git repo - and
reuses it without ever re-cloning. Only when no checkout is found does it do a
shallow, single-branch, sparse checkout of just
sample-applications/video-search-and-summarization from main. It prints the
resolved app root on stdout:
# SKILL_DIR is THIS skill's own directory (shown to you when the skill loads);
# in-repo it is .github/skills/vss-dlstreamer-pipeline. Works the same if the skill is installed standalone.
SKILL_DIR=".github/skills/vss-dlstreamer-pipeline"
APP_ROOT="$(bash "$SKILL_DIR/scripts/vss-bootstrap.sh")"
cd "$APP_ROOT"Every command below assumes the working directory is this APP_ROOT. To pull
from a fork/branch or reuse a specific checkout dir, override VSS_REPO_URL,
VSS_REPO_BRANCH, or VSS_CLONE_DIR before running it.
Before editing, read these repo paths; do not infer pipeline names or payloads from generic DL Streamer examples:
video-ingestion/resources/conf/config.json - the actual pipeline definitions loaded into the DL Streamer Pipeline Server image.video-ingestion/src/publish.py - gvapython sink that writes frames/metadata to MinIO and publishes chunk messages.pipeline-manager/src/evam/models/evam.model.ts - request DTO and EVAMPipelines enum.pipeline-manager/src/evam/services/evam.service.ts - endpoint and request body sent to EVAM.pipeline-manager/src/config/configuration.ts and docker/compose.summary.yaml - host, ports, model path, device, RabbitMQ, MinIO wiring.docs/user-guide/how-it-works/*.md; docs/user-guide/how-it-works.md references _assets/TEAI_VideoPipelines.png.The summary pipeline stores the input video in MinIO and obtains an HTTP object URL.
pipeline-manager/src/state-manager/services/pipeline.service.ts calls EvamService.startChunkingStub(stateId, videoUrl, state.userInputs, state.systemConfig.evamPipeline).
EvamService POSTs to:
http://${EVAM_HOST}:${EVAM_PIPELINE_PORT}/pipelines/user_defined_pipelines/${pipeline}where ${pipeline} is one of the real configured names:
object_detectionvideo_ingestionDL Streamer Pipeline Server executes the matching GStreamer template from video-ingestion/resources/conf/config.json.
Frames pass through gvapython ... class=Publisher function=process module=/home/pipeline-server/gvapython/publisher/publish.py.
Publisher writes frame JPEGs and metadata JSON to MinIO and publishes a chunk message to RabbitMQ MQTT topic topic/video_stream.
pipeline-manager/src/evam/services/rabbitmq.service.ts consumes AMQP queue my_mqtt_queue bound to exchange amq.topic with routing key topic.video_stream, then emits CHUNK_RECEIVED.
Captioning, summarization, and search embedding generation happen downstream from the extracted frames/metadata; EVAM itself only chunks/extracts/detects/publishes in this repo.
EvamService.startChunkingStub() sends this shape:
{
"source": {
"element": "curlhttpsrc",
"type": "gst",
"properties": { "location": "<MinIO object URL>" }
},
"parameters": {
"detection-properties": {
"model": "/home/pipeline-server/models/object-detection/ultralytics/public/yolov8l/FP32/yolov8l.xml",
"device": "CPU"
},
"publish": {
"minio_bucket": "<pipeline-manager MINIO_BUCKET>",
"video_identifier": "<stateId>",
"topic": "topic/video_stream"
},
"frame": 5,
"chunk_duration": 10,
"frame_width": 480
}
}frame, chunk_duration, and frame_width are validated by JSON Schema in video-ingestion/resources/conf/config.json.
video-ingestion/resources/conf/config.jsonobject_detection:
... videorate ! videoconvertscale ! video/x-raw,framerate={parameters[frame]}/{parameters[chunk_duration]},format=BGR,width=[1,{parameters[frame_width]}],pixel-aspect-ratio=1/1 ! gvadetect name=detection pre-process-backend=ie ! queue ! gvapython ... ! fakesinkvideo_ingestion:
same decode/rate/scale/publish chain, but without gvadetect.The detection-properties request parameter maps to the element named detection, so it only has an effect when the selected pipeline contains gvadetect name=detection.
GStreamer pipeline strings are fragile: a missing !, caps typo, bad element name, or parameter mismatch can make the pipeline fail at runtime even if TypeScript compiles.
When changing extraction behavior:
video-ingestion/resources/conf/config.json first.{parameters[frame]}, {parameters[chunk_duration]}, {parameters[frame_width]}, publish, and any element-property mappings.pipeline-manager/src/evam/models/evam.model.ts (EVAMPipelines)pipeline-manager/src/evam/services/evam.service.ts (availablePipelines())evamPipeline if needed./home/pipeline-server/models (../ov_models in docker/compose.summary.yaml) and update pipeline-manager/src/config/configuration.ts model path or make it configurable.video-ingestion; video-ingestion/docker/Dockerfile copies resources/conf/config.json into /home/pipeline-server/config.json and copies src/ into /home/pipeline-server/gvapython/publisher/.GET /pipelines, then POST a real object_detection or video_ingestion request and confirm:GET /pipelines/{id} reaches COMPLETED,video_id/frame/chunk_N_frame_M.jpeg and metadata JSON,See references/evam-pipelines.md for the detailed request/config reference and a worked modification example.
© open-edge-platform, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 13 other files (scripts, references) in sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline of open-edge-platform/edge-ai-libraries.
Open the folder on GitHubat commit 0ed0479
Vss Dlstreamer Pipeline next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Vss Dlstreamer Pipeline this skillopen-edge-platform/edge-ai-libraries | 171 | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| News Aggregator Skillcclank/news-aggregator-skill | 1.3k | — | ~2.1k | Automated safety check: Pass | None | |
| AI Daily Newsgeekjourneyx/ai-daily-skill | 235 | — | ~2.3k | Automated safety check: Pass | None | |
| Vss Search ArchiveNVIDIA-AI-Blueprints/video-search-and-summarization | 1.9k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| AnalyzeriBigQiang/feedgrab | 614 | — | ~1k | Automated safety check: Pass | MIT | |
| Reportmicrosoft/data-formulator | 18k | — | ~1.5k | Automated safety check: Pass | MIT |
cclank/news-aggregator-skill
Comprehensive news aggregator that fetches, filters, and deeply analyzes real-time content from 44+ sources including Hacker News, Lobsters, Dev.to, GitHub, arXiv, Hugging Face Papers, AIHOT, TLDR…
geekjourneyx/ai-daily-skill
Fetches AI news from smol.ai RSS and generates structured markdown with intelligent summarization and categorization.
NVIDIA-AI-Blueprints/video-search-and-summarization
A skill your agent uses when a user wants to search archived VSS video that is already registered in a configured deployment — by natural-language, similarity, attribute, object-ID, or lexical tag…
iBigQiang/feedgrab
Content Analyzer — any content (URL, text, transcript) into structured analysis report with actionable insights.
microsoft/data-formulator
Turn an exploration (threads, findings, charts) into a single Markdown report — note, blog post, executive summary, KPI dashboard, slide brief, or multi-section analytical report, with embedded…
earlyaidopters/claudeclaw
Summarize the current conversation into a TLDR note and save it to your notes folder.
open-edge-platform/edge-ai-libraries
Build a new time-series analytics use case on top of the deployed Time Series Analytics microservice — bring it up with Docker Compose (from a repo clone, or by fetching the compose files from…
open-edge-platform/edge-ai-libraries
Scaffolds and wires a new NestJS service/module for the Video Search & Summarization sample app's pipeline-manager using the repo's real conventions.
open-edge-platform/edge-ai-libraries
Deploy Chat Question-and-Answer Core to Kubernetes using Helm (OpenVINO CPU, OpenVINO GPU, or Ollama), including values.yaml configuration, helm install/upgrade, deployment verification, uninstall…
open-edge-platform/edge-ai-libraries
Generates or updates CHANGELOG.md by analyzing git commit history between two branches, tags, or revisions in ANY git repository or folder.
open-edge-platform/edge-ai-libraries
Deploys and manages VSS through setup.sh and its Docker Compose overlays.
open-edge-platform/edge-ai-libraries
A skill your agent uses whenever a developer needs to deploy VSS to Kubernetes, helm install VSS, configure values.yaml for VSS, or run VSS on k8s with GPU/vLLM for the…
Categories
Helps developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video ingestion pipelines in the video-search-and-summarization sample app. Vss Dlstreamer Pipeline is an agent skill from open-edge-platform/edge-ai-libraries. Helps developers understand and safely modify the DLStreamer/GStreamer Pipeline Server (EVAM) video ingestion pipelines in the video-search-and-summarization sample app.
Vss Dlstreamer Pipeline fits situations like: the user wants to change the DLStreamer/GStreamer pipeline; extract frames differently; modify the EVAM pipeline; add a detection model to video ingestion.
Run `npx skills add open-edge-platform/edge-ai-libraries --skill vss-dlstreamer-pipeline -a claude-code`. Or copy the skill folder (sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline in open-edge-platform/edge-ai-libraries) into .claude/skills/vss-dlstreamer-pipeline in your project. Claude Code loads it when a task matches its description.
Run `npx skills add open-edge-platform/edge-ai-libraries --skill vss-dlstreamer-pipeline -a codex`. Or copy the skill folder (sample-applications/video-search-and-summarization/.github/skills/vss-dlstreamer-pipeline in open-edge-platform/edge-ai-libraries) into .agents/skills/vss-dlstreamer-pipeline in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add open-edge-platform/edge-ai-libraries --skill vss-dlstreamer-pipeline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vss-dlstreamer-pipeline, .gemini/skills/vss-dlstreamer-pipeline, .github/skills/vss-dlstreamer-pipeline and .opencode/skills/vss-dlstreamer-pipeline in your project.
Going by SKILL.md and its folder, Vss Dlstreamer Pipeline needs a shell for the scripts in its folder and the command-line tools its instructions call (bash). Our summary lists: A Bash shell; Docker.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Vss Dlstreamer Pipeline is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Vss Dlstreamer Pipeline: News Aggregator Skill (cclank/news-aggregator-skill, 1.3k stars), AI Daily News (geekjourneyx/ai-daily-skill, 235 stars), Vss Search Archive (NVIDIA-AI-Blueprints/video-search-and-summarization, 1.9k stars) and Analyzer (iBigQiang/feedgrab, 614 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
open-edge-platform (a GitHub organization) maintains it in open-edge-platform/edge-ai-libraries, which has 171 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 10, 2026.
Source: open-edge-platform/edge-ai-libraries on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.