{"id":"61e2f048-e1b8-4bc1-a7eb-eb69c7dda3f9","shortId":"rxqspG","kind":"skill","title":"aws-wechat-sticker","tagline":"公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。","description":"# 贴图 / 多图推送\n\n**贴图 / 多图推送一条龙** —— 构思→生图→图片消息群发，九宫格自动排布、多图打包。\n\n> **套件说明** · 本 skill 属 `aws-wechat-article-*` 一条龙套件（共 9 个 slug，入口 `aws-wechat-article-main`）。跨 skill 的相对引用依赖同一 `skills/` 目录，建议一并 `clawhub install` 全套。源码：<https://github.com/aiworkskills/wechat-article-skills>\n\n## 能力披露（Capabilities）\n\n本 skill 编排贴图与多图推送，调用同套件的 `image_create.py`（images）生图；可选调用 `publish.py` 发布。**会把图片 prompt 发给外部图像 API；若走发布路径，会把图片作为 POST body 上传到微信 API。** 具体行为：\n\n- **凭证读取**：`aws.env` 的 `IMAGE_MODEL_API_KEY`；走发布时额外读取 `WECHAT_{N}_APPID` / `WECHAT_{N}_APPSECRET`\n- **凭证外发**：`IMAGE_MODEL_API_KEY` 以 `Authorization: Bearer` 头发送到 `image_model.base_url` 外部端点；`WECHAT_{N}_APPID/APPSECRET` 用于换 `access_token` 后调用微信 API\n- **内容外发**：图片 prompt 发给图像 API；图片文件（PNG/WEBP）发给微信 `material/add_material` / `draft/add`\n- **文件读**：仓库内 `.aws-article/config.yaml`、本篇 `article.yaml`、`imgs/prompts/*.md`\n- **文件写**：本篇 `imgs/*.{png,webp}`、`imgs/outline.md`、`article.yaml` 状态字段\n- **shell**：`python3 {baseDir}/../aws-wechat-article-images/scripts/image_create.py`；可选 `python3 {baseDir}/../aws-wechat-article-publish/scripts/publish.py`\n\n## 配套 skill（informational）\n\n本 skill 属 `aws-wechat-article-*` 一条龙公众号套件的**贴图/多图推送专用分支**（入口 `aws-wechat-article-main`）。工作流中的生图步骤与发布步骤依赖同套件其他 slug 提供的能力。\n\n- **至少需要同时安装** `aws-wechat-article-images`（用于生图）；若要走发布链路，建议再装 `aws-wechat-article-publish`。\n- **套件完整装齐到同一 `skills/` 根目录**时，跨 skill 引用都能读到。\n- **单独安装本 skill** 时，生图/发布相关步骤会在执行阶段遇到缺失文件；本 skill 内的选题规划、图序、风格约定等本地步骤仍可用。\n\n完整 9 slug 清单见 [源码仓库](https://github.com/aiworkskills/wechat-article-skills)。\n\n## 路由\n\n长文图文（标题+正文+插图+后台发文）→ [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)；长文内单篇插图 → [aws-wechat-article-images](../aws-wechat-article-images/SKILL.md)。\n\n创作以图片为主的公众号内容：多张图片 + 每张配文，统一风格。\n\n## 产出目标（先看这个）\n\n- 输入：主题 / 选题卡 / 用户素材图（任选其一）\n- 输出：`imgs/`（outline + prompts + 图片）与可发布的多图内容\n- 风格：整组统一（避免每张图风格漂移）\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n从选题到发布的**前置规则**见 [aws-wechat-article-main/SKILL.md](../aws-wechat-article-main/SKILL.md)；本 skill 描述贴图子流程。\n\n**图片模型**：**`image_model`**（`provider`、`base_url`、`model` 等）在 **`config.yaml`**；**`IMAGE_MODEL_API_KEY`** 在 **`aws.env`**。键名对照 **`{baseDir}/../aws-wechat-article-main/references/env.example.yaml`**（与 **`image_create.py`** 一致）。\n\n**交互约定**：须遵守 main 的**智能体行为约束**——未通过环境校验且未获用户明确「本次例外」时，不得假装已走专用生图 API。\n\n## 脚本目录\n\n**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。\n\n| 脚本 | 路径（相对仓库 `skills/`） | 用途 |\n|------|---------------------------|------|\n| `image_create.py` | `aws-wechat-article-images/scripts/image_create.py` | 专用生图 API：读取 **`.aws-article/config.yaml`** 的 `image_model` + 根目录 **`aws.env`** 的 `IMAGE_MODEL_API_KEY` |\n| `publish.py` | `{baseDir}/../aws-wechat-article-publish/scripts/publish.py` | 发布（与 [publish skill](../aws-wechat-article-publish/SKILL.md) 一致） |\n\n## 工作流\n\n```\n贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布\n```\n\n### 第1步：环境检查 + 本篇约束（合并 YAML）\n\n若本篇在 **`drafts/…/`** 下：按 **`.aws-article/config.yaml` → 本篇 `article.yaml`** 合并读取约束（同键本篇优先，最后层覆盖），重点字段：`multi_image_count`、`tone`、`target_reader`、`custom_sticker_style` > `default_sticker_style`（**须为 YAML 字符串列表**；`custom_*` 非空时优先于 `default_*`；多候选时智能体择一并写回本篇为**单元素列表**）。若无有效 YAML，以用户口述主题 + skill 默认值作为约束。\n\n### 第2步：确定选题\n\ntopics 产出的贴图卡片 / 用户直接给主题 / 用户提供素材图片。\n\n### 第3步：确定风格\n\n**贴图风格加载优先级**：\n1. 用户指定（「用知识卡片风格」）\n2. 本篇合并配置中的 `custom_sticker_style` > `default_sticker_style`（若有；`custom_*` 优先；列表多元素时须先择一）\n3. `.aws-article/presets/sticker-styles/` 下的自定义风格\n4. **fallback**：根据贴图主题自动选择 Type（氛围 or 信息图）× 默认 Style（扁平矢量），使用共享 [image-styles/](../aws-wechat-article-images/references/image-styles/)\n\n全组图统一风格。\n\n### 第4步：规划图序\n\n产出 `imgs/outline.md`：每张图的用途、文案要点、文件名。详见：[references/workflow.md](references/workflow.md)\n\n### 第5步：展示方案并等待确认 ⛔\n\n### 第6步：生成图片\n\n**生成方式（优先级）**：\n\n1. **优先**：调用 **`image_create.py`** — 依赖 **`config.yaml`** 的 **`image_model`** + **`aws.env`** 的 **`IMAGE_MODEL_API_KEY`**\n2. **降级**：当前 Agent 多模态 / 仅出 prompts — 仅当环境未就绪、用户接受 main「本次例外」、或**已按本节下方「调用失败」表格处理**（网络重试后仍失败等）时\n\n**必须告知用户当前使用的方式**：\n\n- 已配置且调用脚本 → `ℹ️ 使用 image_create.py 调用专用生图模型（{model}）`\n- Agent 生图 / 仅 prompts → `ℹ️ 本次未走 image_create.py（原因：…）`\n\n**调用专用 API 时**（在**仓库根**执行，路径按本篇 `imgs/` 调整）：\n\n```bash\npython {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/\n```\n\n单张：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py generate imgs/prompts/01.md -o imgs/01.png`\n\n连通性自检：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py test`\n\n图片内文字与 prompt 构建规则与长文配图一致，见 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 与 [prompt-construction.md](../aws-wechat-article-images/references/image-styles/prompt-construction.md)。\n\n#### `image_create.py` 调用失败时（智能体必选分支）\n\n沿用配图 skill 的同一规则：必须摘要 stderr 关键行，按 **网络 / 配置·凭证 / 业务·参数** 分类处理；**禁止**配置错误时静默降级。细则参照 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 第 6 步「调用失败」表格。\n\n### 第7步：审稿\n\n贴图专用清单：[references/checklist.md](references/checklist.md)\n\n### 第8步：发布\n\n```bash\npython {baseDir}/../aws-wechat-article-publish/scripts/publish.py full article/\n```\n\n## 过程文件\n\n| 读取 | 产出 |\n|------|------|\n| `topic-card.md`（可选）、**`.aws-article/config.yaml` + 本篇 `article.yaml`** | `imgs/`（outline + prompts + 图片） |","tags":["aws","wechat","sticker","article","skills","aiworkskills","agent-skills","ai-skills","ai-writing","chinese-nlp","codex","content-automation"],"capabilities":["skill","source-aiworkskills","skill-aws-wechat-sticker","topic-agent-skills","topic-ai-skills","topic-ai-writing","topic-chinese-nlp","topic-codex","topic-content-automation","topic-content-creation","topic-copywriting","topic-llm","topic-markdown-to-html","topic-openclaw","topic-wechat"],"categories":["wechat-article-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/aiworkskills/wechat-article-skills/aws-wechat-sticker","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add aiworkskills/wechat-article-skills","source_repo":"https://github.com/aiworkskills/wechat-article-skills","install_from":"skills.sh"}},"qualityScore":"0.469","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 39 github stars · SKILL.md body (5,411 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:58:27.610Z","embedding":null,"createdAt":"2026-04-21T19:04:12.254Z","updatedAt":"2026-05-18T18:58:27.610Z","lastSeenAt":"2026-05-18T18:58:27.610Z","tsv":"'/../aws-wechat-article-images/scripts/image_create.py':180,576,584,592 '/../aws-wechat-article-main/references/env.example.yaml':327 '/../aws-wechat-article-publish/scripts/publish.py':184,379,649 '/aiworkskills/wechat-article-skills':91 '/aiworkskills/wechat-article-skills)':245 '/aws-wechat-article-images/references/image-styles':499 '/aws-wechat-article-images/references/image-styles/prompt-construction.md':607 '/aws-wechat-article-images/skill.md':264,604,633 '/aws-wechat-article-main/references/first-time-setup.md':290 '/aws-wechat-article-main/skill.md':257,305 '/aws-wechat-article-publish/skill.md':384 '/config.yaml':164,366,423,660 '/presets/sticker-styles':483 '/scripts/image_create.py':359 '/skill.md':304,603,632 '1':464,517 '2':467,532 '3':479 '4':485 '6':635 '9':70,239 'access':145 'agent':342,535,556 'ai':12 'api':107,113,120,132,148,153,321,340,361,375,530,565 'appid':125 'appid/appsecret':143 'appsecret':128 'articl':37,49,67,77,163,194,202,211,219,255,262,302,357,365,422,482,601,630,651,659 'article.yaml':166,175,425,662 'author':135 'aw':2,35,47,65,75,162,192,200,209,217,253,260,300,355,364,421,481,599,628,658 'aws-articl':161,363,420,480,657 'aws-wechat-articl':64,191 'aws-wechat-article-imag':34,208,259,354,598,627 'aws-wechat-article-main':46,74,199,252,299 'aws-wechat-article-publish':216 'aws-wechat-stick':1 'aws.env':116,324,371,526 'base':313 'basedir':179,183,326,347,378,575,583,591,648 'bash':573,646 'batch':577 'bearer':136 'bodi':111 'capabl':93 'clawhub':85 'config.yaml':318,522 'count':432 'custom':436,445,469,476 'default':439,447,472 'draft':417 'draft/add':158 'drafts/yyyymmdd-slug/imgs':580 'drafts/yyyymmdd-slug/imgs/prompts':578 'fallback':486 'full':650 'generat':585 'github.com':90,244 'github.com/aiworkskills/wechat-article-skills':89 'github.com/aiworkskills/wechat-article-skills)':243 'imag':38,99,118,130,212,263,310,319,358,368,373,431,497,524,528,602,631 'image-styl':496 'image_create.py':98,329,353,520,553,562,608 'image_model.base':138 'img':171,277,571,663 'imgs/01.png':588 'imgs/outline.md':174,504 'imgs/prompts':167 'imgs/prompts/01.md':586 'inform':187 'instal':86 'ip':19 'key':121,133,322,376,531 'main':50,78,203,256,303,333,541 'material/add_material':157 'md':168 'model':119,131,311,315,320,369,374,525,529,555 'multi':430 'n':124,127,142 'o':579,587 'outlin':278,664 'png':172 'png/webp':155 'post':110 'prompt':105,151,279,538,559,595,665 'prompt-construction.md':606 'provid':312 'publish':220,382 'publish.py':102,377 'python':574,582,590,647 'python3':178,182 'reader':435 'references/checklist.md':642,643 'references/workflow.md':509,510 'shell':177 'skill':62,80,82,95,186,189,222,226,229,234,307,351,383,453,612 'skill-aws-wechat-sticker' 'skill.md':345 'slug':72,205,240 'source-aiworkskills' 'stderr':615 'sticker':4,437,440,470,473 'style':438,441,471,474,493,498 'target':434 'test':593 'token':146 'tone':433 'topic':457 'topic-agent-skills' 'topic-ai-skills' 'topic-ai-writing' 'topic-card.md':655 'topic-chinese-nlp' 'topic-codex' 'topic-content-automation' 'topic-content-creation' 'topic-copywriting' 'topic-llm' 'topic-markdown-to-html' 'topic-openclaw' 'topic-wechat' 'type':488 'url':139,314 'webp':173 'wechat':3,36,48,66,76,123,126,141,193,201,210,218,254,261,301,356,600,629 'yaml':392,415,443,451 'ℹ️':551,560 '一条龙公众号套件的':195 '一条龙套件':68 '一致':330,385 '上传到微信':112 '下':418 '下的自定义风格':484 '不写正文发图':30 '不得假装已走专用生图':339 '与':328,381,605 '与可发布的多图内容':281 '专用生图':360 '业务':621 '个':71 '主题':272 '九宫格':6,26 '九宫格自动排布':58 '交互约定':331 '产出':503,654 '产出的贴图卡片':458 '产出目标':269 '仅':558 '仅出':537 '仅当环境未就绪':539 '从创意构思':11 '从选题到发布的':296 '仓库内':160 '仓库根':568 '以':134 '以用户口述主题':452 '任何操作执行前':286 '任选其一':275 '优先':477,518 '优先级':516 '会把图片':104 '会把图片作为':109 '使用':552 '使用共享':495 '依赖':521 '信息图':491 '做一组图':27 '先看这个':270 '入口':73,198 '全套':87 '全组图统一风格':500 '公众号贴图':5 '共':69 '关键行':616 '具体行为':114 '内容外发':149 '内的选题规划':235 '写':40 '凭证':620 '凭证外发':129 '凭证读取':115 '分支':406 '分类处理':623 '列表多元素时须先择一':478 '创作以图片为主的公众号内容':265 '前置规则':297 '单元素列表':449 '单张':581 '单独安装本':228 '原因':563 '参数':622 '发':44 '发几张图':29 '发布':103,380,410,645 '发布相关步骤会在执行阶段遇到缺失文件':232 '发组图':24 '发给图像':152 '发给外部图像':106 '发给微信':156 '只发图不写字':31 '可选':181,656 '可选调用':101 '合并':391,414 '合并读取约束':426 '同键本篇优先':427 '后台发文':251 '后调用微信':147 '含九宫格自动排布':14 '图序':236 '图片':150,280,666 '图片内文字与':594 '图片帖子':28 '图片文件':154 '图片模型':309 '图片消息':8,25 '图片消息群发':57 '在':317,323,567 '外部端点':140 '多候选时智能体择一并写回本篇为':448 '多图压缩':15 '多图打包':59 '多图推送':7,23,52 '多图推送一条龙':54 '多图推送专用分支':197 '多张图片':266 '多模态':536 '头发送到':137 '套件完整装齐到同一':221 '套件说明':60 '字符串列表':444 '完整':238 '审':41 '审稿':408,640 '封面请走':33 '展示方案并等待确认':400,512 '属':63,190 '工作流':386 '工作流中的生图步骤与发布步骤依赖同套件其他':204 '已按本节下方':544 '已配置且调用脚本':550 '建议一并':84 '建议再装':215 '引用都能读到':227 '当前':534 '必须':287 '必须告知用户当前使用的方式':549 '必须摘要':614 '或':543 '或用户明确书面确认':294 '所在目录为':346 '扁平矢量':494 '执行':343,569 '执行其中的':291 '按':288,419,617 '排':42 '描述贴图子流程':308 '提供的能力':206 '插图':250 '整组统一':283 '文件写':169 '文件名':507 '文件读':159 '文案要点':506 '时':224,230,338,548,566 '是文章内配图':32 '智能体必选分支':610 '智能体行为约束':335 '最后层覆盖':428 '未通过环境校验且未获用户明确':336 '本':61,94,188,233,306 '本次不检查':295 '本次例外':337,542 '本次未走':561 '本篇':165,170,424,661 '本篇合并配置中的':468 '本篇约束':390,413 '构建规则与长文配图一致':596 '构思':55 '标题':248 '根据贴图主题自动选择':487 '根目录':223,370 '检测通过后才能进行以下操作':293 '检测顺序':292 '正文':249 '步':636 '每张图的用途':505 '每张配文':267 '氛围':489 '沿用配图':611 '清单见':241 '源码':88 '源码仓库':242 '状态字段':176 '环境检查':389,412 '生图':56,100,231,557 '生图到公众号图片消息发布全流程':13 '生成图片':402,514 '生成方式':515 '用于换':144 '用于生图':213 '用户指定':465 '用户接受':540 '用户提供素材图片':460 '用户直接给主题':459 '用户素材图':274 '用知识卡片风格':466 '用途':352 '的':117,334,367,372,523,527 '的同一规则':613 '的相对引用依赖同一':81 '目录':83 '相对仓库':350 '确定本':344 '确定选题':394,456 '确定风格':396,462 '禁止':624 '第':634 '第1步':388,411 '第2步':393,455 '第3步':395,461 '第4步':397,501 '第5步':399,511 '第6步':401,513 '第7步':407,639 '第8步':409,644 '等':316 '组图打包':16 '细则参照':626 '统一风格':268 '编排贴图与多图推送':96 '网络':618 '网络重试后仍失败等':547 '能力披露':92 '脚本':348 '脚本失败时':403 '脚本目录':341 '自媒体':18 '至少需要同时安装':207 '若无有效':450 '若有':475 '若本篇在':416 '若要走发布链路':214 '若走发布路径':108 '表情包':9 '表格':638 '表格处理':546 '见':298,597 '见同节':404 '规划图序':398,502 '触发词':21 '详见':508 '请走':45 '读取':362,653 '调整':572 '调用':519 '调用专用':564 '调用专用生图模型':554 '调用同套件的':97 '调用失败':405,545,637 '调用失败时':609 '账号':20 '贴图':22,51,53,196 '贴图与多图推送':10 '贴图专用清单':641 '贴图进度':387 '贴图风格加载优先级':463 '走发布时额外读取':122 '跨':79,225 '路径':349 '路径按本篇':570 '路由':246 '输入':271 '输出':276 '过程文件':652 '连通性自检':589 '选题卡':273 '避免每张图风格漂移':284 '配图':43 '配套':185 '配置':619 '配置检查':285 '配置错误时静默降级':625 '重点字段':429 '键名对照':325 '长文内单篇插图':258 '长文图文':247 '降级':533 '需要多环节串联':39 '非空时优先于':446 '面向公众号运营':17 '须为':442 '须遵守':332 '风格':282 '风格约定等本地步骤仍可用':237 '首次引导':289 '默认':492 '默认值作为约束':454","prices":[{"id":"97beeff3-6dce-4ed6-8230-358f8d9b61f5","listingId":"61e2f048-e1b8-4bc1-a7eb-eb69c7dda3f9","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"aiworkskills","category":"wechat-article-skills","install_from":"skills.sh"},"createdAt":"2026-04-21T19:04:12.254Z"}],"sources":[{"listingId":"61e2f048-e1b8-4bc1-a7eb-eb69c7dda3f9","source":"github","sourceId":"aiworkskills/wechat-article-skills/aws-wechat-sticker","sourceUrl":"https://github.com/aiworkskills/wechat-article-skills/tree/main/skills/aws-wechat-sticker","isPrimary":false,"firstSeenAt":"2026-04-21T19:04:12.254Z","lastSeenAt":"2026-05-18T18:58:27.610Z"}],"details":{"listingId":"61e2f048-e1b8-4bc1-a7eb-eb69c7dda3f9","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"aiworkskills","slug":"aws-wechat-sticker","github":{"repo":"aiworkskills/wechat-article-skills","stars":39,"topics":["agent-skills","ai-skills","ai-writing","chinese-nlp","codex","content-automation","content-creation","copywriting","llm","markdown-to-html","openclaw","wechat","wechat-api","wechat-official-account"],"license":"apache-2.0","html_url":"https://github.com/aiworkskills/wechat-article-skills","pushed_at":"2026-05-06T01:47:51Z","description":"微信公众号 AI 运营助手 | 选题、写稿、审稿、排版、配图、发布全流程 Skill，支持 OpenClaw / Claude Code / Cursor / Codex","skill_md_sha":"eed07742ba5dba510d3835c7108c5edecaa2b3ec","skill_md_path":"skills/aws-wechat-sticker/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/aiworkskills/wechat-article-skills/tree/main/skills/aws-wechat-sticker"},"layout":"multi","source":"github","category":"wechat-article-skills","frontmatter":{"name":"aws-wechat-sticker","description":"公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。"},"skills_sh_url":"https://skills.sh/aiworkskills/wechat-article-skills/aws-wechat-sticker"},"updatedAt":"2026-05-18T18:58:27.610Z"}}