Files
market/skills/larksuite-cli/entry.json
Yige 8ca10741aa chore(larksuite-cli): 同步合集子技能至上游最新 / sync collection children to upstream HEAD (#105)
## 问题 / Problem

市场登记的 `larksuite-cli` 合集落后于上游,用户看到的能力清单不准确:

1. **缺少 `lark-meeting`** — 合集只登记 27 个子技能,上游实际有 28 个。而 `lark-meeting`
恰好是会议域**唯一的真业务技能**。
2. **4 个已降级的兼容壳仍按旧描述展示** — 上游已把 `lark-vc` / `lark-vc-agent` /
`lark-minutes` / `lark-note` 改成纯兼容入口(正文只有一句「转
lark-meeting」),但市场里仍是它们退役前的能力描述。用户按描述勾选,会装到 4 个不再承载业务的空壳,却装不到真正干活的
`lark-meeting`。
3. `source.ref` 钉在 2026-06 的提交上。

The registered `larksuite-cli` collection lagged upstream:
`lark-meeting` — the only real business skill in the meeting domain —
was missing, while four skills that upstream has since reduced to
compatibility shims were still advertised with their pre-retirement
descriptions. Users following those descriptions would install four
empty shims and miss the skill that actually does the work.

## 修改 / Changes

- `source.ref`: `4c31323` → `a257fcb`(上游 main,2026-08-31)
- `children`: 27 → 28,补齐 `lark-meeting`
- 4 个兼容壳的描述随之更新为「仅当显式指定时使用,统一交由 lark-meeting 技能处理」
- 同步 sidecar 的 `provenance.content.ref` 与
`spec.collection.childCount`,修复 legacy 与 sidecar 的一致性

`children` 由 `scripts/gen-collection-children.py larksuite-cli`
生成,未手工编辑。

## 验证 / Validation

```
uv run scripts/i18n/validate-i18n.py              → 0 error, 116 warning
uv run scripts/catalog/validate_catalog_metadata.py → 0 error, 116 warning
```

改动前基线同为 `0 error / 116 warning`,**无新增 warning**。

首次提交时只改了 legacy `entry.json`,校验报 3 个 `legacy-consistency` /
`collection-identity` error;stash 改动跑基线对照确认是本次引入后,补齐 sidecar 修复。
2026-09-01 10:00:10 -04:00

400 lines
23 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"id": "larksuite-cli",
"name": "Lark Suite CLI",
"category": "communication",
"icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><rect x=\"4\" y=\"5\" width=\"16\" height=\"14\" rx=\"3\" stroke=\"#2563EB\" stroke-width=\"1.7\"/><path d=\"M8 9h8M8 13h3m3 0h2\" stroke=\"#2563EB\" stroke-width=\"1.7\" stroke-linecap=\"round\"/><path d=\"m8 13 1.5 1.5L11 13\" stroke=\"#2563EB\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>",
"tags": [
"larksuite"
],
"i18n": {
"zh-CN": {
"name": "飞书 CLI",
"shortDesc": "飞书/Lark 官方命令行工具,面向人与 AI Agent覆盖消息、文档、多维表格、日历、邮件等 18 个业务域、200+ 命令"
},
"en-US": {
"name": "Lark Suite CLI",
"shortDesc": "Official Lark/Feishu CLI for humans and AI agents, spanning Messenger, Docs, Base, Calendar and 18 domains with 200+ commands"
}
},
"maintainer": {
"name": "larksuite",
"verified": false,
"account": "larksuite",
"url": "https://github.com/larksuite/cli"
},
"stewardship": "partner",
"license": "MIT",
"redistribution": "allowed",
"source": {
"kind": "git",
"repoUrl": "https://github.com/larksuite/cli.git",
"repoBranch": "main",
"ref": "a257fcbaf9f07787b6c170d9265e9ef273b0c579"
},
"children": [
{
"id": "lark-approval",
"path": "skills/lark-approval",
"version": "1.2.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义三方审批定义不走原生提单。"
},
"en-US": {
"shortDesc": "飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义三方审批定义不走原生提单。"
}
}
},
{
"id": "lark-apps",
"path": "skills/lark-apps",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "妙搭Spark/Miaoda应用开发与托管应用创建、本地全栈开发、云端生成迭代、创意设计UI mockup / 可交互原型 / 线框图 / 落地页 / 仪表盘 / 幻灯片 deck / 视觉探索、AI相关能力和飞书平台能力或者其他外部能力集成、日志/Trace/监控指标/PV/UV 查询、环境变量管理、应用协…"
},
"en-US": {
"shortDesc": "妙搭Spark/Miaoda应用开发与托管应用创建、本地全栈开发、云端生成迭代、创意设计UI mockup / 可交互原型 / 线框图 / 落地页 / 仪表盘 / 幻灯片 deck / 视觉探索、AI相关能力和飞书平台能力或者其他外部能力集成、日志/Trace/监控指标/PV/UV 查询、环境变量管理、应用协…"
}
}
},
{
"id": "lark-attendance",
"path": "skills/lark-attendance",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书考勤打卡:查询自己的考勤打卡记录"
},
"en-US": {
"shortDesc": "飞书考勤打卡:查询自己的考勤打卡记录"
}
}
},
{
"id": "lark-base",
"path": "skills/lark-base",
"version": "1.2.21",
"i18n": {
"zh-CN": {
"shortDesc": "飞书多维表格Base操作建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式BaseApp/AppMode 页面与组件、Workspace 目录、workflow、角色权限、模板中心多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、…"
},
"en-US": {
"shortDesc": "飞书多维表格Base操作建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式BaseApp/AppMode 页面与组件、Workspace 目录、workflow、角色权限、模板中心多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、…"
}
}
},
{
"id": "lark-calendar",
"path": "skills/lark-calendar",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-meeting、待办任务走 lark-task。"
},
"en-US": {
"shortDesc": "飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-meeting、待办任务走 lark-task。"
}
}
},
{
"id": "lark-contact",
"path": "skills/lark-contact",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部…"
},
"en-US": {
"shortDesc": "飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部…"
}
}
},
{
"id": "lark-doc",
"path": "skills/lark-doc",
"i18n": {
"zh-CN": {
"shortDesc": "飞书云文档Docx / Wiki内容操作读取、创建、编辑文档插入或下载图片附件以及操作思维笔记。用户提供文档 URL/token包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-d…"
},
"en-US": {
"shortDesc": "飞书云文档Docx / Wiki内容操作读取、创建、编辑文档插入或下载图片附件以及操作思维笔记。用户提供文档 URL/token包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-d…"
}
}
},
{
"id": "lark-drive",
"path": "skills/lark-drive",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签secure labels和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,…"
},
"en-US": {
"shortDesc": "飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签secure labels和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,…"
}
}
},
{
"id": "lark-event",
"path": "skills/lark-event",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/c…"
},
"en-US": {
"shortDesc": "Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/c…"
}
}
},
{
"id": "lark-im",
"path": "skills/lark-im",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片Interactive Card、监听卡片按钮回调card.action.trigger。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成…"
},
"en-US": {
"shortDesc": "飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片Interactive Card、监听卡片按钮回调card.action.trigger。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成…"
}
}
},
{
"id": "lark-mail",
"path": "skills/lark-mail",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书邮箱Use when user mentions 起草邮件、写邮件、草稿、发送/回复/转发邮件、查阅邮件、看邮件、搜索邮件、邮件文件夹、邮件标签、邮件联系人、监听新邮件、邮件收信规则等use for mail/email intent only."
},
"en-US": {
"shortDesc": "飞书邮箱Use when user mentions 起草邮件、写邮件、草稿、发送/回复/转发邮件、查阅邮件、看邮件、搜索邮件、邮件文件夹、邮件标签、邮件联系人、监听新邮件、邮件收信规则等use for mail/email intent only."
}
}
},
{
"id": "lark-markdown",
"path": "skills/lark-markdown",
"version": "1.2.2",
"i18n": {
"zh-CN": {
"shortDesc": "飞书 Markdown查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管…"
},
"en-US": {
"shortDesc": "飞书 Markdown查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管…"
}
}
},
{
"id": "lark-meeting",
"path": "skills/lark-meeting",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书视频会议:查询会议记录与会议产物(纪要/逐字稿/妙记)、妙记搜索/上传/下载/编辑、机器人参与会议;查询进行中的会议、实时会议内容(发言/聊天/共享文档)问答(会上/会里)、发送会中聊天/表情;基于 meeting_id、meeting_no、event_id、note_id、minute_token、vc-nod…"
},
"en-US": {
"shortDesc": "飞书视频会议:查询会议记录与会议产物(纪要/逐字稿/妙记)、妙记搜索/上传/下载/编辑、机器人参与会议;查询进行中的会议、实时会议内容(发言/聊天/共享文档)问答(会上/会里)、发送会中聊天/表情;基于 meeting_id、meeting_no、event_id、note_id、minute_token、vc-nod…"
}
}
},
{
"id": "lark-minutes",
"path": "skills/lark-minutes",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "仅当用户或上游配置显式指定 lark-minutes 时使用,相关请求统一交由 lark-meeting 技能处理。"
},
"en-US": {
"shortDesc": "仅当用户或上游配置显式指定 lark-minutes 时使用,相关请求统一交由 lark-meeting 技能处理。"
}
}
},
{
"id": "lark-note",
"path": "skills/lark-note",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "仅当用户或上游配置显式指定 lark-note 时使用,相关请求统一交由 lark-meeting 技能处理。"
},
"en-US": {
"shortDesc": "仅当用户或上游配置显式指定 lark-note 时使用,相关请求统一交由 lark-meeting 技能处理。"
}
}
},
{
"id": "lark-okr",
"path": "skills/lark-okr",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书 OKR管理目标与关键结果。查看和编辑 OKR 周期、目标、关键结果、对齐关系、量化指标和进展记录。当用户需要查看或创建 OKR、管理目标和关键结果、查看对齐关系时使用。不负责待办任务管理lark-task、日程/会议安排lark-calendar、绩效评估"
},
"en-US": {
"shortDesc": "飞书 OKR管理目标与关键结果。查看和编辑 OKR 周期、目标、关键结果、对齐关系、量化指标和进展记录。当用户需要查看或创建 OKR、管理目标和关键结果、查看对齐关系时使用。不负责待办任务管理lark-task、日程/会议安排lark-calendar、绩效评估"
}
}
},
{
"id": "lark-openapi-explorer",
"path": "skills/lark-openapi-explorer",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。"
},
"en-US": {
"shortDesc": "飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。"
}
}
},
{
"id": "lark-shared",
"path": "skills/lark-shared",
"version": "1.1.0",
"i18n": {
"zh-CN": {
"shortDesc": "Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing sco…"
},
"en-US": {
"shortDesc": "Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing sco…"
}
}
},
{
"id": "lark-sheets",
"path": "skills/lark-sheets",
"version": "3.1.8",
"i18n": {
"zh-CN": {
"shortDesc": "飞书电子表格:创建和操作电子表格。支持创建表格、管理工作表与行列结构(增删/合并/调整尺寸/隐藏/冻结)、读写单元格(值/公式/样式/批注/单元格图片)、查找替换、多操作批量更新,以及图表、透视表、条件格式、筛选器、迷你图、浮动图片等对象的创建与维护。当用户需要创建电子表格、管理工作表、批量读写或编辑数据、统计汇总与可…"
},
"en-US": {
"shortDesc": "飞书电子表格:创建和操作电子表格。支持创建表格、管理工作表与行列结构(增删/合并/调整尺寸/隐藏/冻结)、读写单元格(值/公式/样式/批注/单元格图片)、查找替换、多操作批量更新,以及图表、透视表、条件格式、筛选器、迷你图、浮动图片等对象的创建与维护。当用户需要创建电子表格、管理工作表、批量读写或编辑数据、统计汇总与可…"
}
}
},
{
"id": "lark-skill-maker",
"path": "skills/lark-skill-maker",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill包装原子 API 或编排多步流程)时使用。"
},
"en-US": {
"shortDesc": "创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill包装原子 API 或编排多步流程)时使用。"
}
}
},
{
"id": "lark-slides",
"path": "skills/lark-slides",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书幻灯片:创建和编辑幻灯片。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill不要因为域名不是飞书而回退到 WebFetch路由…"
},
"en-US": {
"shortDesc": "飞书幻灯片:创建和编辑幻灯片。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill不要因为域名不是飞书而回退到 WebFetch路由…"
}
}
},
{
"id": "lark-task",
"path": "skills/lark-task",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新…"
},
"en-US": {
"shortDesc": "飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新…"
}
}
},
{
"id": "lark-vc",
"path": "skills/lark-vc",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "仅当用户或上游配置显式指定 lark-vc 时使用,相关请求统一交由 lark-meeting 技能处理。"
},
"en-US": {
"shortDesc": "仅当用户或上游配置显式指定 lark-vc 时使用,相关请求统一交由 lark-meeting 技能处理。"
}
}
},
{
"id": "lark-vc-agent",
"path": "skills/lark-vc-agent",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "仅当用户或上游配置显式指定 lark-vc-agent 时使用,相关请求统一交由 lark-meeting 技能处理。"
},
"en-US": {
"shortDesc": "仅当用户或上游配置显式指定 lark-vc-agent 时使用,相关请求统一交由 lark-meeting 技能处理。"
}
}
},
{
"id": "lark-whiteboard",
"path": "skills/lark-whiteboard",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。"
},
"en-US": {
"shortDesc": "飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。"
}
}
},
{
"id": "lark-wiki",
"path": "skills/lark-wiki",
"version": "1.0.3",
"i18n": {
"zh-CN": {
"shortDesc": "飞书知识库:管理知识空间、空间成员和文档节点。创建和查询知识空间、查看和管理空间成员、管理节点层级结构、在知识库中组织文档和快捷方式。当用户需要在知识库中查找或创建文档、浏览知识空间结构、查看或管理空间成员、移动或复制节点时使用。当用户给出 doubao.com 的 /wiki/ URL/token 时,也应直接使用本…"
},
"en-US": {
"shortDesc": "飞书知识库:管理知识空间、空间成员和文档节点。创建和查询知识空间、查看和管理空间成员、管理节点层级结构、在知识库中组织文档和快捷方式。当用户需要在知识库中查找或创建文档、浏览知识空间结构、查看或管理空间成员、移动或复制节点时使用。当用户给出 doubao.com 的 /wiki/ URL/token 时,也应直接使用本…"
}
}
},
{
"id": "lark-workflow-meeting-summary",
"path": "skills/lark-workflow-meeting-summary",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。"
},
"en-US": {
"shortDesc": "会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。"
}
}
},
{
"id": "lark-workflow-standup-report",
"path": "skills/lark-workflow-standup-report",
"version": "1.0.0",
"i18n": {
"zh-CN": {
"shortDesc": "日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。"
},
"en-US": {
"shortDesc": "日程待办摘要:编排 calendar +agenda 和 task +get-my-tasks生成指定日期的日程与未完成任务摘要。适用于了解今天/明天/本周的安排。"
}
}
}
]
}